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 - Recreating the SMS disk drive

Reply to topic
Author Message
  • Joined: 21 Apr 2019
  • Posts: 80
Reply with quote
Recreating the SMS disk drive
Post Posted: Thu Jun 20, 2019 2:11 am
There were plans for an SMS disk drive, which were canned, so, I had an idea for a while now to recreate the SMS disk drive. It would probably be an easy to wire up a 3.5" FDD drive to an SMS, of course, with a raspi and some pin connectors.
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 270
Reply with quote
Post Posted: Thu Jun 20, 2019 2:44 am
Depends on how you set it up. Its complex from my findings, but you probably could get it done with a PI.
  View user's profile Send private message
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14683
  • Location: London
Reply with quote
Post Posted: Thu Jun 20, 2019 6:43 am
At which point why bother with floppy disks? We can imagine it would be very similar to the SF-7000 technically, but that would mean slow disk loads instead of instant bank switching and thus a worse experience than ROMs.
  View user's profile Send private message Visit poster's website
  • Joined: 21 Apr 2019
  • Posts: 80
Reply with quote
Post Posted: Thu Jun 20, 2019 1:24 pm
I think it would be an interesting project.
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 270
Reply with quote
Post Posted: Thu Jun 20, 2019 3:41 pm
sure, but there isn't much of a benefit for a disk drive on the SMS. Unless you made a sort of DOS for it.
  View user's profile Send private message
  • Joined: 26 Dec 2004
  • Posts: 374
  • Location: Japan
Reply with quote
Post Posted: Thu Jun 20, 2019 11:24 pm
Essentially, there already is a disk drive for the SMS, and it's named the Everdrive. Put that into a large case under the SMS and you've achieved your goal.
  View user's profile Send private message Visit poster's website
  • Joined: 21 Apr 2019
  • Posts: 80
Reply with quote
Post Posted: Fri Jun 21, 2019 12:04 am
I'd consider the disk drive a project rather than something practical.
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Fri Jun 21, 2019 2:21 am
I imagine that, as long as you are doing it just for the "hack value", it should be doable.

Very rougly speaking, you would need the drive itself, some "glue" hardware to connect it to the SMS, a BIOS and some extra RAM.

Perhaps you could use the MSX hardware as a starting point, since its parts are very similar to the ones used on the SMS.
  View user's profile Send private message Visit poster's website
  • Joined: 08 Sep 2018
  • Posts: 270
Reply with quote
Post Posted: Fri Jun 21, 2019 4:17 am
Yeah you could create a 48k cache ram cart and have some logic read for bank swaps, have a bios catch/interpret that, call, and load the appropriate data into each slot. Will probably need to find a way to hold or pause the SMS until drive bios is done writing ram slots, it would not be very fast at all either. All that is assuming you have enough IO since you still need IO for the drive itself... a PI may not have enough for both the RAM Cart, Bank Swap Interpreter Logic, and FDD. I guess you could use a sort of latch system controlled by bios that just swaps the IO bus over from FDD to RAM Cart and back.
Thinking about it... thats so much glue logic and programming.
  View user's profile Send private message
  • Joined: 24 Sep 2013
  • Posts: 141
Reply with quote
Post Posted: Fri Jun 21, 2019 10:09 am
The simplest way would be IO/Memory mapping the drive commands and then using DMA for the data transfers by stealing the bus via BUSREQ/BUSACK pins (are them available for use?) Optionally signaling command completion via interrupt (NMI is whoefully underused)

Regarding interfacing a disk drive itself, it is surprisingly hard to do. PC floppy drives are *very* dumb, so you wod need to do MFM encoding/decoding yourself within very tight time restrictions.

"Easiest" way would need an FPGA or microcontroller Voodoo
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14683
  • Location: London
Reply with quote
Post Posted: Fri Jun 21, 2019 2:18 pm
The floppy disk controller chip in the SF-7000 seems to make it quite easy. I suspect it would be tough to do on the Z80.
  View user's profile Send private message Visit poster's website
  • Joined: 24 Sep 2013
  • Posts: 141
Reply with quote
Post Posted: Fri Jun 21, 2019 2:36 pm
Maxim wrote
The floppy disk controller chip in the SF-7000 seems to make it quite easy. I suspect it would be tough to do on the Z80.


Do you have a datasheet, schematics or both?
  View user's profile Send private message Visit poster's website
  • Joined: 08 Sep 2018
  • Posts: 270
Reply with quote
Post Posted: Fri Jun 21, 2019 3:30 pm
I was assuming since he was using a Pi that he would just make an FDD driver in the bios.
I assumed the features of the bios would be:

Read for bank swap request
Pause/hold System
Swap I/O bus
Write Bank to Slot X
Read From Disk
FDD Driver.

Of course the easiest way to do this would be to on start up dump the entire contents of a disk onto the Pi's RAM and just have bios load it into the cache buffer from ram on request so theres no drive seek time during the execution of a program. Also the I/O bus would not have to be swapped every time a bank needs to be swapped out since data will come from Pi RAM rather than the disk itself.
  View user's profile Send private message
  • Joined: 21 Apr 2019
  • Posts: 80
Reply with quote
Post Posted: Fri Jun 21, 2019 5:03 pm
Basically, the disk drive sends data to the Pi RAM, and the SMS reads from the Pi RAM.
  View user's profile Send private message
  • Joined: 08 Sep 2018
  • Posts: 270
Reply with quote
Post Posted: Fri Jun 21, 2019 5:11 pm
The SMS will not be able to read from Pi RAM. The cache RAM is a very important feature of the drive structure.
  View user's profile Send private message
  • Joined: 25 Feb 2006
  • Posts: 863
  • Location: Belo Horizonte, MG, Brazil
Reply with quote
Post Posted: Sat Jun 22, 2019 2:37 pm
Here are some links with electronics-level descriptions of a floppy drive interface that may (or may not) help with such an project:

http://quantumnet.wikidot.com/interfacing-a-floppy-drive

http://www.g-photo.net/projects/wd_fdc/wd_fdc.htm

http://etutorials.org/Misc/pc+hardware/Chapter+6.+Floppy+Disk+Drives/6.3+FDD+Int...

http://www.smbaker.com/z80-retrocomputing-part-14-rc2014-floppy-controller-board...

https://hackaday.io/project/20185-arduino-raw-data-35-floppy-reader
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 19 Oct 1999
  • Posts: 14683
  • Location: London
Reply with quote
Post Posted: Sat Jun 22, 2019 4:34 pm
NeonMan wrote
Maxim wrote
The floppy disk controller chip in the SF-7000 seems to make it quite easy. I suspect it would be tough to do on the Z80.


Do you have a datasheet, schematics or both?


http://www.cpcwiki.eu/index.php/765_FDC is pretty comprehensive.
  View user's profile Send private message Visit poster's website
  • Joined: 21 Apr 2019
  • Posts: 80
Reply with quote
Post Posted: Sat Feb 29, 2020 9:45 pm
I apologize for resurrecting a dead thread, but the way I see it, the Pi could read data from the FDD, and copy it over to a cache RAM chip. Now that I think about it, this could be done with an Arduino..
  View user's profile Send private message
Reply to topic



Back to the top of this page

Back to SMS Power!