Login
Back to forumSee the full topicGo to last reply

Posted By

Twinspirit32
on 2017-01-07
18:44:40
 Re: Porting to Commodore Plus 4 of my game Genius, memory/bitmap mode questions..

I checked my code and debugged, I clear to 0 correctly the bit 2 of $FF12 to select RAM.
As a quick cross test I tried to set to 1 the bit 2 of $FF12 and in this case also VICE shows garbage on both Page1 $8000 and page2 $C000. VICE works fine with bit 2 of $FF12 clear.

Debugging with PLUS4EMU, the bitmap of page1 $8000 shows up correctly at the beginning and the register $FF12 is set at $E0 correctly at startup, but at some points, when music starts it should become $E3 or $E2 (the lower bits are used for freq settings) but I find that the register $FF12 goes to FF and this I guess causes the setting of bit 2 that causes the garbage graphics.
The registers remanis to $FF even if I start the GAME which runs even showing garbage graphics.
I've also noticed that after some resets, I've seen PLUS4EMU working correctly and not writing $FF to $FF12 registers, but the correct $E0 $E1 $E2 $E3 values, and the game was running correctly.
So the behaviour is not repetitive I guess.

Debugging with YAPE I see the same behaviour basically, $FF12 turns into $FF at some point and
graphics shows garbage.
Also in YAPE I have the music playing a bit slower than in VICE and PLUS4EMU.
I set timer 1 at 14734/$398E which is F000:8E F001:39, in VICE and PLUS4EMU I've seen values of 38/39 at times breaking into debugger, on YAPE I never saw values bigger that 33, in any case music IRQ is
a little slower that VICE and PLUS4EMU, so I assume that the IRQ in YAPE are occurring at a lower rate.

That's my cross checking about the 3 emulators!

Also:
On VICE dragging the d64 image file causes the autostart/autoloading of the first PRG file of the diskette which is A.O that is the autostart that hooks to the $0332 boot system call at startup. The code then launch the game which load all other object parts.

If I drag the d64 on YAPE it crashes at $5F44, which is the location of the jump to the game start (actually it's $5F42), it looks like the A.O code is correctly loaded and launched but it doesn't load the prg file G.O which is the main loader of the game where the A.O jump to as its final step.
If I type manualy LOAD "A.O",8,1 then the game starts correctly.

In PLUS4EMU I actually haven't found an autostart procedure, if I drag the d64 file on its window nothing, and also nothing if I attache the d64 image to
the drive 8 and reset, is there a way to have autostart on PLUS4EMU

Thanks everybody for the great help and collaboration! happy



Back to top


Copyright © Plus/4 World Team, 2001-2024