SEGA Computer sc3000 + sf7000
This page contains technical informations on the Sega SC3000 computer equipped with the SF7000 extension
It has been done for people who want to extend the capacity of their emulator (SG-1000 only or SC-3000) to support SC-3000 / SF-7000.
I've worked on Darcnes to make it supporting SC3000 + SF7000. See snapshots at the end of this page, and you will see that it works (since november 2000) !
INTRODUCTION
The SC3000 is the computer version of the SG1000 including a keyboard and a serial printer interface.
The SF7000 is an extension for the SC3000 including :
64 kb RAM and 8 kb ROM for boot
Floppy disk drive 3"
Centronics parallel port
RS232 Serial port
You can take a look at : http://homepages.ihug.co.nz/~pinwhiz/sc3000.htm
HARDWARE
Memory Map
The SF-7000 is equipped with a 64kb RAM and a 8kb ROM for the IPL (Initial Program Loader).
The memory map for the SF-7000, either on power-on or during execution of system utility program, is as shown in fig (a) where the IPL is ready for its execution.
At the SF-7000 startup, the system programs (e.g. Disk Basic) are loaded onto RAM starting from the address 0, then after the load has completed, the adress 0 thru 3FFF is switched to RAM and the execution is passed to the starting address of a user program.
The interchange between ROM and RAM in the adress range 0 thru 3FFF is handled by the P.P.I. PC6 Signal (SF-7000 Port Map).
Port Map SC-3000
P.P.I. (8255)
Port Address
&hDC
&hDD
&hDE
&hDF
Mode
PA : Input
PB : Input
PC : Output
Control register
Assignment
Keyboard (input)
Keyboard (input)/printer, cassette
Keyboard scan/printer, cassette
VDP (TMS 9918A)
Port Address
&hBE
&hBF
Assignment
VDP data register
VDP command register
PSG (SN 76489)
Port Address
&h7F
Assignment
PSG
Port Map SF-7000
P.P.I. (8255A)
Port Address
&hE4
&hE5
&hE6
&hE7
Mode
PA : Input
PB : Input
PC : Output
Control register
Assignment
FDC/printer check
Printer data output (parallel)
FDC/printer control
FDC (765AC)
Port Address
&hE0
&hE1
Assignment
Status register
Data register
USART (8251)
Port Address
&hE8
&hE9
Assignment
USARTD (data)
USARTC (command)
PPI Functional Table
P.P.I. (SC-3000)
PA0
to
PA7
PB0
to
PB3
PB4
PB5
PB6
PB7
PC0
to
PC2
PC3
PC4
PC5
PC6
PC7
Keyboard input
Keyboard input
/CONT (to the external terminal B-11)
FAULT (serial printer SP-400)
BUSY (serial printer SP-400)
Cassette tapes input
Keyboard raster (output)
N.C.
Cassette tapes output
Data
/RESET (serial printer SP-400)
/FEED (serial printer SP-400)
P.P.I. (SF-7000)
PA0
PA1
PA2
PB0
PB1
PB2
PB3
PB4
PB5
PB6
PB7
PC0
PC1
PC2
PC3
PC4
PC5
PC6
PC7
FDC INT : INT signal from input from FDC
BUSY from Centronics printer
Pin 17 of the FDC ?
Data outputs to Centronics printer
/INUSE signal to FDD
/MOTOR ON signal to FDD
TC signal to FDD
RESET signal to FDC
N.C.
N.C.
/RON SEL:Switching between IPL ROM and RAM
/STROBE to Centronics printer
CONNECTORS
DISKS FORMAT
The surface of each disks is divided into 40 tracks numbered from 0 to 39 counting from the outer-most track.
The surface is further divided into 16 equi-angular sectors, and the cross section of a sector and a track is simply called a "sector". Sectors are numbered from 1 thru 16 and each sector can contain 256 bytes of data. Note that a track consists of 16 sectors.
Also a group of 4 sectors is called a cluster which is the unit utilised in file management.
Thus, since one surface of a disk holds 40 tracks each consisting of 16 x 256-byte sectors, the total amount of data recordable on one disk side is :
256 bytes x 16 sectors x 40 tracks = 163 840 bytes
Since a space must be reserved on each side of one disk for file management purposes, the user available space is diminished by the amound of that space.
The available space is further diminished in disks such as system disk that already contains some system programs (e.g. DISK BASIC).
Disk Structure :
( *1, *2 depend on the volume of system programs)
A system disk contains the filename IPL in the first sector on track 0, which is loaded on a disk system boot into memory with the address starting from FF00 up to FFFF.
Sectors 1 thru 12 of track 20 contains the directory and so does 13 thru 16 contain the FAT (File Allocation Table, a table containing location and order of files), each occupying 160 bytes. In fact only sector 13 is utilized for storage of the FAT.
The Disk Capacity :
The Directory :
The directory is contained in sectors 1 thru 12 on track 20.
Example of Track N°20, Sector N°1:
* The number of the first group of cluster in which the file is contained.
Attributes :
The FAT :
Files are managed under units of clusters the total number of which is 160 (0 thru 159) on one side of a diskette. The FAT records the usage of each cluster on the side of the diskette. The FAT is 160-bytes long and is contained in sector 13 on track 20, the remaining 96 bytes of the sector being unused.
Meaning of each byte datum in the FAT :
System Disks :
At system disk startup, the loader first loads the content of the first sector on truck 0 into memory in the adress range FF00 thru FFFF, then checks the first 4 bytes starting from adress FF00. It then displays onto the screen the filename immediately following the first 4 bytes, and jumps to the IPL program from the adress FF20.
Thus if you want to create a system disk, the first thing you have to do is to save the system disk id code, the filename, and the IPL program onto the first sector on truck 0 of the disk.
IPL Program on disk (referencial example)
DISK BASIC COMMANDS, STATEMENTS AND FUNCTIONS
[ ] means an optional parameter
In bold are the minimum to known if you want to run a program ;-)
Commands List
Statements List
Functions List
DOWNLOAD
Downloading the SF7000 IPL ROM of 8kb.
Downloading the SEGA BASIC SYSTEMDISK.
Downloading KAMIKAZE IMAGE DISK (Loriciels game)- Fixed for SF7000 (Original on tape for SC3000)
Downloading CROCKY IMAGE DISK (Loriciels game) - Does not work, needs to be fixed. (Original on tape).
Downloading POSEIDON WARS/SPACEPANIC DISK (Z80 games done by myself).
Downloading Z80 STUFFS INCLUDING THE MONITOR DESSASSEMBLER (Loriciels - original on tape).
To run The Monitor/Desassembler type : LOADM "MO-D808.HEX" then CALL &HD808
Downloading TOOL TO DRAW PICTURES + DATA PICTURES (done by myself).
Downloading DATA PICTURES (done by myself and others).
Downloading Some progs from the book '102 Progs For Yeno'.
Downloading Some progs from the book 'Super Jeux Yeno'.
Downloading Games_1.
Downloading Games_2.
Downloading Board games.
Downloading Olympiades.
Downloading Educational games.
Downloading Graphics.
Downloading Musics.
Downloading Electricity utility.
HOW TO TRANSFER SF7000 DISKS
I used a basic program on the SC3000 to transfer disk on the serial port. On the other side (Amiga) I obtain an ascii file with a terminal utility. This one must be converted to an image disk before use with an emulator.
Downloading the Basic program to transfer disk on serial port of the sf7000.
Downloading the C source to convert ascii file transfered to a bin file (image of the disk).
Note: You will have to type the basic program on the sc3000. You will have to compile the c source to obtain the exe.
SOME SNAPSOTS WITH THE VERSION OF DARCNES I'VE MODIFIED
Sega basic demos :
Kamikaze :
Poseidon Wars :
Space Panic :
LINKS
http://www.mess.org/ http://www.progettoemma.net/mess/
http://www.stickfreaks.com/sc3000h.php
https://archive.org/details/sg_1000_library
SF7000 documentation retranscripted by Marc Le Douarain - Last update : 8 December 2013.
SC3000, SF7000 are (still?) coyrighted by SEGA.