Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in 
CSDb User Forums


Forums > C64 Coding > TIL: The instruction after SEI can be executed before a pending IRQ is handled
2017-11-07 15:56
Krill

Registered: Apr 2002
Posts: 952
TIL: The instruction after SEI can be executed before a pending IRQ is handled

As described here: http://visual6502.org/wiki/index.php?title=6502_Timing_of_Inter..

I never knew this, after all those years, and thought i'd share this as a heads-up.

Thanks to bubis for pointing it out to me!
 
... 89 posts hidden. Click here to view all posts....
 
2017-11-08 20:38
Oswald

Registered: Apr 2002
Posts: 4239
I dont care about restore, if the user wants to crash the demo let it be. its his own fault :)
2017-11-08 20:46
lft

Registered: Jul 2007
Posts: 353
The enemy (nmi?) cannot push RESTORE if you disable his hand.
2017-11-08 21:05
Groepaz

Registered: Dec 2001
Posts: 8543
Quote:
I dont care about restore

i've switched to just pointing the NMI vectors to some silly routine that punishes the bastard who pressed RESTORE accordingly :)
2017-11-09 14:43
TWW

Registered: Jul 2009
Posts: 433
Ground the fucker ^^
2017-11-09 15:18
MagerValp

Registered: Dec 2001
Posts: 917
For reference, here's a bog standard raster IRQ setup that'll work every time if run from basic:
	lda #$7f
	sta $dc0d

	lda #$35
	sta $01

	lda #$1b
	sta $d011
	lda #$fa
	sta $d012

	lda #<irq
	sta $fffe
	lda #>irq
	sta $ffff

	lda #1
	sta $d019
	sta $d01a
NB: Clearing pending IRQs with $d019 is not strictly necessary if you run from a freshly reset machine (the kernal writes $0f to $d019 on reset), but if something else ran before and exited to the basic prompt there may be an unacknowledged raster IRQ pending.
2017-11-09 15:27
Krill

Registered: Apr 2002
Posts: 952
Quoting MagerValp
but if something else ran before and exited to the basic prompt there may be an unacknowledged raster IRQ pending.
Hmm, if whatever ran before left unacknowledged interrupts behind, wouldn't they trigger time and again without ever being acknowledged, so the BASIC prompt would never be reached and IRQs be handled in an endless loop? :)
2017-11-09 15:44
MagerValp

Registered: Dec 2001
Posts: 917
No, they're still masked by a zero value in $d01a. Hmm, I wonder if the soft reset before the ready prompt clears it... Just checked, and afaict, nope.
2017-11-09 15:48
iAN CooG

Registered: May 2002
Posts: 1919
" if run from basic "
and what about if it's not? Why even assuming it? It's not better to be safe and put ALSO sei/cli, and clearing $D019 too in any case?
2017-11-09 15:51
MagerValp

Registered: Dec 2001
Posts: 917
Clearing $d019 is necessary, and testing a bit more it seems like it's necessary even on a freshly reset machine. SEI/CLI is still useless though, and only creates the problem of having to clear $dc0d.
2017-11-09 18:01
Stone

Registered: Oct 2006
Posts: 124
Quoting iAN CooG
" if run from basic "
and what about if it's not?
Then you either know about the calling context and set things up accordingly, OR you know nothing, in which case initial setup is the responsibility of the caller.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Aomeba/Siesta
JCH/Vibrants
theenemy/Threshold
Majikeyric/HokutoForce
Trash
redback
psych858o/MSL/Elysiu..
hedning/G★P
Medicus
Erol
Rebok
St0rmfr0nt/ExCeSs
insane/altair^rab^tscc
zscs
Raistlin/Genesis*Pro..
Vai/Slash Design
Slajerek/Samar
Guests online: 41
Top Demos
1 Uncensored  (9.7)
2 Comaland 100%  (9.7)
3 Edge of Disgrace  (9.7)
4 Coma Light 13  (9.6)
5 The Shores of Reflec..  (9.6)
6 Wonderland XII  (9.6)
7 We Come in Peace  (9.6)
8 Lunatico  (9.6)
9 Incoherent Nightmare  (9.5)
10 Wonderland XIII  (9.5)
Top onefile Demos
1 FMX Music Demo  (9.5)
2 Pandemoniac Part 2 o..  (9.5)
3 Daah, Those Acid Pil..  (9.5)
4 Dawnfall V1.1  (9.5)
5 Treu Love [reu]  (9.5)
6 In Memoriam BHF  (9.5)
7 Merry Xmas 2017  (9.4)
8 Dawnfall  (9.4)
9 SWiRL  (9.4)
10 Synthesis  (9.4)
Top Groups
1 Oxyron  (9.4)
2 Booze Design  (9.4)
3 Censor Design  (9.4)
4 Finnish Gold  (9.4)
5 Crest  (9.3)
Top Diskmag Editors
1 Jazzcat  (9.6)
2 Newscopy  (9.4)
3 Peter  (9.3)
4 A Life in Hell  (9.2)
5 Elwix  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2018
Page generated in: 0.059 sec.