SU2000 - Documentation and Emulation Status

Hardware
function status comments links
ASC486
ASC486
front back
Info ~90% most stuff known.
i80486DX 33 MHz, 4 MB SIMM, 128 kB cache etc.
details
Emulation ~0% well... I currently use DOSBOX as Host-Emulator.
 
TODO: actually emulate the host ()with real bios etc.)
SVGA
Hualon Microelectronics SVGA
front back
Info ~25% Hualon Microelectronics
SVGA Rev 2.01
BIOS Rev 2.08
256kB RAM
basic VGA Adapter
Tried several other VGA cards, all work the same.
details
Emulation ~0% well... I currently use DOSBOX as VGA-Emulator.
 
TODO: actually emulate a VGA card.
FORMAT C
FORMAT C
front back
Info
(CONTROL)
~50% memory layout partially done, ports and registers mostly unknown.
i think i know the volume registers now.
board revisions C and D in possession.
can read/write most stuff available in ETS.
 
TODO: figure out the pinout
details
techdoc OTTO
techdoc ODIE
Emulation
(CONTROL)
~50% enough to keep ETS happy.
 
TODO: fool around with real unit connected to FORMAT-D.
TODO: hook up some fake controls :)
Info
(SOUND)
~25% The sound part actually is an old Ensoniq Soundscape (S-1000).
Known comsumer hardware (with equal hardware) are SPEA Media FX and Reveal SC - 600
Most registers known (thanks to OSS/ALSA sources and TechRef)
All games I got use the same Firmware :)
 
TODO: get a documentation for the MITSUMI cd-rom interface.
TODO: figure out firmware commands.
TODO: try to understand onboard wiring.
Emulation
(SOUND)
~30% card (sound & cd) gets detected and initialised by ETS.
DMA transfers working, IRQs should too but somehow don't seem to do anything.
 
TODO: emulate the onboard 68000 (to run real firmware)
TODO: let something be heard!
TODO: make the mitsumi interface read images and/or real discs.
FORMAT D
FORMAT D
Info ~0% the box "inside" the cabinet.
didn't even take a look yet.
details
Emulation ~0% TODO: create a "clickable" window.
NETWORK
Compex ReadyLINK ENET16/V
front back
Info ~50% COMPEX ReadyLINK ENET16/V
 
jumpered to "wdplus" mode (WD80x3 compatible)
most WD80x3-registers (lower 16 registers) observed from real unit. *nix driver WD looked promising though WDPLUS mode looks like a dumb card.
card behaves like a 8390 (higher 16 registers). based on various sources (mostly *nix drivers NE and NE2) most of the registers are known.
ETS-packets have been captured and analyzed.
 
TODO: capture packets from other software (as soon as other hardware works)
details
techdoc 8390
packet dumps
Emulation ~80% card gets detected and initialised by ETS.
card is able to send and receive packets in ETS
can interface read/write to real network via NDIS
 
TODO: bulletproof the ring buffer.
TODO: test larger packets (>256 bytes).
TRACKER
Polhemus Insidetrak
front back
Info ~50% Polhemus InsideTrak
Got the technical manual
details
manual
techdoc tms320c2x
Emulation ~25% card gets detected and initialised by ETS.
 
TODO: hook up some fake inputs
TODO: emulate the onboard cpu (to run real firmware)
TODO: think of some way to hook up real hardware (VR920 / Wiimote / TrackIR)
VID 1000
VID 1000
front back
Info ~10% figured out some jumpers (yeah!)
 
TODO: check the hardware itself.
details
Emulation ~10% card gets detected by ETS.
I understand how text and simple geometry is drawn (on the BROADCAST port)
 
TODO: understand what ETS is doing
TODO: hook up two windows (to display output data)
PIX 1000
PIX 1000
front back
Info ~10% Dual MC88110 CPU
Each game comes with independent firmware for both CPUs.
 
TODO: check the hardware itself.
details
technical 88110
Emulation ~10% card gets detected ETS.
 
TODO: figure out something
file formats
format status comments links
.vst
bitmaps / fonts
100% those are actually tga files!
16bit color depth use 4bit per channel.

32bit

 

16bit

