Jump to content

Wasp! - 7800 homebrew with a twist


97 replies to this topic

#1  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 4:10 PM

Find attached my first homebrew called Wasp! for the Atari 7800 :-

Attached File  Wasp_02_04_09_1.01.a78   32.13K   231 downloadsAttached File  Wasp_02_04_09_1.01.bin   32K   164 downloadsbin]
Now for the twist ;) . Its actually written in "C" using the CC65 development system :cool: . Yes... I know its April Fools Day :roll: . 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 :-
Attached Image: Wasp00.gif Attached Image: Wasp01.gif
Attached Image: wasp02.gifAttached Image: Wasp03.gif

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 by GroovyBee, Wed Apr 1, 2009 7:09 PM.


#2  

    Silvery Robot Thing

  • 10,398 posts
  • Joined: 19-October 01
  • Go Cardinals!
  • Location:Winter Haven, FL

Posted Wed Apr 1, 2009 4:11 PM

View PostGroovyBee, on Wed Apr 1, 2009 5:10 PM, said:

Any comments or suggestions?
Only that I like where this could lead... Good work!

#3  

    Quadrunner

  • 12,372 posts
  • Joined: 03-October 04

Posted Wed Apr 1, 2009 4:24 PM

OMG This game is great! I love it!

#4  

    River Patroller

  • 3,978 posts
  • Joined: 04-April 07
  • Location:Michigan

Posted Wed Apr 1, 2009 4:28 PM

Looks cool! I cant seem to run it on the emulator I use though :(

#5  

    Stargunner

  • 1,855 posts
  • Joined: 25-April 01
  • Location:Atlanta, GA

Posted Wed Apr 1, 2009 4:39 PM

Hi there,

View PostGregory DG, on Wed Apr 1, 2009 6:11 PM, said:

Only that I like where this could lead... Good work!
I agree! Nice work combining C and ASM.

#6  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 4:41 PM

View PostWickeycolumbus, on Wed Apr 1, 2009 11:28 PM, said:

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.

#7  

    River Patroller

  • 3,978 posts
  • Joined: 04-April 07
  • Location:Michigan

Posted Wed Apr 1, 2009 4:45 PM

View PostGroovyBee, on Wed Apr 1, 2009 5:41 PM, said:

View PostWickeycolumbus, on Wed Apr 1, 2009 11:28 PM, said:

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 :(

#8  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 4:47 PM

View PostWickeycolumbus, on Wed Apr 1, 2009 11:45 PM, said:

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 :(.

#9  

    Quadrunner

  • 27,071 posts
  • Joined: 23-January 01
  • Location:NGC 224

Posted Wed Apr 1, 2009 5:12 PM

View PostGroovyBee, on Wed Apr 1, 2009 4:41 PM, said:

View PostWickeycolumbus, on Wed Apr 1, 2009 11:28 PM, said:

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

#10  

    River Patroller

  • 4,142 posts
  • Joined: 11-June 01
  • Location:Wallingford, CT

Posted Wed Apr 1, 2009 5:13 PM

It doesn't work on the real thing. :(

Allan

#11  

    River Patroller

  • 3,978 posts
  • Joined: 04-April 07
  • Location:Michigan

Posted Wed Apr 1, 2009 5:14 PM

View PostAllan, on Wed Apr 1, 2009 6:13 PM, said:

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 by Wickeycolumbus, Wed Apr 1, 2009 5:15 PM.


#12  

    River Patroller

  • 4,142 posts
  • Joined: 11-June 01
  • Location:Wallingford, CT

Posted Wed Apr 1, 2009 5:15 PM

View PostWickeycolumbus, on Wed Apr 1, 2009 7:14 PM, said:

View PostAllan, on Wed Apr 1, 2009 6:13 PM, said:

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

#13  

    River Patroller

  • 3,978 posts
  • Joined: 04-April 07
  • Location:Michigan

Posted Wed Apr 1, 2009 5:20 PM

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 :ponder:

#14  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 5:21 PM

View PostWickeycolumbus, on Thu Apr 2, 2009 12:14 AM, said:

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?

#15  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 5:23 PM

View PostWickeycolumbus, on Thu Apr 2, 2009 12:20 AM, said:

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 :ponder:

Only the top 4K is hashed for speed. Should I change this?

#16  

    River Patroller

  • 3,978 posts
  • Joined: 04-April 07
  • Location:Michigan

Posted Wed Apr 1, 2009 5:38 PM

View PostGroovyBee, on Wed Apr 1, 2009 6:23 PM, said:

View PostWickeycolumbus, on Thu Apr 2, 2009 12:20 AM, said:

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 :ponder:

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 :)

#17  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 6:01 PM

View PostWickeycolumbus, on Thu Apr 2, 2009 12:38 AM, said:

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 ;).

View PostWickeycolumbus, on Thu Apr 2, 2009 12:38 AM, said:

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 :lol: .

#18  

    Quadrunner

  • 5,691 posts
  • Joined: 22-April 01
  • 7800 Guy
  • Location:Southern California, USA

Posted Wed Apr 1, 2009 6:16 PM

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

#19  

    Quadrunner

  • 27,071 posts
  • Joined: 23-January 01
  • Location:NGC 224

Posted Wed Apr 1, 2009 6:21 PM

View PostMitch, on Wed Apr 1, 2009 6:16 PM, said:

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

#20  

    River Patroller

  • 2,215 posts
  • Joined: 15-January 05
  • just a geek with some old black plastic
  • Location:oakland, ca

Posted Wed Apr 1, 2009 6:24 PM

Did not work with my Cuttle Cart 2. Also a huge Robotron fan panting with anticipation.

#21  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 6:25 PM

View PostMitch, on Thu Apr 2, 2009 1:16 AM, said:

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.

#22  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 6:30 PM

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.

#23  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 6:32 PM

View PostAlbert, on Thu Apr 2, 2009 1:21 AM, said:

View PostMitch, on Wed Apr 1, 2009 6:16 PM, said:

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.

#24  

    7800 Developer

  • 5,391 posts
  • Joined: 20-November 08
  • Busy bee!
  • Location:North, England

Posted Wed Apr 1, 2009 7:16 PM

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.

#25  

    Stargunner

  • 1,050 posts
  • Joined: 06-February 04
  • Moldova does it again.

Posted Wed Apr 1, 2009 7:16 PM

This demo looks like one could make Gremlins for 7800 based on this game.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users