Jump to content

algarsoft's Photo

algarsoft

Member Since 13 Jul 2018
OFFLINE Last Active Nov 16 2018 11:42 AM

Posts I've Made

In Topic: PACMAN Atari fixed

Wed Oct 17, 2018 5:21 AM

 

Though your solution of loading >8000 at >83D6 at every interrupt certainly does the trick, slightly faster than loading with something like

MOV @H8000 @>83D6 (?)  

would be to set >83D6 to >FFFF with

SETO @>83D6

Even though faster, I suppose it is doubtful it would really make a difference in game-play, but you never know.

 

...lee

 

 

Yes, nice suggestion!

After more than 30 years I didn't recall
that the counter is incremented BY TWO, not
by one. (To be honest, I didn't even recall
if the counter was incremented or decremented
and so, I felt safe with >8000)

As a matter of fact, I've checked the system
ISR in ROM and (once decided that the current
interrupt is from VDP) it will land at:
 

 0A8A LWPI >83C0    ; Interrupt workspace
 0A8E INCT 11       ; Increment BY TWO counter
 0A90 JNE >0AA8     ; jump if counter is not 0
 0A92 ....          ; blank the screen if ==0        
      ....

 0AA8 LWPI >83E0    ; GPL workspace
      ....          ; increment tick at @>8379
                    ; call user ISR, if any 

     

so it's definitely more efficient (and without
potential side-effects) performing a:

 SETO @>83D6

than a clumsy:

 LI R0,>8000
 MOV R0,@>83D6

The forced >FFFF will always be >0001 at the next
vertical screen blank interrupt, thus disabling
the system screen saver. (Moreover, the game has
ITS own screen saver for user inactivity)

Thanks a lot Lee...
 


In Topic: PACMAN Atari fixed

Tue Oct 16, 2018 10:10 AM

I don't thik this is the original SolidState version, but an hacked OPT5 version for PEB/disk drive...

Maybe, who originally ripped the cartridge forgot the blanking and scratch-pad init...


In Topic: PACMAN Atari fixed

Tue Oct 16, 2018 10:05 AM

.dsk file finally attached. Sorry, could not spot the problem.


In Topic: PACMAN Atari fixed

Tue Oct 16, 2018 9:59 AM

the .dsk attachment was missing. I Retry with this....