Jump to content
mariuszw

New game released: Gunfright

Recommended Posts

Hello all,

 

Here is my next game for Atari 8-bit: Gunfright! Game was written by Ultimate Play The Game and released in 1985 for ZX Spectrum, with later ports for MSX and Amstrad CPC. Now it comes to 6502-based machines: Atari 8bit and simulataneously for CBM machines as well.

 

Atari 8-bit features great music from Saul Cross, and color overlays and loading screen prepared by Jose Pereira.

 

Game requires 64KB RAM machine to play. It works on both PAL and NTSC systems. It also supports CPU-upgraded Ataris properly. I haven't had a chance to play it on real Atari, I hope it will work fine though.

 

For those finding game too difficult to play, a trainer is included. Try pressing various keys on title screen (or browse source code to find out which key controls which cheat ;).

 

post-42656-0-49268300-1491165882_thumb.pngpost-42656-0-53935500-1491165898_thumb.pngpost-42656-0-05174800-1491165913_thumb.pngpost-42656-0-45400600-1491165924_thumb.pngpost-42656-0-27031100-1491165931_thumb.pngpost-42656-0-38574300-1491165941_thumb.pngpost-42656-0-08079700-1491165957_thumb.pngpost-42656-0-32495700-1491165976_thumb.png

 

I am also releasing full source code for the game.

 

Enjoy!

gf.atr

gf.xex

GunfrightSource.zip

  • Like 48

Share this post


Link to post
Share on other sites

Just looked at the code. Amazing. I never had thought you can have this straight forward translation of the Z80 opcodes. I only vaguely remember POKEing my way through the REM lines on my first computer (1985 - ZX81, 1k) and I really hated the "AFTER CB/ED" codes. But it never occurred to me that you can easily emulate both 8/16 bit register sets "simply" with the zero page.And considering how many cycles most Z80 instructions take, the speed of the translation result looks very good! Amazing idea & execution, man!

  • Like 9

Share this post


Link to post
Share on other sites

Thank you for another great conversion !

 

Depending on the bootloader (or gamedos) the titlescreen does not always get displayed, no clue why.

 

 

Edited by CharlieChaplin

Share this post


Link to post
Share on other sites

A graphically masterpiece for sure.

Not sure, why people like that non harmonic filter scratch sound, but the rest of the music is nicely fitting ... to very good.

Gameplay ? Not sure yet :D

 

 

Thanks for the release.

Share this post


Link to post
Share on other sites

Thank you for another great conversion !

 

Depending on the bootloader (or gamedos) the titlescreen does not always get displayed, no clue why.

 

 

 

Guess it has something to do with screen being disabled at the beginning of loading, to avoid trash being displayed when title screen loads, as title screen loads at $9000, overwriting OS display list and display memory.

Share this post


Link to post
Share on other sites

A graphically masterpiece for sure.

Not sure, why people like that non harmonic filter scratch sound, but the rest of the music is nicely fitting ... to very good.

Gameplay ? Not sure yet :D

 

 

Thanks for the release.

 

Sound effects are ported from Spectrum and played by Atari beeper. I know that compared to excellent Saul's music their quality is poor ;)

Share this post


Link to post
Share on other sites

Just looked at the code. Amazing. I never had thought you can have this straight forward translation of the Z80 opcodes. I only vaguely remember POKEing my way through the REM lines on my first computer (1985 - ZX81, 1k) and I really hated the "AFTER CB/ED" codes. But it never occurred to me that you can easily emulate both 8/16 bit register sets "simply" with the zero page.And considering how many cycles most Z80 instructions take, the speed of the translation result looks very good! Amazing idea & execution, man!

 

There's certainly more than this. You need to debug the program you created - with Gunfright I have very annoying problem that code used cmp/rol instructions and I forgot that carry flag has inverted polarity between Z80 and 6502 for comparison/subtraction. Then you need to optimize code size - automatic translation create code 2x as big, and since original code had ~14KB, translated code used whole ram leaving no space for Atari specific code. Last, but not least, you need to optimize the game - with Gunfright it was a quite a lots of work, as they optimized every piece of code which did rendering, erasing and copying to achieve good performance, and I had to do the same for 6502 (just compare speed of preview version posted last year with speed of final release). But I really enjoyed whole process and I certainly want to continue with other Z80 -> 6502 conversions.

  • Like 6

Share this post


Link to post
Share on other sites

Having worked on the CBM versions I have to say Mariusz did an amazing job on the Z80 to 6502 conversion of this game.

 

Like he said the Z80 version was already heavily optimized yet all the 6502 versions run as fast or almost as fast as the Spectrum version and yet this game was written very much with the Spectrum's hardware in mind!

Share this post


Link to post
Share on other sites

Great effort, thank you Mariusz!

 

Just one thing, when loading from fast drive (e.g. SIDE), loading screen disappears almost immediately, maybe there should be SPACE BAR triggered leaving it?

Share this post


Link to post
Share on other sites

Great effort, thank you Mariusz!

 

Just one thing, when loading from fast drive (e.g. SIDE), loading screen disappears almost immediately, maybe there should be SPACE BAR triggered leaving it?

Don't know anything about those "fast drive" but isn't that because what name says: fast and like is on a .xex file.

Remember that thinking like in old times you load a first block that shows the name, a picture or whatever and it instantly loads next block, while this is on-screen, that normally is the game itself.

So there is no need to press any key or fire that may cause confusion or people waiting and waiting and nothing would happen.

Normally pressing joystick Fire or key(s) any, SPACE or RETURN is when there's message to load levels, change side of tape/disk,...

A loading screen present while loading is just that, a portrait/idea of what is/look the game and a nice presentation for people see while waiting the all game is loaded and ready to play. It uses tape/disc space and some time so the less and simplier for the user(s) the best ;).

:)

:thumbsup:

Edited by José Pereira

Share this post


Link to post
Share on other sites

Well, there could be loading screen visible and then be halted after loading is done with some message: "press any key to continue".

 

It's nothing major, if you accept the screen disappears almost immediately on modern PBI devices, fine by me ;)

Share this post


Link to post
Share on other sites

The isometric super coder strikes again!!

 

Never had a door stop, sorry, Spectrum, so never had much chance to play the ISO stuff, some was ported rather poorly to the C64 but these have all been top ports to our beloved Atari, thank you Mariuszw, amazing work as always with big thanks to Jose and Saul who does some really lovely tunes especially the Bear Essentials on the C64.

 

Btw, I see the C64 version has just popped up...Double win for me :)

 

All we need is Bruce Lee II ported to the Atari, its great fun and I reckon the Atari could handle it easily!!

Edited by Mclaneinc
  • Like 1

Share this post


Link to post
Share on other sites

Well, there could be loading screen visible and then be halted after loading is done with some message: "press any key to continue".

 

It's nothing major, if you accept the screen disappears almost immediately on modern PBI devices, fine by me ;)

I'm just thinking like it was on old times and like I said that never had any of those new/modern devices then maybe like there is an automatic detection for PAL vs NTSC then maybe it could also detect if there is one of those devices that would be needed to press a key on those cases.

I just put my opinion that is from one person that after all these years still think 'Old School way' :grin: but of course the coder knows how and has the last decision...

:thumbsup:

Edited by José Pereira

Share this post


Link to post
Share on other sites

You could possibly test how it behaves running the game from RAM-disk, as loading less than 40 KB (XEX) via PBI device is visually almost that quick ;)

Share this post


Link to post
Share on other sites

off topic - loading from PBI is usually faster than RAMdisk for solid state drives :)

 

Great game conversio btw!!! Sick optimisations!

Share this post


Link to post
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.

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