[stella] C64->SC - first release!

Subject: [stella] C64->SC - first release!
From: Robin Harbron <macbeth@xxxxxxxxxxxxxxxxxxx>
Date: Sun, 16 Nov 1997 02:33:15 -0500
Well, I got stalled for a bit with other projects,
but finally got around to sprucing this up a bit,
and writing some minimal documentation.  I've included
the full release in a .lnx file - a very common
archive format for the C64.  Star Commander, a great
PC program, can handle these well.  Check out:
http://ludens.elte.hu/~sta/sc.html
for the scoop on that, and PC<->C64 file transfers
in general.

Here's the docs in full, they may be slightly interesting
to all here.  Sorry about the 40 column formatting, but
that's what I spend most of my weekends staring at.  Be
thankful I didn't it format it to the Atari's ?6? column
screen! :)

I hope this utility will get at least a few more people
into our circles here, possibly eager to enter the
contest as well.

------------------------------------------------------------
Playbin25 - released 971116
by Robin Harbron aka Macbeth/PSW

A tool to transfer binaries from the
Commodore 64 to the Atari 2600, using
the Arcadia/Starpath Supercharger.

The Supercharger is an oversized
Atari 2600 cartridge, that contains
6K of RAM, and has a cable that
allows you to attach it to a cassette
deck so you can load games from tape
into your A2600.  Instead, you can
now hook your C64 up to your
Supercharger.  Playbin will turn a
binary in your C64 into audio that
the Supercharger will then interpret.
This allows you to develop your own
A2600 games, right on your C64, with
the Supercharger being the ONLY
special piece of equipment.

There are 5 files in this package:

- docs
This documentation, obviously :)

- playbin25.0c00 (decimal 3072)
- playbin25.c000 (decimal 52224)
The actual player.  Just load the
appropriate version, and SYS it.  It
is preconfigured to play the 4K
binary located at $1000 (4096).

- example.o
A wee little example program I made.
Just load this file:
LOAD "EXAMPLE.O",8,1
and then load one of the playbins,
and sys 3072 or 52224, and this
example will be played out into your
A2600.

- example.s
The source code of the above file.
This gives an idea of what A2600 code
looks like - it also shows how to set
up your assembler to assemble and
play your code all at once.


Some things to note:

The Supercharger has a 1/8" jack on
it, which cannot be plugged directly
into your C64.  My solution to this
is to take a small personal stereo -
I hooked an extension cable (female
RCA plug) onto the white jack from my
monitor cable, and plugged it into
the "CD/LINE IN" jack on my stereo.
Then I simply plugged my Supercharger
into the headphone jack on my stereo,
switched on the whole system, and
turned the volume to just below half
way.  If you're having problems with
playing the binary into the A2600,
try fiddling with the volume control
on your stereo.

If you're trying to use A2600 binary
files that you get from the Internet,
or a PC/Mac/Amiga user, they won't
load directly into your C64.  The C64
wrongly interprets the first two bytes
of the file as the load address -
these two bytes are then lost, and
whole rest of the file is shifted two
bytes lower in memory than it should
be.  My solution to this is to use a
ML monitor, such as the one in Super
Snapshot.  In the monitor, I type:
L "BLAH.BIN",8,1002
While loading, it reports the
original load address (which is
really just the first two bytes on
the .bin file).  Commonly it will say
something like
D878
So, just type
M 1000
in and edit the first two bytes you
see there to:
78 D8
as they are in low/high byte order.
Then just save the file out, like:
SS "@:BLAH.BIN",8,1000,2000

I'll try and make a program in the
next release of Playbin that will
make this easier.  Alternatively, use
Mike Gordillo (XmikeX)'s front-end
for my program.  It's located at
ftp://ftp.eskimo.com/u/t/tpinfo
/C64/Tools/Development/play2600v.02

If you want to configure this
program, here are the addresses of
the various parameters.  All 16 bit
values are stored in low/high byte
order, and the addresses of the
parameters are shown as offsets from
the loading address of Playbin.

- $0b/0c (11/12)
The start of the binary.  Defaults to
$1000 (4096)

- $0d/0e (13/14)
The end of the binary.  Defaults to
$1fff (8191)

- $0f/10 (15/16)
The beginning of the buffer.  This is
a temporary storage area, needed by
playbin as it precalculates much of
the sound.  This space should be at
least 512 bytes longer than the
actual binary.  Defaults to $3000
(12288)

- $13/14 (19/20)
The address that the Supercharger is
told to start executing at.  The
default is $0000, which means that
Playbin will try to automatically
detect the starting address, by
reading the 3rd and 4th last bytes of
the binary.  Alternatively, you can
put your own starting address in
here, to override the .bin's.

- $15 (21)
The Supercharger bank configuration
byte.  This tells the Supercharger
how to arrange it's 6K of RAM and 2K
of ROM.  See some Supercharger
documenation for the breakdown of
this byte.  The default is for 2K/4K
ROM emulation - $1D.

- $17 (23)
This is only used if you are making
part of a Supercharger multi-load
game.  The default is 0.

- $1D (29)
Tells Playbin what size of .bin file
you're working with.
0 = 2K
1 = 4K <- Default.
2 = 6K
Note:  If you are trying to load a 2K
.bin, you may have to double the file
and send it as a 4K - for example,
instead of just loading the 2K from
$1800-$1FFF, also load the same 2K at
$1000-$17FF.


For more information on A2600 and
Supercharger coding, check out:

http://www.primetnet.com/(tilde)nickb
/atariprg.htm

http://www.novia.net/(tilde)rcolbert
/super.htm

The other cool links on those
pages...

The Stella mailing list - subscribe
at:
http://www.biglist.com/lists/stella
/stella.html


Need a Supercharger?
I bought mine from an ultra cool,
reliable guy (I'm a happy customer)
named Dan Mowczan.  Get ahold of him:
dano@xxxxxx
Dan Mowczan
30235 Kelsey Dr.
Warren, MI 48092
I was surprised at how little he
charged, and I got my SC very quickly
- it was brand new, still shrink
wrapped!  He had some other cool,
brand new A2600, Colecovision and C64
carts too, so ask him about those if
you're interested.


Still to come:
An integrated Playbin Macro
Assembler!  Elwix/Style will be
modifying Style's version of Turbo
Macro Pro (TMP) to assemble and
directly play the binary out - a
complete development tool, that will
run completely on a stock C64.  This
is the same assembler that I used to
develop Frogs & Flies 64 (featured on
Loadstar #161).


Thanks to:
Bob Colbert, Eckhard Stolberg, Glenn
Saunders, Greg Troutman, Nick
Bensema, the rest of the Stella guys,
Elwix/Style, XmikeX, and Jesus - my
reason for being.


Greets to:
Carla & Rianna, Shroom/PSW, Fuzz/PSW,
Fungus/CCS, NataS/CCS and anyone else
that might play with this.


Check out these cool C64 businesses:
http://www.arkanixlabs.com/
http://www.loadstar.com/
http://www.cmdweb.com/


Get ahold of me at:
macbeth@xxxxxxxxxxx
http://www.tbaytel.net/macbeth
-- 
Robin Harbron   robinh@xxxxxxxxxxxxxxx
    http://www.tbaytel.net/macbeth

Attachment: playbin.lnx
Description: Binary data

Current Thread