Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - BASIC Level III running on the Sega Master System with FM stereo expansion and SC-3000H keyboard

Reply to topic
Author Message
  • Joined: 03 Dec 2010
  • Posts: 45
  • Location: Cambridge, UK
Reply with quote
BASIC Level III running on the Sega Master System with FM stereo expansion and SC-3000H keyboard
Post Posted: Mon Dec 23, 2013 1:16 am
I've made a set of three videos showing my FM stereo expansion and BASIC Level III running on my Master System with an SC-3000H used for its keyboard so I thought I'd share them here.

This one shows the Master System running in mode 4, using short machine code routines that write to VDP registers and to CRAM locations.



This one shows the Master System writing to the FM chip from BASIC.



This one, made before the keyboard interface was finished, shows the FM stereo expansion working with Casino Games.

  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14687
  • Location: London
Reply with quote
Post Posted: Mon Dec 23, 2013 10:02 am
That's great, but I can't help wondering if a microcontroller could act as a USB host for a keyboard and then either talk to, or pretend to be, the PPI chip. It seems a shame to have the poor SC-3000 sitting there like that :)
  View user's profile Send private message Visit poster's website
  • Joined: 26 Dec 2004
  • Posts: 374
  • Location: Japan
Reply with quote
Post Posted: Tue Dec 24, 2013 12:51 am
A cool enhancement! And you certainly are thorough! :-D
  View user's profile Send private message Visit poster's website
  • Joined: 03 Dec 2010
  • Posts: 45
  • Location: Cambridge, UK
Reply with quote
Post Posted: Tue Dec 24, 2013 9:18 am
Maxim wrote
That's great, but I can't help wondering if a microcontroller could act as a USB host for a keyboard and then either talk to, or pretend to be, the PPI chip. It seems a shame to have the poor SC-3000 sitting there like that :)


Originally the SC-3000H had a 40 pin IC socket where the PPI chip had been, so that it could be put back in and normal functionality restored. However there were problems getting the ribbon cable to connect to the IC socket and so I soldered it directly to the PPI solder pads.

I've wanted to do this project for years, ever since I learned about BASIC Level III on the SC-3000 and bought my own SC-3000Hes. It was one of those ideas, simple in concept, which should work in theory without any problems, but took quite a lot of work in practice to implement.

What I have really wanted ever since I bought my Master System was to be able to program it in BASIC in a native Mode 4 BASIC with language support for Mode 4 features. This isn't that, of course.

I've had an idea to modify Sinclair (ZX Spectrum 48K) BASIC for the Master System, and connect a Spectrum keyboard to the SMS instead of an SC-3000 keyboard. This can be done much more simply and doesn't require an 8255 PPI; three of the four joystick lines which can be configured as outputs can be used to drive a 74LS145 directly, and that can be used for the 8 rows of the ZX Spectrum keyboard. The 5 columns can be read directly from the remaining input lines of one of the joystick ports.

Spectrum BASIC only occupies 16K, and so with a bit of rewriting for the Master System hardware, doing away with any commands that rely on a bitmap screen, and putting tile mode screen routines in their place, I think a pretty useable native mode 4 BASIC for the Master System could be done.
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14687
  • Location: London
Reply with quote
Post Posted: Tue Dec 24, 2013 10:21 am
I think in theory you can multiplex whatever number of data lines you need into the SMS's joypad inputs.

Wouldn't you want to go with a flavour of BBC BASIC rather than the Speccy variant? Or am I being elitist? :)
  View user's profile Send private message Visit poster's website
  • Joined: 03 Dec 2010
  • Posts: 45
  • Location: Cambridge, UK
Reply with quote
Post Posted: Tue Dec 24, 2013 11:55 am
Maxim wrote
I think in theory you can multiplex whatever number of data lines you need into the SMS's joypad inputs.

Wouldn't you want to go with a flavour of BBC BASIC rather than the Speccy variant? Or am I being elitist? :)


Well, I for one don't regard the BBC as a superior machine at all. No question, BBC BASIC is faster. But it's a 6502 BASIC. I know Sinclair BASIC, it has been disassembled and commented extensively, so I can go right in and remove the commands I don't need, modify the commands that need changing and add any new ones I like. I'm going to keep the Spectrum's attribute system, except of course instead of being one attribute byte for each 8 byte 8*8 pixel square, it will be one attribute byte for each 1 byte name table entry. Instead of INK, PAPER, BORDER, BRIGHT and FLASH it will have things like PALETTE, FLIPH, FLIPV and PRIORITY. I haven't decided how I'll handle the 9th bit for the name table entries yet. Probably as another attribute command.
  View user's profile Send private message Visit poster's website
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Tue Dec 24, 2013 12:43 pm
Sounds like a fun project!
  View user's profile Send private message Visit poster's website
  • Joined: 08 Dec 2013
  • Posts: 200
Reply with quote
Post Posted: Tue Dec 24, 2013 1:47 pm
You could perhaps talk to the author of Emulicious to see if he would be interested in adding SC-3000 keyboard support for the SMS to his emulator so we could test this stuff in emulation.
  View user's profile Send private message Visit poster's website
  • Joined: 24 Oct 2008
  • Posts: 36
Reply with quote
Post Posted: Tue Mar 11, 2014 12:43 pm
Thank you! Thank you!

It seems that you really implemented my "dream device"
Take a look at this link below:

http://www.msx.org/forum/msx-talk/hardware/strange-frankestein-hardware-turn-sms...

are you using something, like an sd-card, that could be used to emulate some kind of "disk" system inside this Basic Level III?

If I'm correct, it would be easy to port TONS of MSX1 games to that.
Like Knightmare

  View user's profile Send private message
  • Joined: 24 Oct 2008
  • Posts: 36
Reply with quote
Post Posted: Tue Mar 11, 2014 7:47 pm
...and, here's the post @ this forum:

http://www.smspower.org/forums/viewtopic.php?p=54635&highlight=frankestein#5...
  View user's profile Send private message
  • Joined: 03 Dec 2010
  • Posts: 45
  • Location: Cambridge, UK
Reply with quote
Post Posted: Fri Apr 04, 2014 6:19 pm
Hello Muffie,

Currently it uses a modified game cartridge I built, or a Tototek flash cartridge, for 32K BASIC Level III ROM and 16K RAM. That plus 8K RAM in the machine makes for 24K RAM in BASIC. That's somewhere between the 18K of BASIC Level IIIA and the 32K of BASIC Level IIIB. I modified BASIC Level III to detect 24K RAM and to configure the Tototek mapper.

The Tototek flash cartridge can run images up to 512K or possibly 1024K. For storage I've saved BASIC programs using the SC-3000H cassette interface, which is a function of the 8255 PPI (as well as the keyboard). If I had a Sega SF-7000 disk drive it could be possibly be adapted to work with that.

Richard
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!