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
Request for help - documenting the SF-7000Posted: Sun Mar 21, 2021 5:26 am
I am documenting the SF-7000. The interesting thing is that it's made only of off-the-shelf (for their time) parts, no custom ICs. I know that for the sake of emulation what is needed is already understood, but it'd be nice to completely document it.
I attach my progress so far. I based my schematic on the following sources
Original SF 7000 schematic, 1/3 pages available
SF 7000 pictures
SF-7000 user's manual
Enri's cart schematic
The official schematic is illegible in several parts, however by tracing the pcb pictures I identified most of the gates.
Unluckily many of the vias end under an IC, so it is not possible to reconstruct other parts of the schematic.
Is there anyone with more information / willing to probe the sf-7000 with a tester / willing to do it together (I live in Osaka)?
Findings so far:
1)PA2 _is_ index. This is missing the the SF-7000 user manual, but hinted in meka's source code (it has a question mark) and verified from the pcb photos.
2)The chip select for the FDC,8255,8251 is derived only from addresses A2,A3,A4.
The IO/R IO/W reported in the original schematic must be a function of A5,A6,A7 as well, otherwise there would be confilict between the SC-3000 internal PPI for addresses $C0 to $DF.
3)There are physically many gates (IC14,IC15,IC16,IC17,IC21,IC23,IC25,IC26) whose purpose is not clear. Some are clearly aimed at multiplexing the address lines (ram takes 8 bit column and row addresses, while the address bus is 16 lines) and a gate must be used to invert the rom enable output of the 8255, but there are way more ICS then one would expect for those 2 functions.
||Posted: Sun Mar 21, 2021 8:46 am|
|If you didn’t already see it, I made a disassembly some years ago of the IPL: https://github.com/maxim-zhao/smsbioses/tree/master/SF-7000%20IPL which heavily depended on the FDC documentation from a clone controller.|
||Posted: Sun Mar 21, 2021 9:27 am|
|Thank you, yes, I saw that awesome disassembly :) It confirmed the PA2 and it made the datasheet much easier to understand|
||Posted: Wed Mar 24, 2021 7:19 am|
Two more findings:
4) There was a post some time ago which asked whether the SF-7000 is compatible with the SG-1000+SK1100. The answer seems to be no. The whole address space $C0-$FF is taken by the keyboard/the joysticks depending on the joy/sel line. The keyboard does not receive A5, therefore it cannot leave the $E0-$FF addresses to the SF-7000. Reads over that range would lead in both devices (keyboard and sf-7000) trying to write on the bus.
5) meka forces a NMI when writing to port E6 (line 300 of ioports.cpp). When this is removed, the IPL fails. However, that appears to be physically impossible,as NMI is not present on the cartridge connector
||Posted: Wed Mar 24, 2021 1:05 pm|
|I obtained a prototype SF-7000 some type ago. I forgot if the IC/board were identical but I'm pretty sure the BIOS was on an EPROM with a <1.0 version number. Will let you know when I pull more info or a dump from it.|
||Posted: Thu Apr 29, 2021 3:01 pm|
6) PC3 on the SC-3000's 8255 at some point was probably intended to be a "tape motor" signal. It is disconnected on the real hardware, but both the standard basic and disk basic set it when the tape motor should spin (load/save and cload/csave, respectively) and clear it when the motor should stop.