Jump to content



2

Wasp! - 7800 homebrew with a twist


97 replies to this topic

#1 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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   242 downloadsAttached File  Wasp_02_04_09_1.01.bin   32K   174 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 :-
Wasp00.gif Wasp01.gif
wasp02.gif 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 Gregory DG OFFLINE  

Gregory DG

    Silvery Robot Thing

  • 10,430 posts
  • 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 Shawn Sr. OFFLINE  

Shawn Sr.

    Anti-Keyboard Warrior

  • 12,486 posts

Posted Wed Apr 1, 2009 4:24 PM

OMG This game is great! I love it!

#4 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,063 posts
  • 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 DEBRO OFFLINE  

DEBRO

    Stargunner

  • 1,862 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,063 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 Albert OFFLINE  

Albert

    Quadrunner

  • 27,238 posts
  • 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 Allan OFFLINE  

Allan

    River Patroller

  • 4,245 posts
  • Location:Wallingford, CT

Posted Wed Apr 1, 2009 5:13 PM

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

Allan

#11 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,063 posts
  • 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 Allan OFFLINE  

Allan

    River Patroller

  • 4,245 posts
  • 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 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,063 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,063 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 Mitch OFFLINE  

Mitch

    Quadrunner

  • 5,768 posts
  • 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 Albert OFFLINE  

Albert

    Quadrunner

  • 27,238 posts
  • 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 phaxda OFFLINE  

phaxda

    River Patroller

  • 2,233 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 GroovyBee OFFLINE  

GroovyBee

    7800 Developer

  • 5,780 posts
  • 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 Bakasama ONLINE  

Bakasama

    Stargunner

  • 1,098 posts
  • 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