Jump to content
IGNORED

New Atari 8bit port WIP: Saboteur!


mariuszw

Recommended Posts

Hmmm,

 

when I load the latest Saboteur XEX under emulation, it works, but when I put the XEX onto an ATR image it does not load with DOS, gamedos or bootloader (have not tried XBIOS yet). From the ATR it loads the first segment ($2000-4800, Init 47xx) and then just sits there, while presenting a blank screen ?!? It does not continue loading, it does not play a sound/music, it does not show any gfx, just nothing happens...

 

(Settings: Basic off, 64k RAM, XL/XE-OS, PAL video, SIO patch off, H: patch off, mono Pokey, etc.)

Link to comment
Share on other sites

Nice work guys!

 

@Tezz: could you elaborate a bit that technique you used for coloring hi-res? Because it looks quite amazing... on first look, I thought each screen has its own DL+DLI...but you have obviously developed some generic solution.

 

Regards,

Martin

Link to comment
Share on other sites

Hmmm,

 

when I load the latest Saboteur XEX under emulation, it works, but when I put the XEX onto an ATR image it does not load with DOS, gamedos or bootloader (have not tried XBIOS yet). From the ATR it loads the first segment ($2000-4800, Init 47xx) and then just sits there, while presenting a blank screen ?!? It does not continue loading, it does not play a sound/music, it does not show any gfx, just nothing happens...

 

(Settings: Basic off, 64k RAM, XL/XE-OS, PAL video, SIO patch off, H: patch off, mono Pokey, etc.)

Hi, it's likely to be caused by a short procedure that's moved to low memory during init. In the rush to get the game released for new year it should have been changed elsewhere for the build. I'll do that shortly.

Edited by Tezz
Link to comment
Share on other sites

The game's speed is strongly changing. But why does sometimes game work slower in empty room and faster in room with two enemies? :?

Hi Arek,

 

This is something I didn't touch on with the game but it was on my to do list to look into. The game is still using the same delay loops from the c64 although patched by Mariusz to increase them as the A8 is running faster. The foreground elements like the barrels, crates, rails etc are all sprites too, really there should be a new delay procedure written based on what is being drawn in each room to keep things consistant.

Link to comment
Share on other sites

Nice work guys!

 

@Tezz: could you elaborate a bit that technique you used for coloring hi-res? Because it looks quite amazing... on first look, I thought each screen has its own DL+DLI...but you have obviously developed some generic solution.

 

Regards,

Martin

Hi Martin,

 

thanks, I created a list of commands which generates the dli for each room. I had to be mindful of where the changes occur and the maximum number of register changes being made at certain points working around the display simulating the c64 bitmap with a multi font layout. It was very labour intensive but that's always the case :)

Edited by Tezz
  • Like 4
Link to comment
Share on other sites

Hi Martin,

 

thanks, I created a list of commands which generates the dli for each room. I had to be mindful of where the changes occur and the maximum number of register changes being made at certain points working around the display simulating the c64 bitmap with a multi font layout. It was very labour intensive but that's always the case :)

 

I'm looking to do something similar to this. You don't have to disclose your code if you do not wish to, but can you disclose any theory about this and how it is done? Perhaps in a separate thread though, if this is OK?

Link to comment
Share on other sites

Hi, it's likely to be caused by a short procedure that's moved to low memory during init. In the rush to get the game released for new year it should have been changed elsewhere for the build. I'll do that shortly.

@CharlieChaplin

 

Hi,

 

I've made the ammendment now which is attached, let me know if all is ok with it please :)

 

Tezz.

saboteur.xex

Link to comment
Share on other sites

@CharlieChaplin

 

Hi,

 

I've made the ammendment now which is attached, let me know if all is ok with it please :)

 

Tezz.

 

Alas,

 

it is the same as before. It stops after the first init and does not continue loading.

Tested with MyPicoDOS 4.05B (barebone DOS 2.x gamedos without any speeder), Picoboot (DOS 2.x bootloader), DOS 2.5 and Turbo-DOS.

 

Which means, it does not load on real A8 - or does it require XBIOS ?!?

Link to comment
Share on other sites

