From 62efb13d14b2ccd1e5fc542cf46199c88f5af519 Mon Sep 17 00:00:00 2001 From: kub <derkub@gmail.com> Date: Wed, 5 Feb 2025 22:32:28 +0100 Subject: [PATCH] update readme for kbd+tape --- README.md | 23 +++++++++++++++++++++++ platform/libretro/libretro.c | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 233daa3e..98fc54d1 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,29 @@ if the pen is used on the storyware or pad. Details about how to correctly name the pages can be found in the *How to run Sega Pico games* section in `platform/base_readme.txt`. +### Sega Pico and SC-3000 Keyboards + +PicoDrive provides support for the Pico and SC-3000 keyboards. This can be +enabled in the `Controls` configuration menu. Once enabled, keyboard input may +be activated via the `Keyboard` emulator hotkey. + +Both physical keyboard support and a virtual keyboard overlay are available. +Physical keyboards are assigned a default key mapping corresponding to an +American PC layout, but the mapping can be redefined in the `Controls` +configuration menu. Note that only 'unmodified' physical key presses can be +mapped to emulated keyboard input; special characters entered via 'shift' +key combinations may not match the emulated keyboard layout. + +### Sega SC-3000 Cassette Drive + +In addition to keyboard support, PicoDrive emulates the SC-3000 cassette tape +drive which may be used in conjunction with BASIC cartridges. Tape emulation +includes an automatic start/stop feature, where the tape is only advanced when +it is accessed by the SC-3000; manual pausing of the tape is unnecessary for +multi-part loading or saving. + +PicoDrive supports tape files in `WAV` and `bitstream` format. + ### Gallery Some images of demos and homebrew software: diff --git a/platform/libretro/libretro.c b/platform/libretro/libretro.c index 82fae8a9..a6f2bf6f 100644 --- a/platform/libretro/libretro.c +++ b/platform/libretro/libretro.c @@ -1683,7 +1683,7 @@ void *retro_get_memory_data(unsigned type) if ((PicoIn.AHW & PAHW_MCD) && Pico.romsize == 0 && !(PicoIn.opt & POPT_EN_MCD_RAMCART)) data = Pico_mcd->bram; - else + else // TODO: handle copying to/from bram somewhere data = Pico.sv.data; break; case RETRO_MEMORY_SYSTEM_RAM: -- 2.39.5