1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-23 23:30:22 +00:00
millfork/include/stdlib_i80.mfk
2018-07-30 18:55:20 +02:00

52 lines
757 B
Plaintext

// target-independent things
#if not(ARCH_I80)
#warn stdlib_i80 module should be only used on Intel 8080-like targets
#endif
macro asm void poke(word const addr, byte a) {
LD (addr), A
}
macro asm byte peek(word const addr) {
LD A, (addr)
}
macro asm void disable_irq() {
DI
}
macro asm void enable_irq() {
EI
}
asm byte hi_nibble_to_hex(byte a) {
#if CPUFEATURE_GAMEBOY
SWAP A
#else
RR A
RR A
RR A
RR A
#endif
JP lo_nibble_to_hex
}
asm byte lo_nibble_to_hex(byte a) {
AND $F
ADD A,$30
CP $3A
#if CPUFEATURE_GAMEBOY | CPUFEATURE_Z80
JR C,_lo_nibble_to_hex_lbl
#else
JP C,_lo_nibble_to_hex_lbl
#endif
ADD A,$7
_lo_nibble_to_hex_lbl:
RET
}
macro asm void panic() {
CALL _panic
}