; Set up the stack.
lda #<(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
+ ldx #>(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
sta sp
- lda #>(__RAM_START__ + __RAM_SIZE__ - __RESERVED_MEMORY__)
- sta sp+1 ; Set argument stack ptr
+ stx sp+1 ; Set argument stack ptr
; Call the module constructors.
ldx #0
stx ZP_IRQ_CTRL ; disable calling cartridge IRQ/NMI handler
- ; Setup stack and memory mapping
+ ; Set up stack and memory mapping
;ldx #$FF ; Stack top ($01FF)
dex
txs
; Copy the .data segment to RAM
jsr copydata
- ; setup the stack
+ ; Set up the stack
lda #<(__RAM_START__+__RAM_SIZE__)
ldx #>(__RAM_START__+__RAM_SIZE__)
sta sp
; Set up the stack.
lda #<(__SRAM_START__ + __SRAM_SIZE__)
+ ldx #>(__SRAM_START__ + __SRAM_SIZE__)
sta sp
- lda #>(__SRAM_START__ + __SRAM_SIZE__)
- sta sp+1 ; Set argument stack ptr
+ stx sp+1 ; Set argument stack ptr
; Call the module constructors.
start:
- ; setup the CPU and System-IRQ
+ ; Set up the CPU and System-IRQ
; Initialize CPU
-
sei
nop
- csh ; set high speed CPU mode
+ csh ; Set high speed CPU mode
nop
cld
nop
- ; Setup stack and memory mapping
+ ; Set up stack and memory mapping
ldx #$FF ; Stack top ($21FF)
txs
- ; at startup all MPRs are set to 0, so init them
+ ; At startup all MPRs are set to 0, so init them
lda #$ff
tam #%00000001 ; 0000-1FFF = Hardware page
lda #$F8
; Copy the .data segment to RAM
tii __DATA_LOAD__, __DATA_RUN__, __DATA_SIZE__
- ; setup the stack
+ ; Set up the stack
lda #<(__RAM_START__+__RAM_SIZE__)
+ ldx #>(__RAM_START__+__RAM_SIZE__)
sta sp
- lda #>(__RAM_START__+__RAM_SIZE__)
- sta sp + 1
+ stx sp + 1
; Call module constructors
jsr initlib
jsr push0 ; argv
ldy #4 ; Argument size
- jsr _main ; call the users code
+ jsr _main ; Call the users code
; Call module destructors. This is also the _exit entry.
_exit: