Browse Source

most of the tms9918 control routines now inserted and assembles cleanly.

import/raw
doug 13 years ago
parent
commit
226cfbf91d
  1. 121
      branches/dwg/Source/n8v.asm

121
branches/dwg/Source/n8v.asm

@ -18,10 +18,21 @@
;
N8V_INIT:
; INIT TMS9918 HERE...
CALL VDP_CLR16K
CALL VDP_SETREGS
CALL VDP_MODES
CALL VDP_PNT
CALL VDP_PGT
CALL VDP_COLORS
CALL VDP_LOADSET
CALL PPK_INIT
XOR A
RET
;
;
;__________________________________________________________________________________________________
; CHARACTER I/O (CIO) DISPATCHER
;__________________________________________________________________________________________________
@ -115,6 +126,114 @@ N8V_VDAFIL:
N8V_VDASCR:
XOR A
RET
;-------------------------------------------------
BASE: .EQU 128
CMDP: .EQU BASE+24
DATAP: .EQU BASE+25
VDP_CLR16K:
LD C,CMDP
LD A,$00
OUT (C),A ; out(CMDP,0);
LD A,64
OUT (C),A ; out(CMDP,64);
LD B,128
VDP_CL16LP2:
PUSH BC ; save outer loop counter
;
LD B,128
LD A,0
LD C,DATAP
VDP_CL16LP1:
OUT (C),A ; out(DATAP,0);
DJNZ VDP_CL16LP1 ; see Brey page 86
;
POP BC ; restore outer loop counter
DJNZ VDP_CL16LP2 ; see Brey page 86
RET
;-------------------------------------------------
VDP_SETREGS:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
LD A,128
OUT (C),A ; out(CMDP,128);
RET
;-------------------------------------------------
VDP_MODES:
LD C,CMDP
LD A,80
OUT (C),A ; out(CMDP,80);
LD A,129
OUT (C),A ; out(CMDP,129);
RET
;-------------------------------------------------
VDP_PNT:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
LD A,130
OUT (C),A ; out(CMDP,130);
RET
;-------------------------------------------------
VDP_PGT:
LD C,CMDP
LD A,1
OUT (C),A ; out(CMDP,1);
LD A,132
OUT (C),A ; out(CMDP,132);
RET
;-------------------------------------------------
VDP_COLORS:
LD C,CMDP
LD A,240
OUT (C),A ; out(CMDP,240);
LD A,135
OUT (C),A ; out(CMDP,135);
RET
;-------------------------------------------------
VDP_LOADSET:
LD C,CMDP
LD A,0
OUT (C),A ; out(CMDP,0);
LD A,72
OUT (C),A ; out(CMDP,72);
LD HL,CHARSET ; set memory ptr to start of bitmaps
LD B,0 ; prepare for 256 iterations
OTIR ; 0000-00FF
OTIR ; 0100-01FF
OTIR ; 0200-02FF
OTIR ; 0300-03FF
OTIR ; 0400-04FF
OTIR ; 0500-05FF
OTIR ; 0600-06FF
OTIR ; 0700-07FF
RET
;-------------------------------------------------
;
N8V_MODES:

Loading…
Cancel
Save