fixed RSSTAT usage conflict

This commit is contained in:
FeralChild64 committed 2019-09-28 12:24:46 +02:00
1 parent 4f58088207
commit 58dc012831
10 files changed
+68 -42

No files matched your search

+5 -6
View File
@@ -1,10 +1,9 @@
vector_real:
// Temporary storage location - checked on real C64 that this is the
// Use MEMUSS as temporary storage location - checked on real C64 that this is the
// address originally used; after calling VECTOR and checking zero page
// area afterwards, the address could be found there
.label _caller_arr_ptr = MEMUSS
// According to 'Compute's Mapping the Commodore 64' page 237,
// the CBM implementation does not disable IRQs - yet, the
@@ -17,20 +16,20 @@ vector_real:
// Prepare the user data pointer - strange order to reduce risk
// of potential similarity to the original routine
sty _caller_arr_ptr + 1
stx _caller_arr_ptr + 0
sty MEMUSS + 1
stx MEMUSS + 0
// Select routine variant - store or restore vectors
ldy #$1F
bcc vector_restore
lda CINV, y
sta (_caller_arr_ptr), y
sta (MEMUSS), y
bcs vector_end_loop // branch always
vector_restore:
lda (_caller_arr_ptr), y
lda (MEMUSS), y
sta CINV, y
// FALLTROUGH