1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-10-30 21:30:52 +00:00
millfork/include/stdlib_6502.mfk

51 lines
761 B
Plaintext

// target-independent things
#if not(ARCH_6502)
#warn stdlib_6502 module should be only used on 6502-compatible targets
#endif
word nmi_routine_addr @$FFFA
word reset_routine_addr @$FFFC
word irq_routine_addr @$FFFE
macro asm void poke(word const addr, byte a) {
STA addr
}
macro asm byte peek(word const addr) {
LDA addr
}
macro asm void disable_irq() {
SEI
}
macro asm void enable_irq() {
CLI
}
asm byte hi_nibble_to_hex(byte a) {
LSR
LSR
LSR
LSR
JMP lo_nibble_to_hex
}
asm byte lo_nibble_to_hex(byte a) {
AND #$F
CLC
ADC #$30
CMP #$3A
BCC _lo_nibble_to_hex_lbl
ADC #$6 // carry is set
_lo_nibble_to_hex_lbl:
RTS
}
macro asm void panic() {
JSR _panic
}
array __constant8 = [8]