From: groepaz (groepaz_at_gmx.net)
Date: 2002-05-28 22:33:21
Hello Stephan,
Tuesday, May 28, 2002, 10:05:48 PM, you wrote:
>> :=)) eg when an irq occurs while the ram under the vic is banked in =>
>> crash (regardless of correct vectors at both $ffff/fe and $0314/15 and
>> regardless where the interupt-service-routine lies in memory)
SL> Huh? I admit I haven't tried it, but why? If the first thing the IRQ
SL> routine does is save the memory config, then map in the IO area,
SL> and restore the previous config before exiting, what should happen?
uhmz not so easy to explain i guess.... the point is, that it will
crash before the interupt routine is even started (ie, one or two
cycles after the interupt occurs). that is, when the vic tries to
update flags in eg $d019, and the i/o is banked out something weird
happens...maybe the vic writes to its own registers simelar to the cpu
would? i have no idea really :=P
but try it :o) _maybe_ that weird behaviour requires other
circumstances than just banked out i/o aswell.... it occured to me
while coding demos that is, never actually bothered doing a simple
test like this: (maybe you do? ;=)))
*=$c000
sei
lda #$35
sta $01
lda #$01
sta $d01a
lda #$7f
sta $dc0d
lda #$f8
sta $d012
lda #$1b
sta $d011
lda #>irq
sta $ffff
lda #<irq
sta $fffe
lda #$34
sta $01
cli
jmp *
*=$d000
irq:
pha
lda $01
pha
; do stuff
inc $d020
lda $d019 ; inc $d019 aint scpu-safe
sta $d019
pla
sta $01
pla
rti
--
Best regards,
groepaz mailto:groepaz_at_gmx.net
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo_at_musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2002-05-28 22:33:46 CEST