*************************************************** * * * ZBLOCK SOURCE * * * * A GRAPHICS BLOCK KLIP/DISPLAY ROUTINE FOR * * THE APPLE HIRES SCREEN AND ZBASIC COMPILER * * * * Currently editing for data storage/retrieval * * from a ZBASIC string field, or data structure * * in the following format: * * byte # data value * * ------ ---------- * * 0 str-len (data size) * * (not used) * * 1 byte width (7 pixel/byte) * * 2 byte length (pixel lines) * * 3+ data bytes (255 max/str) * * 'Modified from the original BLOCK' code from * * NIBBLE VOL.12/#2 * * * * Last Edit 20/may/93 * * * * Edasm-Prodos - Zbasic 4.0 * * * *************************************************** * * EQUATES * * TBLSTART EQU $06 ;START OF SHAPE COUNTER EQU $08 ;# LINES COMPLETED PNTR EQU $0B ;SCREEN POINTER YNOW EQU $0D ;CURRENT LINE SCREEN EQU $26 ;HPOSN RETURNS THIS WIDTH EQU $FB HEIGHT EQU $FC XSTART EQU $FD YSTART EQU $FE MODE EQU $FF ;TRANSFER MODE * ORG $9F00 * DRAW JMP DRAW1 ;CALL TABLE XDRAW JMP XDRAW1 ;AVOIDS AN EXTRA ADRAW JMP ADRAW1 ;POKE THIS WAY ODRAW JMP ODRAW1 ; CLIP JMP CLIP1 ; POINT JMP POINT1 ;COLUMN BASED PNTR * DRAW1 LDA #209 ;SET DRAW MODE STA MODE ;& CONT. SETUP CLC BCC SETUP * XDRAW1 LDA #81 ;SET XDRAW MODE STA MODE ;& CONT. SETUP CLC BCC SETUP * ADRAW1 LDA #49 ;SET AND MODE STA MODE ;& CONT. SETUP CLC BCC SETUP * ODRAW1 LDA #17 ;SET OR MODE STA MODE CLC BCC SETUP * CLIP1 LDA #$91 ;SET MODE VALUE STA MODE INC TBLSTART ;SKIP STR LEN LDY #0 ;STORE SHAPE LDA WIDTH ;WIDTH & HEIGHT STA (TBLSTART),Y ;IN ICON BUFFER INY LDA HEIGHT STA (TBLSTART),Y LDA #PNTR STA COLUMN+1 LDA #TBLSTART STA COLUMN+3 CLC BCC BEGIN * POINT1 LDA #81 ;EOR MODE FOR THIS STA MODE LDA #>ARROW ;POINT TO ICON STA TBLSTART LDA #