; **** VIDPLOT.ASM VERSION 1.0 **** ; ; VIDEO PLOT ROUTINES FOR THE TELEVIDEO TPC-1 ; CRT CONTROLLER VIDEO GRAPHICS INTERFACE SUBROUTINES ; USED WITH THE 'VIDDUMP.BAS' PROGRAM TO DECODE AND DISPLAY ; '.RLE' (RUN LENGTH ENCODED) FORMAT PIC FILES ON THE TPC-1 ; ; AUGUST 11,1987 DAVE CLIFFORD ; TIME-==-CHANGE MBBS-RCP/M ; (213) 329-3922 300/1200 24HRS... ; ; ASSEMBLE WITH 'ZM.COM' OR OTHER EQUIV Z-80 ASSEMBLER ; AND EDIT RESULTING .HEX CODE FOR USE AS 'DATA' STATEMENTS ; THEN READ IN TO THE 'VIDDUMP.BAS' FILE....... ; (SEE 'VIDPLOT.HEX' FILE FOR AN EXAMPLE.) ;************************************************************* ; ; SET BASIC-80 RAMTOP FOR 32766 (&H7FFE) ORG 800AH ; LOAD ABOVE BASIC-80 ; ; BASIC-80 INTERFACE PRAMETERS EQUATES ; XAXIS EQU 8002H ;P1 YAXIS EQU 8004H ;P2 ; XAXIS1 EQU 8006H ;P3 YAXIS1 EQU 8008H ;P4 ; MARGIN EQU 8000H ;P5 SCREEN CENTERING OFFSET POKE 32768 ; ; INIT GRAPHICS MODE ; INIT: PUSH BC PUSH DE PUSH HL LD C,1 CALL GROUT LD C,2 CALL GROUT LD C,0BH LD HL,1 CALL GROUT LD C,0CH LD HL,1 CALL GROUT LD C,0EH LD HL,1 CALL GROUT POP HL POP DE POP BC RET ; ; MOVE TO X,Y AND PLOT A PIXEL SUBROUTINE ; DRAW: PUSH DE PUSH HL LD C,4 LD HL,(XAXIS) PUSH BC LD BC,(MARGIN) ADD HL,BC POP BC LD DE,(YAXIS) CALL GROUT LD C,5 LD HL,(XAXIS1) PUSH BC LD BC,(ASPECT) ADD HL,BC POP BC LD DE,(YAXIS1) CALL GROUT POP HL POP DE RET ; ; GRAPHICS OUTPUT ROUTINE ; GROUT: RST 28H RET ; ; DISPLAY GRAPHICS SCREEN ; GRAPH: PUSH BC PUSH DE PUSH HL LD C,1 CALL GROUT POP HL POP DE POP BC RET ; ; DISPLAY ALPHA SCREEN ; ALPHA: PUSH BC PUSH DE PUSH HL LD C,0 CALL GROUT POP HL POP DE POP BC RET ; END