52 lines
943 B
ArmAsm
52 lines
943 B
ArmAsm
;
|
|
; New Stub for Paolo System
|
|
.export __STARTUP__ : absolute = 1 ; Mark as startup
|
|
.import _irq
|
|
.import _main
|
|
.include "zeropage.inc"
|
|
TOPMEM := $1FFF ; top of RAM
|
|
; sp = $FE ; stack pointer
|
|
|
|
.segment "STARTUP"
|
|
|
|
; ------------------------------------------------------------------------
|
|
; Actual code
|
|
|
|
_coldstart: ; reset vector points here!
|
|
sei
|
|
cld
|
|
ldx #$ff ;set Stack Pointer at $01FF
|
|
txs
|
|
|
|
lda #<TOPMEM ; low Byte
|
|
sta $FE
|
|
lda #>TOPMEM
|
|
sta $FF ; High byte
|
|
cli
|
|
|
|
jsr _main
|
|
|
|
brk ; END Sim with BRK optn
|
|
stop: jmp stop ; endless loop
|
|
|
|
|
|
NMIjump:
|
|
Interrupt:
|
|
INTret: RTI ; Null Interrupt return
|
|
|
|
|
|
.segment "VECTORS"
|
|
|
|
; 65C02 Firmware Notes
|
|
;
|
|
; NMIjmp = $FFFA
|
|
; RESjmp = $FFFC
|
|
; INTjmp = $FFFE
|
|
|
|
.word NMIjump
|
|
.word _coldstart
|
|
.word _irq
|
|
|
|
|
|
.bss
|