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 :

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

Darcnes

MasterGear

Meka

http://www.mess.org/   http://www.progettoemma.net/mess/

http://www.stickfreaks.com/sc3000h.php

http://www.sc-3000.com/

http://segaretro.org/

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.