Hot unplug: how to properly perform COLD boot of Turbo machine?

Door Eugeny_Brychkov

Paragon (1107)

afbeelding van Eugeny_Brychkov

16-11-2018, 14:28

Issue: after reconfiguration GR8NET jumps to the address 0. Before reconfiguration GR8NET had Nextor in its configuration, and it was hooked to the timer interrupt. When execution jumps to the address 0, machine sees that it is warm boot, and skips many initialization steps, including initialization of the timer hooks. If VDP interrupt occurs before hook is initialized and interrupts are enabled (e.g. @ 04D0), machine jumps to slot's address not having Nextor any more, and fails.

Question: what should I do to properly tell machine that I want cold boot? Port F4 bit 7? Anything else?

P.S. I have a feeling that I was already asking this question before, but can not find it!

Update: funny enough I see that when bit 7 is reset, machine, at some point in time, enables interrupt with timer hook in place, and VDP is having interrupts enabled! Looks like what GR8NET does is performing "hot unplug", and machine and its software is not ready for it.

So it seems that to perform cold reset/boot I must do the following:
1. reset bit 7 of register 0F4h, preserving all other bits;
2. put RET into H.KEYI and H.TIMI;
3. jump to address 0 of slot 0:0.

Sounds good, or any suggestions/modifications?

Update 1: well, considering information I have now, I am not sure if I have to reset bit 7 of the register 0F4h. Let it be warm boot, but no malfunction due to hot unplug?

Aangemeld of registreer om reacties te plaatsen