mariuszw Posted December 25, 2016 Share Posted December 25, 2016 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! fl.atr fl.xex FairlightSourceCode.zip 29 Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 25, 2016 Share Posted December 25, 2016 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 Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 25, 2016 Author Share Posted December 25, 2016 (edited) 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 December 25, 2016 by mariuszw Quote Link to comment Share on other sites More sharing options...
Heaven/TQA Posted December 25, 2016 Share Posted December 25, 2016 Well done... need to download finally all those new ports... to my SD Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted December 25, 2016 Share Posted December 25, 2016 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... Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 25, 2016 Share Posted December 25, 2016 (edited) 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 Edited December 25, 2016 by bfollett Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 25, 2016 Share Posted December 25, 2016 Ahhh, figured it out. Basic wasn't disabled. Odd that it works with NTSC and not PAL if Basic is present. Bob Quote Link to comment Share on other sites More sharing options...
popmilo Posted December 25, 2016 Share Posted December 25, 2016 Bravo !!!!Thanks for this present ! Fast and nice music Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 25, 2016 Share Posted December 25, 2016 Actually now I'm really confused. It actually looks like I have to boot with Basic for PAL to work??? Could that be correct? Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 25, 2016 Author Share Posted December 25, 2016 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? Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 25, 2016 Share Posted December 25, 2016 (edited) 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 December 25, 2016 by bfollett Quote Link to comment Share on other sites More sharing options...
+CharlieChaplin Posted December 25, 2016 Share Posted December 25, 2016 (edited) So, this is the final version of http://atariage.com/forums/topic/240892-new-game-port-fairlight/ ? Edited December 25, 2016 by CharlieChaplin Quote Link to comment Share on other sites More sharing options...
Xuel Posted December 25, 2016 Share Posted December 25, 2016 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. 6 Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 26, 2016 Author Share Posted December 26, 2016 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. Thanks for spotting the problem and providing the fix. Mariusz. Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 26, 2016 Author Share Posted December 26, 2016 So, this is the final version of http://atariage.com/forums/topic/240892-new-game-port-fairlight/ ? Yes, exactly. Quote Link to comment Share on other sites More sharing options...
bfollett Posted December 26, 2016 Share Posted December 26, 2016 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. Your fix worked for me as well. Thanks for the quick fix and proving I wasn't crazy (at least in this instance). Bob Quote Link to comment Share on other sites More sharing options...
tjlazer Posted December 26, 2016 Share Posted December 26, 2016 Thank you for the very nice port! So this fix is not needed for real hardware? Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted December 26, 2016 Share Posted December 26, 2016 so is the fix done to the atr as well? Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 26, 2016 Author Share Posted December 26, 2016 (edited) Here is updated version, which should (hopefully) fix problem on Altirra, and on real hardware (if previous version really had them). Please let me know if it works on real hardware correctly. Mariusz. fl.atr fl.xex FairlightSourceCode.zip Edited December 26, 2016 by mariuszw 8 Quote Link to comment Share on other sites More sharing options...
Tezz Posted December 26, 2016 Share Posted December 26, 2016 Mariusz. Merry Christmas 1 Quote Link to comment Share on other sites More sharing options...
vanfanel Posted December 26, 2016 Share Posted December 26, 2016 Fantastic release!! Works great on my ZX-UNO! Quote Link to comment Share on other sites More sharing options...
shoestring Posted December 28, 2016 Share Posted December 28, 2016 (edited) 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 December 28, 2016 by shoestring Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 28, 2016 Author Share Posted December 28, 2016 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. Quote Link to comment Share on other sites More sharing options...
shoestring Posted December 28, 2016 Share Posted December 28, 2016 (edited) 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 December 28, 2016 by shoestring 1 Quote Link to comment Share on other sites More sharing options...
mariuszw Posted December 29, 2016 Author Share Posted December 29, 2016 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.