1
0
mirror of https://github.com/KarolS/millfork.git synced 2024-12-23 23:30:22 +00:00
millfork/include/c64_cia.mfk

45 lines
792 B
Plaintext
Raw Normal View History

2017-12-06 23:23:30 +00:00
// Hardware addresses for C64
2019-06-26 11:40:33 +00:00
#if not(CBM_64) && not(CBM_64_COMPAT)
#warn c64_cia module should be only used on C64-compatible targets
#endif
2017-12-06 23:23:30 +00:00
// CIA1
volatile byte cia1_pra @$DC00
volatile byte cia1_prb @$DC01
2017-12-06 23:23:30 +00:00
byte cia1_ddra @$DC02
byte cia1_ddrb @$DC03
volatile byte cia2_pra @$DD00
volatile byte cia2_prb @$DD01
2017-12-06 23:23:30 +00:00
byte cia2_ddra @$DD02
byte cia2_ddrb @$DD03
macro asm void cia_disable_irq() {
? LDA #$7f
! STA $dc0d
! STA $dd0d
! LDA $dc0d
! LDA $dd0d
2017-12-06 23:23:30 +00:00
}
macro void vic_bank_0000() {
cia2_ddra = 3
cia2_pra = 3
2017-12-06 23:23:30 +00:00
}
macro void vic_bank_4000() {
cia2_ddra = 3
cia2_pra = 2
2017-12-06 23:23:30 +00:00
}
macro void vic_bank_8000() {
cia2_ddra = 3
cia2_pra = 1
2017-12-06 23:23:30 +00:00
}
macro void vic_bank_C000() {
cia2_ddra = 3
cia2_pra = 0
}