Need to re-enable the kernel ROM before returning to DOS from the init segment.

    13393:203: 48 | A=10 X=10 Y=00 (      ) | 1300: 6C E2 02          JMP (INITAD)
    13393:203: 64 | A=10 X=10 Y=00 (      ) | 47F4: A9 FF             LDA #$FF
    13393:203: 68 | A=FF X=10 Y=00 (N     ) | 47F6: 8D 01 D3          STA PORTB
    13393:203: 76 | A=FF X=10 Y=00 (N     ) | 47F9: A5 14             LDA RTCLOK+2
    13393:203: 82 | A=44 X=10 Y=00 (      ) | 47FB: C5 14             CMP RTCLOK+2
    13393:203: 88 | A=44 X=10 Y=00 (    ZC) | 47FD: F0 FC             BEQ $47FB
  + Last 2 insns repeated 630 times
  + NMI interrupt (VBI)
    13393:255: 64 | A=44 X=10 Y=00 (    ZC) | 47FB: C5 14             CMP RTCLOK+2
    13393:255: 67 | A=44 X=10 Y=00 (N     ) | 47FD: F0 FC             BEQ $47FB
    13393:255: 69 | A=44 X=10 Y=00 (N     ) | 47FF: 78                SEI
    13393:255: 71 | A=44 X=10 Y=00 (N  I  ) | 4800: A9 00             LDA #$00
    13393:255: 73 | A=00 X=10 Y=00 (   IZ ) | 4802: 8D 0E D4          STA NMIEN
    13393:255: 77 | A=00 X=10 Y=00 (   IZ ) | 4805: 8D 00 D4          STA DMACTL
    13393:255: 81 | A=00 X=10 Y=00 (   IZ ) | 4808: A9 FE             LDA #$FE
    13393:255: 83 | A=FE X=10 Y=00 (N  I  ) | 480A: 8D 01 D3          STA PORTB      <-----
    13393:255: 87 | A=FE X=10 Y=00 (N  I  ) | 480D: A9 20             LDA #$20
    13393:255: 89 | A=20 X=10 Y=00 (   I  ) | 480F: A0 D8             LDY #$D8
    13393:255: 91 | A=20 X=10 Y=D8 (N  I  ) | 4811: A2 27             LDX #$27
  + 13393:255: 93 | A=20 X=27 Y=D8 (   I  ) | 4813: 20 2D 48          JSR $482D
    13399:210: 73 | A=18 X=00 Y=00 (   IZ ) | 4816: A2 F4             LDX #$F4
    13399:210: 75 | A=18 X=F4 Y=00 (N  I  ) | 4818: BD FF 46          LDA $46FF,X  ;$47F3
    13399:210: 80 | A=60 X=F4 Y=00 (   I  ) | 481B: 9D FF FE          STA $FEFF,X  ;$FFF3
    13399:210: 85 | A=60 X=F4 Y=00 (   I  ) | 481E: CA                DEX
    13399:210: 87 | A=60 X=F3 Y=00 (N  I  ) | 481F: D0 F7             BNE $4818
  + Last 4 insns repeated 243 times
    13399:245: 59 | A=06 X=00 Y=00 (   IZ ) | 4821: A2 19             LDX #$19
    13399:245: 61 | A=06 X=19 Y=00 (   I  ) | 4823: BD 2C 48          LDA $482C,X  ;$4845
    13399:245: 65 | A=60 X=19 Y=00 (   I  ) | 4826: 9D FF DF          STA $DFFF,X  ;$E018
    13399:245: 70 | A=60 X=19 Y=00 (   I  ) | 4829: CA                DEX
    13399:245: 72 | A=60 X=18 Y=00 (   I  ) | 482A: D0 F7             BNE $4823
  + Last 4 insns repeated 24 times
    13399:248: 95 | A=85 X=00 Y=00 (   IZ ) | 482C: 60                RTS
  13399:248:101 | A=85 X=00 Y=00 (   IZ ) | 1294: 68                PLA

  • Like 3
Link to comment
Share on other sites

Yep,

 

works now. Thank you Tezz and phaeron for finding and fixing the bug !!

 

Evil as I am, I packed the gamefile a little bit more:

-Sabo2.XEX: packed with Exomizer, now 9kbytes shorter;

-Sabo3.XEX: packed with Code3 Cruncher, now 7.5kbytes shorter;

Downloaded also some manuals and hints, which I attach here.

 

 

Sabo2.xex

Sabo3.xex

Saboteur.txt

Link to comment
Share on other sites

Thanks for the conversion, Mariusz, Tezz, Ooz & Miker! :)

 

I intentionally chose a dark luminence for the underground rooms to recreate the very dark blue/black that the Spectrum game used, Jose and Mariusz mentioned that it was too low so editing all of those rooms was on my to do list but I wanted to make the new year deadline. Let me know your opinion with that and I can ammend them and post an update if needed.

 

I think Jose and Mariusz were right, that colour is too dark. It makes those parts of the screen less visible than in ZX Spectrum version.

Link to comment
Share on other sites

Thanks for the conversion, Mariusz, Tezz, Ooz & Miker! :)

 

I think Jose and Mariusz were right, that colour is too dark. It makes those parts of the screen less visible than in ZX Spectrum version.

thanks Adam, I'll bring them up to the next luminence as suggested. I really need to get my XE set up again but I need to replace the capacitors.

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