recipes/sms: update README
This commit is contained in:
parent
ade9b96d14
commit
8cc5bbb110
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user