ORG 0100H EVAR MACRO @EXVAR,@VAL LD BC,256+@EXVAR LD D,@VAL EXOS 16 ENDM X_SIZE EQU 40 Y_SIZE EQU 27 ;10 VCHAN EQU 10 DI LD SP,STACK EI ;15 EVAR 22,1 EVAR 23,0 EVAR 24,X_SIZE EVAR 25,Y_SIZE ;20 LD A,VCHAN LD DE,VID EXOS 1 ;25 LD A,VCHAN LD BC,SEQLEN LD DE,SEQ EXOS 8 ;30 LD A,VCHAN LD BC,256+1 LD DE,Y_SIZE*256+1 EXOS 11 ;35 LD A,VCHAN LD B,3 EXOS 11 PUSH BC ;40 POP HL LD A,B AND 11000000B RLCA ;45 RLCA OR 11111100B LD B,A ;48 B-ben a syegm. CP 255 ;50 JR NZ,SEG254 LD DE,32768 SEG254 CP 254 JR NZ,SEG253 LD DE,49152 ;55 SEG253 CP 253 JR NZ,SEG252 LD DE,0 SEG252 CP 252 JR NZ,SEGPAGE ;60 LD DE,16384 SEGPAGE ADD HL,DE ;62 HL-ben P2-es cim LD DE,X_SIZE*2*Y_SIZE*9-1 ADD HL,DE ;65 IN A,(0B3H) PUSH AF IN A,(0B2H) PUSH AF ;70 IN A,(0B1H) ;71 mentes PUSH AF LD A,B ;73 B-ben A szegm. volt OUT (0B1H),A INC A ;75 OUT (0B2H),A INC A OUT (0B3H),A LD B,200 ;80 CYCL_0 PUSH BC PUSH HL LD B,Y_SIZE*9 CYCL_1 OR A ;85 LD C,X_SIZE*2 CYCL_2 RL (HL) DEC HL DEC C JR NZ,CYCL_2 ;90 CALL C,R_SIDE POINT DJNZ CYCL_1 JR CEND R_SIDE LD DE,X_SIZE*2 ;95 ADD HL,DE SET 0,(HL) OR A SBC HL,DE RET ;100 CEND POP HL POP BC DJNZ CYCL_0 ;105 POP AF OUT (0B1H),A POP AF OUT (0B2H),A POP AF ;110 OUT (0B3H),A LOOP JR LOOP VID DB 6 ;115 DEFM "VIDEO:" SEQ DB 27,"C",255,32,32,255,0,0,0,0 DB 27,"A" DW 640,486 DB 27,"E" ;120 DW 480,480 DB 27,"F" SEQLEN EQU $-SEQ DEFS 64 STACK DEFB 0 END