Jump to content
mariuszw

Fairlight released

Recommended Posts

This is Fairlight for Atari 8-bit, isometric arcade adventure from Bo Jangeborg, released in 1985 for ZX Spectrum and later in 1986 for C64 and Amstrad CPC. Atari version has been ported from C64, fixing major weak point of C64 version - slowness. Fairlight on ZX Spectrum is highly regarded game - at the moment its #1 game by World Of Spectrum visitors (http://www.worldofspectrum.org/bestgames.html), the other game from #1 is Great Escape, also ported to Atari 8bit by me.

Game requires 64KB RAM, works on both PAL and NTSC machines, as well as CPU-upgraded Ataris.

Music for both game and intro has been prepared by Wieczór. Music supports stereo Pokey, but works correctly on mono Pokey as well. Atari graphics (loading, title and credits screens) have been prepared by Jose Pereira.

Game has built-in trainer: just press T on start screen.

I am also releasing full source code with all assets. Please refer to readme.txt for the detailed description how to build the game. Game itself is built on top of binary image of C64 version, with patches for input (joystick and keyboard), graphics and sound routines. For graphics I am using C64 bitmap-like mode with 256 pixels wide screen. With this layout, I had only to replace one routines which calculates screen address for given x and y coordinates to make video work. There are also several optimizations implemented.

 

Merry Christmas and enjoy new game!

 

post-42656-0-61861000-1482687361_thumb.pngpost-42656-0-24414600-1482687359_thumb.pngpost-42656-0-97898700-1482687357_thumb.pngpost-42656-0-87188800-1482687362_thumb.pngpost-42656-0-55971600-1482687360_thumb.pngpost-42656-0-75899900-1482687363_thumb.pngpost-42656-0-34922900-1482687410_thumb.pngpost-42656-0-34549600-1482687412_thumb.pngpost-42656-0-40066400-1482687413_thumb.pngpost-42656-0-24386500-1482687414_thumb.png

fl.atr

fl.xex

FairlightSourceCode.zip

  • Like 28

Share this post


Link to post
Share on other sites

I didn't do extensive testing but fl.xex is crashing Altirra 2.90 test21 on my pc if I'm configured for PAL. NTSC starts fine and if I start in NTSC, I can switch over to PAL once the games title screen is already up.

 

Bob

Share this post


Link to post
Share on other sites

I didn't do extensive testing but fl.xex is crashing Altirra 2.90 test21 on my pc if I'm configured for PAL. NTSC starts fine and if I start in NTSC, I can switch over to PAL once the games title screen is already up.

 

Bob

 

Works just fine for me with PAL in Altirra 2.80 and 2.90test21, using ATOS, PAL, 64KB RAM. What config are you using?

 

Mariusz.

Edited by mariuszw

Share this post


Link to post
Share on other sites

Works fine on 21 here but I'd suggest not deving around ATOS, its great but if you want 100% compatibility I'd stick to retail OS's just in case...

Share this post


Link to post
Share on other sites

Hmmm, seems to be the same config. I looked in Altirra's setup and my XL Rom ver. 2(see photo below) Not sure if that's the Atari XL OS version you have. I get to the first screen and hear about 1 note of the music and then Altirra crashes with the screen shot below.

 

Bob

post-18691-0-80955600-1482695287_thumb.jpg

post-18691-0-10507400-1482695312_thumb.jpg

Edited by bfollett

Share this post


Link to post
Share on other sites

Actually now I'm really confused. It actually looks like I have to boot with Basic for PAL to work??? Could that be correct?

 

Works for me with original OS images, BASIC disabled and enabled, both PAL and NTSC, Altirra 2.90test21. Can you please save state when game crashes and post it to the thread?

Share this post


Link to post
Share on other sites

I can't attach .altstate files on this forum so I renamed it .xex Just rename the file with the correct extension when you download it. I was configured PAL, 64K, Atari XL bios, no basic. I also attached the Atari XL rom I've been using.

 

Bob

FLCrash.xex

ATARIXL.ROM

Edited by bfollett

Share this post


Link to post
Share on other sites

I see the same thing that bfollett sees when booting fl.xex directily in Altirra. This seems to fix it:

 

fl-fix.xex

 

I just added a "sta DMACTL" in the second INI block at 600 right after the "lda #0". Otherwise ANTIC starts firing bogus NMIs when NMIEN is re-enabled due to the DLIST getting overwritten.

  • Like 6

Share this post


Link to post
Share on other sites

I see the same thing that bfollett sees when booting fl.xex directily in Altirra. This seems to fix it:

 

attachicon.giffl-fix.xex

 

