Virtualc64: Atomic Power / Nordic Power cartridge not working properly

Created on 11 Nov 2018  路  11Comments  路  Source: dirkwhoffmann/virtualc64

I have a problem with this cartridge:
1) Press Freeze button and enter menu (not the start menu), than select utility menu (F3) :

Schermata 2018-11-11 alle 09.40.40.png

2) install turbo linker (1)

Schermata 2018-11-11 alle 00.52.15.png

3) exit to c64 basic (F3)

Schermata 2018-11-11 alle 00.52.34.png

4) VirtualC64 hangs

Schermata 2018-11-11 alle 00.53.01.png

Schermata 2018-11-11 alle 09.46.01.png


submitted from GitQ

bug

Most helpful comment

Yes, this version alpha 3 works better.

All 11 comments

How can I press the freeze button in VICE for Mac? 馃

What I found out so far:

When running the test sequence, the cart eventually runs some code in the zero page:

AtomicPower: PC: 00A9 setControlReg(0A)

At this time, it sets exrom and game to 1 which means it blends out the cart Roms.

Later, the code eventually jumps (back) to 88A0 which is now 00 (RAM contents, BRK command). This is where it crashes.

I stepped through the code in VICE with the same result. When the cartridge returns from the NMI, ROML is no longer visible. A 00 is read back (BRK instruction) and executed. It seems to be the intended behavior.

I've replaced

http://www.dirkwhoffmann.de/virtualc64/VirtualC64_ActionPower.zip

by a newer version (3.2. alpha 2) which uses a different default value for the CRT ram. Could you check if the emulator still hangs when you run the test described above? It seemed to behave like VICE when I tested it (however, the previous version showed some kind of indeterministic behavior, so I'm not sure if it's really fixed).

Now, with alpha 2 the problem after turbo linker is solved.
But now after restart (F3) if freeze button is pressed it hangs:

schermata 2018-11-11 alle 22 43 09
schermata 2018-11-11 alle 22 43 31

To reproduce the problem:

insert the cartridge
reset VirtualC64
press freeze button
press F3
in the gray menu press F3 (Restart)
press freeze button...
Here it is:
schermata 2018-11-11 alle 22 52 22

" To reproduce the problem: "
Yes, it hangs for me too, if the freeze button is pressed after that sequence.
On VICESC it works, on the VirtualC64 the problem is only if freeze is pressed after F3 option.

Yet another try:

http://www.dirkwhoffmann.de/virtualc64/VirtualC64_3.2alpha3.zip

Fixing the Nordic Power / Atomic Power cartridge is important, because the cartridge is based on roughly the same hardware as the Action Replay cartridge (V5 and above). Hence, all recently applied bug fixes have affected the ActionReplay class and not the AtomicPower class itself. The AtomicPower cartridge is just a handful of code lines overwriting some methods of the ActionReplay class.

Ok, VirtualC64_3.2alpha3 version for me works
schermata 2018-11-12 alle 23 10 54

Yes, this version alpha 3 works better.

Alpha3 revision works for me.
We can close!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tsupplis picture tsupplis  路  3Comments

ChuckCaplan picture ChuckCaplan  路  7Comments

Alessandro1970 picture Alessandro1970  路  3Comments

dirkwhoffmann picture dirkwhoffmann  路  6Comments

Somuchfun picture Somuchfun  路  3Comments