GroovyBee Posted April 1, 2009 Share Posted April 1, 2009 (edited) Find attached my first homebrew called Wasp! for the Atari 7800 :- Wasp_02_04_09_1.01.a78Wasp_02_04_09_1.01.bin Now for the twist . Its actually written in "C" using the CC65 development system . Yes... I know its April Fools Day . I've no idea if it runs at an acceptable speed on a real machine but it works fine in the 7800's ProSystem emulator (v1.3). If somebody with a CC2 could test it for me that would be good. The game doesn't use any bank switching scheme or need any additional RAM. To play the game you collect the mushrooms and avoid the wasps. Apologies in advance for the "programmer graphics". LOL! Some screen shots :- I'm not sure where to go with this if it runs at an acceptable speed on the real hardware. Ideally I'd like to see more homebrew development on the 7800. The game's engine is good for platformers, maze games and the like. Basically anything thats tile and/or sprite based. The core engine is written in 6502 assembler because thats where the speed is required. This allows "C" to be used to control the logic, structure and flow of the game. Alongside the "C" runtime I've developed a command line tool that will extract sprite bitmaps from *.bmp files and convert them into assembler text files. The bitmaps just have to be 256 colours. Only the first 13 (160B) or 25 colours (160A) are used in the conversion process. Any comments or suggestions? Edited April 2, 2009 by GroovyBee 1 1 Quote Link to comment Share on other sites More sharing options...
Gregory DG Posted April 1, 2009 Share Posted April 1, 2009 Any comments or suggestions? Only that I like where this could lead... Good work! Quote Link to comment Share on other sites More sharing options...
Shawn Posted April 1, 2009 Share Posted April 1, 2009 OMG This game is great! I love it! Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 1, 2009 Share Posted April 1, 2009 Looks cool! I cant seem to run it on the emulator I use though Quote Link to comment Share on other sites More sharing options...
DEBRO Posted April 1, 2009 Share Posted April 1, 2009 Hi there, Only that I like where this could lead... Good work! I agree! Nice work combining C and ASM. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 1, 2009 Author Share Posted April 1, 2009 Looks cool! I cant seem to run it on the emulator I use though Which emulator is that? I have the latest version of MESS but it complains about "7800.u7 NOT FOUND". Thats not the most helpful error message in the world . Maybe thats just a setup problem tho. Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 1, 2009 Share Posted April 1, 2009 Looks cool! I cant seem to run it on the emulator I use though Which emulator is that? I have the latest version of MESS but it complains about "7800.u7 NOT FOUND". Thats not the most helpful error message in the world . Maybe thats just a setup problem tho. The emulator I use is rather outdated (v7800 release 12), but it is the only one I can get working on my mac. I could never get MESS to work for some reason Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 1, 2009 Author Share Posted April 1, 2009 The emulator I use is rather outdated (v7800 release 12), but it is the only one I can get working on my mac. I could never get MESS to work for some reason I don't have a mac, so can't help you there . Quote Link to comment Share on other sites More sharing options...
Albert Posted April 1, 2009 Share Posted April 1, 2009 Looks cool! I cant seem to run it on the emulator I use though Which emulator is that? I have the latest version of MESS but it complains about "7800.u7 NOT FOUND". Thats not the most helpful error message in the world . Maybe thats just a setup problem tho. That makes two of us--what a mess, so to speak. Someone needs to write a proper OS X GUI around SDLMESS. I'll have to try this on real hardware later--looks quite interesting! ..Al Quote Link to comment Share on other sites More sharing options...
+Allan Posted April 1, 2009 Share Posted April 1, 2009 It doesn't work on the real thing. Allan Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 1, 2009 Share Posted April 1, 2009 (edited) It doesn't work on the real thing. Allan It must not be signed. That may also be the reason it does not work with v7800. GroovyBee, have you been signing the ROMs? Edited April 1, 2009 by Wickeycolumbus Quote Link to comment Share on other sites More sharing options...
+Allan Posted April 1, 2009 Share Posted April 1, 2009 It doesn't work on the real thing. Allan It must not be signed. That may also be the reason it does not work with v7800. GroovyBee, have you been signing the ROMs? I tried 78quick. Allan Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 1, 2009 Share Posted April 1, 2009 I tested the .bin file for a signature using sign7800 and it says: Read $8000 bytes of cartridge data. Cartridge reset vector points outside hashed area! Maybe the code takes up more than 32K Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 1, 2009 Author Share Posted April 1, 2009 GroovyBee, have you been signing the ROMs? I've run a78sign.exe on the *.a78 file. The *.bin file hasn't been signed. Is there an app to sign *.bins? Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 1, 2009 Author Share Posted April 1, 2009 I tested the .bin file for a signature using sign7800 and it says: Read $8000 bytes of cartridge data. Cartridge reset vector points outside hashed area! Maybe the code takes up more than 32K Only the top 4K is hashed for speed. Should I change this? Quote Link to comment Share on other sites More sharing options...
Wickeycolumbus Posted April 1, 2009 Share Posted April 1, 2009 I tested the .bin file for a signature using sign7800 and it says: Read $8000 bytes of cartridge data. Cartridge reset vector points outside hashed area! Maybe the code takes up more than 32K Only the top 4K is hashed for speed. Should I change this? That should be fine. I think the problem is that part of your code is in the encryption area. $FF7A-$FFF9 should be reserved for encryption. a78sign should work fine for signing binaries. The command line is: a78sign -f game.a78 Also make sure that your vectors point to the right place: NMI: rti IRQ: rti org $FFF8 .byte $FF .byte $87 .word #NMI .word #START;start of code .word #IRQ I hope you can get it to work Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 2, 2009 Author Share Posted April 2, 2009 That should be fine. I think the problem is that part of your code is in the encryption area. $FF7A-$FFF9 should be reserved for encryption. a78sign should work fine for signing binaries. The command line is: a78sign -f game.a78 Check! Thats how I'm signing the *.a78 file. Theres nothing in the binary between $FF7A and $FFF9. Its also reserved by the linker. I've just double checked for sanity sake . Also make sure that your vectors point to the right place: NMI: rti IRQ: rti org $FFF8 .byte $FF .byte $87 .word #NMI .word #START;start of code .word #IRQ I hope you can get it to work Check! Sorta! I've run the ROM image (*.bin) through an 6502 core emulator and it gets to the reset code OK. I'm also using NMI for colour effects and they work OK in the emulator too. The only difference is that I've used $F7 instead of $87. This means that only the top 4K is hashed for signing purposes. I'll change mine to match yours and repost the binary. If that doesn't work then I'll be working on a RAM cart for my system. Probably with a USB download/upload interface. Oh the joys of retro gaming. I wouldn't have it any other way . Quote Link to comment Share on other sites More sharing options...
+Mitch Posted April 2, 2009 Share Posted April 2, 2009 The A78 file is signed, the BIN is not. The easiest way to have the BIN signed is to remove the header from the A78 file. As Allan mentioned it does not work on a real system which is unrelated to the signing issue. I see that you are in the UK, is this a PAL game? I played it in ProSystem and it seems like a fun game with a bit of Robotronish feel to it. Mitch Quote Link to comment Share on other sites More sharing options...
Albert Posted April 2, 2009 Share Posted April 2, 2009 I played it in ProSystem and it seems like a fun game with a bit of Robotronish feel to it. This is why I'm curious--I'm a huge Robotron fan. That second screenshot looks like the level transition animation from Robotron. ..Al Quote Link to comment Share on other sites More sharing options...
phaxda Posted April 2, 2009 Share Posted April 2, 2009 Did not work with my Cuttle Cart 2. Also a huge Robotron fan panting with anticipation. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 2, 2009 Author Share Posted April 2, 2009 The A78 file is signed, the BIN is not. The easiest way to have the BIN signed is to remove the header from the A78 file.As Allan mentioned it does not work on a real system which is unrelated to the signing issue. I see that you are in the UK, is this a PAL game? I played it in ProSystem and it seems like a fun game with a bit of Robotronish feel to it. Mitch The game is NTSC only at the moment. It uses the NTSC palette and is set to be NTSC in the A78 header also. When I get my dev system up and running on real hardware I'll make a PAL/NTSC version too. When its fully implemented in the engine code it should adjust the DLL automatically. Its then up to the game writer to set the palette. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 2, 2009 Author Share Posted April 2, 2009 Alas its not Robotron. You just collect mushrooms and you can't fire at the wasps. It was just a tech demo that uses everything in the "C" graphics/game library I've written. If the game runs fast enough on real hardware I plan to make some more games with it. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 2, 2009 Author Share Posted April 2, 2009 I played it in ProSystem and it seems like a fun game with a bit of Robotronish feel to it. This is why I'm curious--I'm a huge Robotron fan. That second screenshot looks like the level transition animation from Robotron. ..Al I liked that effect too. I was just after a brief and colourful intermission before the next wave of wasps. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted April 2, 2009 Author Share Posted April 2, 2009 Updated the *.bin file in my original post to be signed as well (at Mitch's suggestion of removing the A78 header). Which is the easiest cart to modify into a RAM cartridge? I have a few duplicates in my collection. A cart with the most address lines available (for soldering wires onto) would be ideal. Quote Link to comment Share on other sites More sharing options...
Bakasama Posted April 2, 2009 Share Posted April 2, 2009 This demo looks like one could make Gremlins for 7800 based on this game. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.