.TITLE VXGRID .GLOBL VXGRID .GLOBL VBSET,VSBSET,VCNGT .PSECT VXDES,RW,D,GBL,REL,OVR XFAC: .BLKW 2 XOFF: .BLKW 2 XTYPE: .BLKW 1 XMAXB: .BLKW 1 XSMINB: .BLKW 1 XSMAXB: .BLKW 1 XSNOWB: .BLKW 1 .PSECT .PSECT VXADES,RW,D,GBL,REL,OVR XAFDU: .BLKW 2 XADDU: .BLKW 2 XADDB: .BLKW 2 XAFDB: .BLKW 1 XANDB: .BLKW 1 XAIND: .BLKW 1 XAGRID: .BLKW 1 XANGB: .BLKW 1 XAING: .BLKW 1 XATICK: .BLKW 1 XANTB: .BLKW 1 XAINT: .BLKW 1 .PSECT .PSECT VYDES,RW,D,GBL,REL,OVR YFAC: .BLKW 2 YOFF: .BLKW 2 YTYPE: .BLKW 1 YMINB: .BLKW 1 YMAXB: .BLKW 1 .PSECT .PSECT VYADES,RW,D,GBL,REL,OVR YAFDU: .BLKW 2 YADDU: .BLKW 2 YADDB: .BLKW 2 YAFDB: .BLKW 1 YAGRID: .BLKW 1 YATICK: .BLKW 1 .PSECT .PSECT VPNTBF,RW,D,GBL,REL,OVR RPSPP: .BLKW 1 PNTBUF: .BLKW 1 .PSECT VPLTBF,RW,D,GBL,REL,OVR PLTBUF: .BLKW 1 .PSECT VPLTYG,RW,D,GBL,REL,OVR PLTYGB: .BLKW 1 .PSECT R0=%0 R1=%1 R2=%2 R3=%3 R4=%4 R5=%5 SP=%6 PC=%7 BEGBYT: .WORD 0 ENDBYT: .WORD 0 GRD: .WORD 0 BYTE: .WORD 0 ARG1: .WORD 0 ARG2: .WORD 0 VXGRID: TST XSNOWB BNE L805 JMP L1000 L805: CMP XSNOWB,XMAXB BNE L810 JMP L1000 L810: MOV YMINB,R0 DEC R0 ASR R0 ASR R0 ASR R0 MOV R0,BEGBYT MOV YMAXB,R1 DEC R1 ASR R1 ASR R1 ASR R1 MOV R1,ENDBYT ADD #PLTBUF+1,R0 ADD #PLTBUF-1,R1 L900: CMP R0,R1 BHI L905 MOVB #125,(R0)+ BR L900 L905: MOV BEGBYT,R0 ASL R0 ASL R0 ASL R0 NEG R0 ADD YMINB,R0 ASR R0 MOV #125,R2 TST R0 BLE L915 L910: ASR R2 ASR R2 SUB #1,R0 BGT L910 L915: MOV BEGBYT,R3 ADD #PLTBUF,R3 BISB R2,(R3) L920: MOV ENDBYT,R0 INC R0 ASL R0 ASL R0 ASL R0 INC R0 SUB YMAXB,R0 ASR R0 MOV #125,R2 TST R0 BLE L940 L930: ASL R2 ASL R2 SUB #1,R0 BGT L930 L940: MOV ENDBYT,R3 ADD #PLTBUF,R3 BISB R2,(R3) L1000: MOV #ALST1,R5 JSR PC,VCNGT RTS PC ALST1: .BYTE 6,0 .WORD XAGRID,XANDB,XADDB,XTYPE,XAING,XANGB .END