.tex
textures
50% i am able to decode them, but there are still many "unknown" bits left to do.
.wav
sounds
100% most of them are 8bit 22050Hz mono longp.wav dactloop.wav
various
ping pong
Downloads techdoc SU2000
ETS Broadcasts :)
-------------------------------------------------------------------------------------------
Write 2 bytes to 0320 (BCST) - 001F : {maybe clear screen?}
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0001 : (bits: channel 1 only)
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0000 :
Read 1 bytes from 0300 (PIX1) - CF : Ï
-------------------------------------------------------------------------------------------
Write 2 bytes to 0320 (BCST) - 001C : {open screen?}
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0001 :
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 02BE : ¾ {x702}
Write 2 bytes to 0320 (BCST) - 0240 : @ {y576}
Read 1 bytes from 0300 (PIX1) - CF : Ï
-------------------------------------------------------------------------------------------
Write 2 bytes to 0320 (BCST) - 0022 : " {write text}
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0001 : (bits: channel 1 only)
Write 2 bytes to 0320 (BCST) - 0016 :
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 00C0 : À

Write 2 bytes to 0320 (BCST) - 0000 : {00}
Write 2 bytes to 0320 (BCST) - FFFF : ÿÿ {FFFF -> gelb #FFFF00}
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0000 :

Write 2 bytes to 0320 (BCST) - 0029 : ) {41 - x10 (31 offset)}
Write 2 bytes to 0320 (BCST) - 0030 : 0 {48 - y3 (45 offset)}
Write 2 bytes to 0320 (BCST) - 000C : {12 - length}
Write 2 bytes to 0320 (BCST) - 5445 : TE {big endian text ... "ETS 01.30.05"}
Write 2 bytes to 0320 (BCST) - 2053 : S
Write 2 bytes to 0320 (BCST) - 3130 : 10
Write 2 bytes to 0320 (BCST) - 332E : 3.
Write 2 bytes to 0320 (BCST) - 2E30 : .0
Write 2 bytes to 0320 (BCST) - 3530 : 50
Read 1 bytes from 0300 (PIX1) - CF : Ï
-------------------------------------------------------------------------------------------
Write 2 bytes to 0320 (BCST) - 0022 : "
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0001 : (bits: channel 1 only)
Write 2 bytes to 0320 (BCST) - 0016 :
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 00C0 : À

Write 2 bytes to 0320 (BCST) - 0000 : (00)
Write 2 bytes to 0320 (BCST) - FFFF : ÿÿ (FFFF - #FFFF00 - yellow)
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0000 :

Write 2 bytes to 0320 (BCST) - 011B : {283 x252 (31 offset)}
Write 2 bytes to 0320 (BCST) - 0030 : 0 {48 y3 (45 offset)}
Write 2 bytes to 0320 (BCST) - 0011 : {17 - length}
Write 2 bytes to 0320 (BCST) - 504F : PO
Write 2 bytes to 0320 (BCST) - 4E45 : NE
Write 2 bytes to 0320 (BCST) - 4E49 : NI
Write 2 bytes to 0320 (BCST) - 2047 : G
Write 2 bytes to 0320 (BCST) - 494C : IL
Write 2 bytes to 0320 (BCST) - 5242 : RB
Write 2 bytes to 0320 (BCST) - 5241 : RA
Write 2 bytes to 0320 (BCST) - 4549 : EI
Write 2 bytes to 0320 (BCST) - 0053 : S
Read 1 bytes from 0300 (PIX1) - CF : Ï
-------------------------------------------------------------------------------------------
Write 2 bytes to 0320 (BCST) - 0022 : "
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0001 : (bits: channel 1 only)
Write 2 bytes to 0320 (BCST) - 0016 :
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 00C0 : À

Write 2 bytes to 0320 (BCST) - 00FF : ÿ {FF}
Write 2 bytes to 0320 (BCST) - FF54 : ÿT {FF54 -> cyan #54FFFF}
Write 2 bytes to 0320 (BCST) - 0000 :
Write 2 bytes to 0320 (BCST) - 0000 :

Write 2 bytes to 0320 (BCST) - 012F : / {303 x272 (31 offset)}
Write 2 bytes to 0320 (BCST) - 0200 : {512 y467 (45 offset)}
Write 2 bytes to 0320 (BCST) - 0003 : {3 - length}
Write 2 bytes to 0320 (BCST) - 5345 : SE
Write 2 bytes to 0320 (BCST) - 0043 : C
Read 1 bytes from 0300 (PIX1) - CF : Ï