Bank $FF (IO Port) est généralement mappée sur Mpr0 et Bank $F8 (8ko Ram) sur Mpr1.
Pour résumer voici ce qu'effectuent ces quelques lignes :
-Désactive les interruptions
-Initialise le processeur en haute vitesse
-Initialise le vecteur de reset $FFFE
-Map les banks $00, $F8, et $01 à $05
-Initialise les 8ko de ram
-Initilaise le pointeur de pile à $FF
; ----
; STARTUP.ASM
; ----
.bank 0
.org $FFFE
.dw _reset
.org $E000
.code
_reset:
sei
csh ; clock set high
cld
; MPR0 $0000-$1FFF BANK $FF
; MPR1 $2000-$3FFF BANK $F8
; MPR2 $4000-$5FFF BANK $01
; MPR3 $6000-$7FFF BANK $02
; MPR4 $8000-$9FFF BANK $03
; MPR5 $A000-$BFFF BANK $04
; MPR6 $C000-$DFFF BANK $05
; MPR7 $E000-$FFFF BANK $00
lda #$FF
tam #0
lda #$F8
tam #1
stz $2000 ;init 8k ram
tii $2000,$2001,$1FFF
ldx #$FF ;init the stack pointer to 21FF
txs
lda #$01
tam #2
inc a
tam #3
inc a
tam #4
inc a
tam #5
inc a
tam #6
jmp main
0 commentaires:
Enregistrer un commentaire