algarsoft
-
Content Count
5 -
Joined
-
Last visited
Posts posted by algarsoft
-
-
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...
-
-
the .dsk attachment was missing. I Retry with this....
-
Hail to the TI-99 community!
I've recently purchased a CF7+ with parallel
interface and I've reviewed my OLD TI99 programs.
I've learnt my first assembler on the TI-99 when
I was 13.
I've found here on atari age, the links to a lot
of interesting stuff, among which the Atari port
of PacMan, by Howard E. Scheer.
In my humble opinion, It's the BEST port of an arcade
for the TI-99 and it's VERY playable and responsive
(even with the original TI Joysticks).
Played on "real iron" it's VERY fun and addictive!
Unfortunately, the disk version had two annoying bugs:
1) The high score was trashed at startup with a very
high number, not allowing ANY user score
to be recorded.
2) The screen flickered every now and then while playing
and sometimes the game crashed after the flicker.
I've studied in my spare-time the binary and found that:
1) The high score was trashed because the scratch-pad
area was not properly initialized by the loader
(originally it was a Solid State Cartridge)
2) The original system interrupt routine blanked
the screen every 9/10 minutes without pressing a
key and, sometimes, trashed some VDP registers
restoring the screen.
So I've simply added a by-pass fragment on startup
that clears the scratch pad area and installs an
user ISR that loads the blank screen count-down
at >83D6 with >8000, thus disabling the screen
blank for keyboard inactivity.
Now You can load the binary with an option 5
loader (E/A, XB, Beaxs) and play the game without
problems.
You can use the .dsk attached:
with E/A: choose 5 and then type DSK1.PACMAN
with XB: let the XB loader run and
type DSK1.PACMAN
By the way, my personal hi-score (played on a real
TI99) is 170.460 points at the 16th screen.
Anyone knows the official one?
Cheers!-
2
-

PACMAN Atari fixed
in TI-99/4A Computers
Posted
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 anyso 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...