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.primenet.com/~nickb/atariprg.htm http://www.novia.net/~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@ic.net 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@tbaytel.net http://www.tbaytel.net/macbeth -- Robin Harbron robinh@arkanixlabs.com http://www.tbaytel.net/macbeth