I just added a "sta DMACTL" in the second INI block at 600 right after the "lda #0". Otherwise ANTIC starts firing bogus NMIs when NMIEN is re-enabled due to the DLIST getting overwritten.

 

Thanks for spotting the problem and providing the fix.

 

Mariusz.

Share this post


Link to post
Share on other sites

I see the same thing that bfollett sees when booting fl.xex directily in Altirra. This seems to fix it:

 

attachicon.giffl-fix.xex

 

I just added a "sta DMACTL" in the second INI block at 600 right after the "lda #0". Otherwise ANTIC starts firing bogus NMIs when NMIEN is re-enabled due to the DLIST getting overwritten.

 

Your fix worked for me as well. Thanks for the quick fix and proving I wasn't crazy (at least in this instance).

 

Bob

Share this post


Link to post
Share on other sites

Thank you for the very nice port!

 

So this fix is not needed for real hardware?

Share this post


Link to post
Share on other sites

Thanks for the source, this is very useful as I'd like to do a port of my own.

 

There seems to be an issue with the very last portion of the build process.

 

"mads -t -l flgame.asm" which creates the flgame.obx file.

 

The intro runs fine but the actual game crashes on startup ( when running flgame.obx on Altirra ).

 

I can run my assembled fl.obx from the main directory, so I know that's probably not the issue.

 

It has something to do with the below steps which takes the raw dump from the debugger and compresses it to create the bin file. But what's odd is that the same steps used to build the intro work with no issues. I suspect that I need to make some changes to the flgame.asm source. My bin file sizes are slightly different ( fl.bin=26,486 flintro.bin=10,265 ), raw file sizes are the same as the ones in your original arhive.

 

run Altirra, load fl.obx and use command: .writemem fl.raw 0800 LC800
7. Compress game image:
7z a -tgzip -mx=9 -so dummy fl.raw | gzip2deflate >fl.bin
Edited by shoestring

Share this post


Link to post
Share on other sites

 

Thanks for the source, this is very useful as I'd like to do a port of my own.

 

There seems to be an issue with the very last portion of the build process.

 

"mads -t -l flgame.asm" which creates the flgame.obx file.

 

The intro runs fine but the actual game crashes on startup ( when running flgame.obx on Altirra ).

 

I can run my assembled fl.obx from the main directory, so I know that's probably not the issue.

 

It has something to do with the below steps which takes the raw dump from the debugger and compresses it to create the bin file. But what's odd is that the same steps used to build the intro work with no issues. I suspect that I need to make some changes to the flgame.asm source. My bin file sizes are slightly different ( fl.bin=26,486 flintro.bin=10,265 ), raw file sizes are the same as the ones in your original arhive.

 

run Altirra, load fl.obx and use command: .writemem fl.raw 0800 LC800
7. Compress game image:
7z a -tgzip -mx=9 -so dummy fl.raw | gzip2deflate >fl.bin

 

 

I guess I forgot last minute addition to readme.txt - when writing fl.raw game image, be sure to execute first few instruction so that RAM at $C000 gets paged in. It's lda #$fe/sta portb which does the paging (just stop at $5020).

 

What port are you planning?

 

Mariusz.

Share this post


Link to post
Share on other sites

That seems to be working fine now and I can build the xex without problems. I haven't tried building the ATR but I don't see why those instructions wouldn't work.

 

I'm not sure which game yet, I'm going through the list of games on the c64 that I liked playing as I was growing up. Maybe something like LCP ( Little Computer People ) ?

Edited by shoestring
  • Like 1

Share this post


Link to post
Share on other sites

I'm not sure which game yet, I'm going through the list of games on the c64 that I liked playing as I was growing up. Maybe something like LCP ( Little Computer People ) ?

 

Never heard before about Little Computer People, just looked at this today, and it looks very nice.

 

I guess it could be ported to Atari 8-bit, you will however need to redesign the graphics - Atari can do 4 colors in 160x200 bitmap mode which original game uses, or, if you use raster interrupts you may get 4 colors per line, or with some PM/G magic more colors, but that needs careful design. C64 has color map, so colors are quite freely distributed over bitmap. Hardware sprites which original uses will also need redesign - either use software sprites (and share colors with background) or use PM/G, but then you may easily prepare one sprite, and second will still need to be software. You will also have some work to convert drawing routines to Atari bitmap layout which is linear. Fairlight on the other hand fit very well on Atari, as it doesn't use anything Atari cannot do (two-color bitmap without hardware sprites) so porting that particular game was much easier.

 

Good luck with the project. Feel free to ask more questions about porting from C64 to Atari if necessary.

 

Mariusz.

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