View Single Post
Old 30 March 2024, 15:28   #230
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,329
DonAdan thanks this method you suggested a long time ago worked very well with all other remakes since Pacman but here it doesn't work for 2 known reasons and possible hidden ones

First, no game work the way you're writing your loop. There's some infinite loop (possibly in sync with the IRQ) and the IRQ
The IRQ runs at 60 or 56 Hz or whatever, and yes, most of the time, ticking twice once in a while works, but here it doesn't. If I do this:

- Title screen appears at the wrong time. Because game mainloop sets a target timer value and waits for it, but double tick makes it miss the tick first time: big delay... I could fix it manually but...
- Demo mode recorded controls fail. Jeep misses a jump or something similar. This is a big no no if things like that happen because it means that the game logic is wrong
- all other snide differences that could be related to above.

My best options ATM:

- remain at 50Hz, so people can enjoy the game and a Xanax at the same time
- try to perform IRQ in custom copper interrupts. I can go 100Hz and then control when I call the IRQ. Last time I tried I got unexplained crashes
- follow your advice with CIA interrupt. Crashed badly probably for the same reason as above, plus music is strange and not sure hacking it would work.

Quote:
Originally Posted by aros-sg View Post
For example you say that you blit all three layers. But you shouldn't have to do that (unless you were to save so much time by having so many bobs and you can skip lots of bob restoring). Even if there are 3 layers and you don't use dual playfield you can hw scroll one layer.

Theoretically even hw scrolling 2 of the layers is possible: the blue mountains and the ground layer hw scroll and only the green layer is mask blitted: the upper part of it mask blit in front of blue mountains. the lower part of it mask blit behind ground layer. Similiar to common wraparound tile scrollers (like Turrican) this requires bob drawing to take split line/point into consideration and possibly split up blits in two, if a bob crosses the line.
This looks horribly complicated though. I'm doing this (as written above) for AGA because I have DPF, but making up for the scrolling for BOBs looks very complex and there's this split point which changes with the terrain. Game already does that BTW, in reverse eg. for rocks.

Plus you seem to forget that we must redraw blue mountains a lot because of bobs passing into it, and also green mountains.

The best option would have to go ECS dual playfield, but 8+8 colors is too much a constraint even with HW sprites to save slots, regardless of what trolls think. I've tried several times and gave it up. To save colors with sprites, you have to assign HW sprites to all sprites using those colors, which isn't trivial. Example: at high levels, you can have NINE bloody UFOs, so it's not even possible to go all HW sprites for UFOs.


Quote:
How fast does the game run if in a quick test you disable blitting of ground layer and blue mountains. Still only 25 fps?
probably at 50fps, but looks like shit (AKA Oric Super Jeep)

Last edited by jotd; 30 March 2024 at 15:43.
jotd is online now  
 
Page generated in 0.04504 seconds with 11 queries