Mirror of CollapseOS
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

README.md 2.4KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # Sega Master System
  2. The Sega Master System was a popular gaming console running on z80. It has a
  3. simple, solid design and, most interestingly of all, its even more popular
  4. successor, the Megadrive (Genesis) had a z80 system for compatibility!
  5. This makes this platform *very* scavenge-friendly and worth working on.
  6. [SMS Power][smspower] is an awesome technical resource to develop for this
  7. platform and this is where most of my information comes from.
  8. This platform is tight on RAM. It has 8k of it. However, if you have extra RAM,
  9. you can put it on your cartridge.
  10. ## Related recipes
  11. This recipe is for installing a minimal Collapse OS system on the SMS. There
  12. are other recipes related to the SMS:
  13. * [Interfacing a PS/2 keyboard](kbd/README.md)
  14. ## Gathering parts
  15. * [zasm][zasm]
  16. * A Sega Master System or a MegaDrive (Genesis). (I have only tested on a
  17. MegaDrive so far)
  18. * A Megadrive D-pad controller.
  19. * A way to get an arbitrary ROM to run on the SMS. Either through a writable
  20. ROM card or an [Everdrive][everdrive].
  21. ## Build the ROM
  22. Running `make` will produce a `os.sms` ROM that can be put as is on a SD card
  23. to the everdrive or flashed as is on a writable ROM cart. Then, just run the
  24. thing!
  25. ## Usage
  26. On boot, you will get a regular Collapse OS BASIC shell. See the rest of the
  27. documentation for shell usage instructions.
  28. The particularity here is that, unlike with the RC2014, we don't access Collapse
  29. OS through a serial link. Our input is a D-Pad and our output is a TV. The
  30. screen is 32x28 characters. A bit tight, but usable.
  31. D-Pad is used as follow:
  32. * There's always an active cursor. On boot, it shows "a".
  33. * Up/Down increase/decrease the value of the cursor.
  34. * Left/Right does the same, by increments of 5.
  35. * A button is backspace.
  36. * B button skips cursor to next "class" (number, lowcase, upcase, symbols).
  37. * C button "enters" cursor character and advance the cursor by one.
  38. * Start button is like pressing Return.
  39. Of course, that's not a fun way to enter text, but using the D-Pad is the
  40. easiest way to get started which doesn't require soldering. Your next step after
  41. that would be to [build a PS/2 keyboard adapter!](kbd/README.md)
  42. ## Slow initialization in emulation
  43. When running under the emulator, video initialization is slow, it takes several
  44. seconds. It's the emulator's fault. On real hardware, it's not as slow.
  45. [smspower]: http://www.smspower.org
  46. [everdrive]: https://krikzz.com
  47. [zasm]: ../../tools/emul