Jump to content
IGNORED

Wasp! - 7800 homebrew with a twist


GroovyBee

Recommended Posts

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

post-21935-1238621934_thumb.png post-21935-1238621942_thumb.png

post-21935-1238622052_thumb.pngpost-21935-1238622100_thumb.png

 

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
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...