.include "cpctelera_functions.h.s"


videoPtr:  .dw #0x8000

;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Switches Video Buffer
; DESTROYS: AF, BC, HL, DE
;;;;;;;;;;;;;;;;;;;;;;;;;;;;


map_switchBuffers::
         modifier = . + 1
         ld     l, #0x20
         call    cpct_setVideoMemoryPage_asm
         ld      hl, #modifier
         ld      a, #0x10
         xor     (hl)
         ld      (modifier), a
         
         
         ld      hl, #videoPtr+1
         ld      a, #0x40
         xor     (hl)
         ld      (videoPtr+1), a

         ret


;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Returns Video Pointer in (hl)
; RETURNS:
;     HL: pointer to video memory
; DESTROYS: HL
;;;;;;;;;;;;;;;;;;;;;;;;;;;;

map_getVideoPtr::
         ld      hl, (videoPtr)
         ret







;;ld      hl, #0x8000
;;ld      de, #0x8001
;;ld      (hl), #00
;;ld      bc, #0x4000
;;ldir


set_crtc::
          ld     bc, #0xBC00
          out    (c), d
          inc    b
          out    (c), e
          
          ret
    