[stella] SC demo unit bootstrap code

Subject: [stella] SC demo unit bootstrap code
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 22 Jul 1999 17:57:59 +0200
Lee was kind enough to send me a sample of the bootstrap code
for the Supercharger demo unit. I converted it into a binary and
had a look at the code. From what I can see, loading though the
joystick port works like this:

The 'right' line of the right joystick port is used for output
to the demo unit. The 'left', 'up', 'down' an 'button' lines
of this port are used for input. A state change on the output
line triggers the demo unit to send the next halfbyte. The
high nibble gets send before the low nibble. The demo unit seems
to need at least 12 6507 processor cycles to prepare the next
nibble to be send. I think that pulling the output line low and
then setting it high again imediately triggers the demo unit to
switch to the next 8kb ROM load.

The loading code seems to load 65 bytes at a time. 64 of those bytes
get stored back to front into SC-RAM. One bit in the 65th byte seems
to make the loading code branch into a test routine that gets executed
after each 64 byte load anyway. I don't know why it does this. The
test code branches into the VSYNC routine if nessessary, since the
loading code seems to try to make sure that no frame gets dropped
during loading time.

The bootstrap code only prepares to load one 64 bytes block which
then has to hold data to tell the loading code where to load what
block next. Therefore I'm not sure what happens after this block has
been loaded, but I think that the loading code stays intact and
gets called to load the other 8kb ROM banks too. This would mean that
it would be possible to replace the loading code with some code that
does normal SC tape loads. If the 8kb ROM banks can be converted
into a SC tape format, running the demo from a tape should be possible.

Note to Glenn: Would it be alright if I'd post the commented bootstrap
code here and would anyone want to see it?

Note to Kevin: With you knowledge of the hardware of the SC demo unit,
does anything I said above make sense to you? Do you think it would
be possible to convert the 8kb ROM banks inside the demo unit into
the SC tape format and have you already put the binaries up on your
webpage?


Thanks, Eckhard Stolberg



--
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/

Current Thread