recipes/sms: update README

This commit is contained in:
Virgil Dupras 2019-07-02 16:31:16 -04:00
parent ade9b96d14
commit 8cc5bbb110

View File

@ -12,27 +12,43 @@ platform and this is where most of my information comes from.
This platform is tight on RAM. It has 8k of it. However, if you have extra RAM, This platform is tight on RAM. It has 8k of it. However, if you have extra RAM,
you can put it on your cartridge. you can put it on your cartridge.
## Status ## Gathering parts
I'm experimenting. Collapse OS doesn't run on the SMS yet. There are two main * [zasm][zasm]
challenges to solve: interfacing a keyboard through its I/O system (should be * A Sega Master System or a MegaDrive (Genesis). (I have only tested on a
feasible. from what I read in the I/O specs, it's very well done and adaptable) MegaDrive so far)
and interface with its VDP (Video Display Processor). * A Megadrive D-pad controller.
* A way to get an arbitrary ROM to run on the SMS. Either through a writable
ROM card or an [Everdrive][everdrive].
After that, I'll look into using the explansion slot so that I can reuse the ## Build the ROM
RC2014 bus to, for example, access SD cards.
Running `make` will produce a `os.sms` ROM that can be put as is on a SD card
to the everdrive or flashed as is on a writable ROM cart. Then, just run the
thing!
## Usage ## Usage
The binary produced by the Makefile here has been tested on a Genesis + On boot, you will get a regular Collapse OS shell. See the rest of the
[Everdrive MD][everdrive] (I haven't built myself a writable cartridge yet). documentation for shell usage instructions.
It is an adaptation of Maxim's (from SMS power) hello world. I converted it to The particularity here is that, unlike with the RC2014, we don't access Collapse
ZASM. It shows a letter in the range of "a" to "i" depending of which button on OS through a serial link. Our input is a D-Pad and our output is a TV. The
controller A is pressed (only detects one button at once). All buttons of the screen is 32x28 characters. A bit tight, but usable.
genesis controller are supported. Shows "i" when no button is pressed.
I've also added the mandatory "TMR SEGA" header at the end of the binary. D-Pad is used as follow:
* There's always an active cursor. On boot, it shows "a".
* Up/Down increase/decrease the value of the cursor.
* Left/Right does the same, by increments of 5.
* A button is backspace.
* B button skips cursor to next "class" (number, lowcase, upcase, symbols).
* C button "enters" cursor character and advance the cursor by one.
* Start button is like pressing Return.
Of course, that's not a fun way to enter text, but using the D-Pad is the
easiest way to get started. I'm working on a PS/2 keyboard adapter for the SMS.
[smspower]: http://www.smspower.org [smspower]: http://www.smspower.org
[everdrive]: https://krikzz.com [everdrive]: https://krikzz.com
[zasm]: ../../tools/emul