Listing of file='LIGHT.MAC;0B' on disk='vmedia/sound_light_pen-sector.ccvf'
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; LIGHT-PEN UTILITY ROUTINES ; ENTRY SPULSE SPULSE: MVI A,14 OUT 48 IN 48 ANI 02 JNZ SPULSE CALL DELAY CALL DELAY MVI A,14 OUT 48 IN 48 ANI 02 JNZ SPULSE RET ENTRY COORDS COORDS: CALL YCOORD MOV A,C CPI 32 JNC COORDS CO10: CALL XCOORD MOV A,B CPI 64 JNC CO10 RET ENTRY YCOORD YCOORD: LXI H,6001H Y5: MVI M,36H INX H INX H MOV A,H CPI 70H JNZ Y5 LXI H,6001H MVI C,32 Y10: MVI D,100 MVI B,64 Y20: MVI M,0 INX H INX H DCR B JNZ Y20 CALL TESTIT JZ Y35 Y25: DCR D JZ Y30 CALL CHKPEN JNZ Y25 Y30: DCR C JNZ Y10 Y35: MVI A,32 SUB C MOV C,A MOV E,A CALL BLANK RET ENTRY XCOORD XCOORD: DCX H DCX H MVI B,64 X10: MVI M,36H DCX H DCX H DCR B JNZ X10 INX H INX H MVI B,64 X20: MVI M,0 MVI D,200 X30: CALL TESTIT JZ X40 X35: DCR D JZ X40 CALL CHKPEN JNZ X35 INX H INX H DCR B JNZ X20 X40: MVI A,64 SUB B MOV B,A MOV D,A CALL BLANK RET ENTRY TESTIT TESTIT: PUSH B MVI B,15 TS10: MVI C,0FFH TS20: CALL CHKPEN JZ TS25 NOP NOP CALL CHKPEN JNZ TS30 TS25: DCR C JNZ TS20 DCR B JNZ TS10 TS30: POP B RET ENTRY CHKPEN CHKPEN: MVI A,14 ;SELECT PORT 'A' ON AY-3-8910 OUT 48 IN 48 ;READ IT CMA ANI 01 RET BLANK: PUSH H LXI H,6001H BL10: MVI M,0 INX H INX H MOV A,H CPI 70H JNZ BL10 POP H RET DELAY: PUSH B MVI C,0FFH D2: XRA A DCR C JNZ D2 POP B RET END