mirror of
https://github.com/Pecusx/jataricart.git
synced 2026-05-20 22:33:22 +02:00
Better code and NMI off
This commit is contained in:
@@ -54,12 +54,16 @@ dosini = $0C ; (2) wektor inicjacji po odczycie z dyskietki
|
|||||||
|
|
||||||
rtclok = $12 ; (3) zegar czasu rzeczywistego
|
rtclok = $12 ; (3) zegar czasu rzeczywistego
|
||||||
|
|
||||||
|
critic = $42 ; znacznik krytycznych czasowo operacji I/O
|
||||||
|
|
||||||
lmargin = $52
|
lmargin = $52
|
||||||
rmargin = $53
|
rmargin = $53
|
||||||
rowcrs = $54 ; wiersz kursora
|
rowcrs = $54 ; wiersz kursora
|
||||||
colcrs = $55 ; (2) Kolumna kursora
|
colcrs = $55 ; (2) Kolumna kursora
|
||||||
savmsc = $58 ; (2) Adres pamięci obrazu
|
savmsc = $58 ; (2) Adres pamięci obrazu
|
||||||
|
|
||||||
|
ramtop = $6A ; liczba stron pamięci RAM
|
||||||
|
|
||||||
keydef = $79 ; (2) tablica konwersji kod?w klawiatury na ATASCII
|
keydef = $79 ; (2) tablica konwersji kod?w klawiatury na ATASCII
|
||||||
|
|
||||||
|
|
||||||
@@ -124,6 +128,8 @@ icax4 = $034D ; rejestr pomocniczy dla operacji I/O
|
|||||||
icax5 = $034E ; rejestr pomocniczy dla operacji I/O
|
icax5 = $034E ; rejestr pomocniczy dla operacji I/O
|
||||||
icax6 = $034F ; rejestr pomocniczy dla operacji I/O
|
icax6 = $034F ; rejestr pomocniczy dla operacji I/O
|
||||||
|
|
||||||
|
gintlk = $03FA ; znacznik cartridge'a (kopia TRIG3)
|
||||||
|
|
||||||
casbuf = $0400 ; bufor magnetofonu
|
casbuf = $0400 ; bufor magnetofonu
|
||||||
casben = $047F ; koniec bufora magnetofonu
|
casben = $047F ; koniec bufora magnetofonu
|
||||||
|
|
||||||
|
|||||||
+28
-24
@@ -42,13 +42,13 @@ MAIN_PROCESS_JMP
|
|||||||
jmp MAIN_PROCESS
|
jmp MAIN_PROCESS
|
||||||
.print "#define STARTFLASHWRITE 0x",*
|
.print "#define STARTFLASHWRITE 0x",*
|
||||||
STARTFLASHWRITE
|
STARTFLASHWRITE
|
||||||
mva #$A0 106
|
mva #$A0 ramtop
|
||||||
jsr opened
|
jsr opened
|
||||||
lda 20
|
lda rtclok+2
|
||||||
@ cmp 20
|
@ cmp rtclok+2
|
||||||
beq @-
|
beq @-
|
||||||
@ lda #$1
|
@ lda #$1
|
||||||
sta 66
|
sta critic
|
||||||
; waiting for cart to be inserted
|
; waiting for cart to be inserted
|
||||||
jsr print
|
jsr print
|
||||||
.print "#define TITLE 0x",*-$2000+6
|
.print "#define TITLE 0x",*-$2000+6
|
||||||
@@ -66,25 +66,29 @@ STARTFLASHWRITE
|
|||||||
CARTSIZE+128
|
CARTSIZE+128
|
||||||
dta c' kB...',0
|
dta c' kB...',0
|
||||||
|
|
||||||
|
lda #$00
|
||||||
|
sta nmien
|
||||||
sta $d500
|
sta $d500
|
||||||
?wloop lda $d013
|
?wloop lda trig3
|
||||||
lsr
|
lsr
|
||||||
bcc ?wloop
|
bcc ?wloop
|
||||||
|
; cart inserted, fake it was not changed
|
||||||
|
jsr accept_bank_change
|
||||||
|
lda #$40
|
||||||
|
sta nmien
|
||||||
|
|
||||||
ldx #$25
|
ldx #$25
|
||||||
?lloop ; wait 0.5 sec after inserting
|
?lloop ; wait 0.5 sec after inserting
|
||||||
bit VCOUNT
|
@ bit VCOUNT
|
||||||
bmi *-3
|
bmi @-
|
||||||
bit VCOUNT
|
@ bit VCOUNT
|
||||||
bpl *-3
|
bpl @-
|
||||||
dex
|
dex
|
||||||
bne ?lloop
|
bne ?lloop
|
||||||
|
|
||||||
jsr print
|
jsr print
|
||||||
dta $9b,c'Inserted.',$9b,0
|
dta $9b,c'Inserted.',$9b,0
|
||||||
|
|
||||||
; cart inserted, fake it was not changed
|
|
||||||
jsr accept_bank_change
|
|
||||||
|
|
||||||
ldx #0 ; chip address
|
ldx #0 ; chip address
|
||||||
stx numgoodchipsneeded
|
stx numgoodchipsneeded
|
||||||
@@ -196,7 +200,7 @@ menu
|
|||||||
dta c'START - cartridge format and flash!',$9b
|
dta c'START - cartridge format and flash!',$9b
|
||||||
;dta c'SELECT - verify; repair bad blocks.',$9b
|
;dta c'SELECT - verify; repair bad blocks.',$9b
|
||||||
dta c'OPTION - verify',$9b,0
|
dta c'OPTION - verify',$9b,0
|
||||||
?wloop lda 53279
|
?wloop lda consol
|
||||||
cmp #7
|
cmp #7
|
||||||
beq ?wloop
|
beq ?wloop
|
||||||
sta operation
|
sta operation
|
||||||
@@ -268,14 +272,14 @@ crcsums
|
|||||||
:128 .word 0
|
:128 .word 0
|
||||||
opened
|
opened
|
||||||
ldx #0
|
ldx #0
|
||||||
lda #12
|
lda #12
|
||||||
jsr icio
|
jsr icio
|
||||||
mwa #name icbufa,x
|
mwa #name icbufa,x
|
||||||
mva #$0c icax1,x
|
mva #$0c icax1,x
|
||||||
mva #$0 icax2,x
|
mva #$0 icax2,x
|
||||||
lda #3
|
lda #3
|
||||||
icio sta iccmd,x
|
icio sta iccmd,x
|
||||||
jmp $e456
|
jmp ciov
|
||||||
name dta 'E:',$9b
|
name dta 'E:',$9b
|
||||||
|
|
||||||
CHECKINIT
|
CHECKINIT
|
||||||
@@ -338,8 +342,8 @@ dmaon mva #34 dmactls
|
|||||||
cartoff_and_accept_bank_change
|
cartoff_and_accept_bank_change
|
||||||
sta $d5ff
|
sta $d5ff
|
||||||
accept_bank_change
|
accept_bank_change
|
||||||
lda $d013
|
lda trig3
|
||||||
sta $3fa
|
sta gintlk
|
||||||
rts
|
rts
|
||||||
|
|
||||||
eraseSRC_FF
|
eraseSRC_FF
|
||||||
@@ -497,7 +501,7 @@ FINISH_PROCESS
|
|||||||
rts
|
rts
|
||||||
badcompare_counter dta 0,0
|
badcompare_counter dta 0,0
|
||||||
BADCOMPARE
|
BADCOMPARE
|
||||||
ldy 53279
|
ldy consol
|
||||||
cpy #7
|
cpy #7
|
||||||
beq @+
|
beq @+
|
||||||
pha
|
pha
|
||||||
|
|||||||
Reference in New Issue
Block a user