;z80 ;zx-spectrum ;assembler INV LD A,(KONTR) OR A RET NZ LD A,1 LD (KONTR),A LD A,(BUFBEL) OR A JP Z,CVEKR CP 1 JP Z,CHB XOR A LD (BUFBEL),A LD A,32+16+8 LD (PR1+1),A LD (BUFCV),A LD HL,BUFCV1 LD (PRINT1X+1),HL CALL OFF LD HL,#5860 LD DE,#5861 LD BC,543 LD A,32+16+8 LD (HL),A LDIR LD A,7 OUT (#FE),A JP ON CVEKR INC A LD (BUFBEL),A LD A,5 LD (PR1+1),A LD HL,BUFCV LD (PRINT1X+1),HL CALL OFF LD HL,#5860 LD DE,#5861 LD BC,543 LD A,5 LD (HL),A LDIR XOR A OUT (#FE),A LD HL,(BUP) CALL PRN JP ON CHB INC A LD (BUFBEL),A LD A,7 LD (BUFCV),A LD (PR1+1),A LD HL,BUFCV1 LD (PRINT1X+1),HL CALL OFF LD HL,#5860 LD DE,#5861 LD BC,543 LD A,7 LD (HL),A LDIR XOR A OUT (#FE),A JP ON ;**********SAVE FILE ***** SAVER LD HL,(23613) LD (WERT+1),HL LD HL,SAAS LD (23613),HL LD HL,(BDW) LD A,(HL) OR A JR Z,END1 ENTER LD A,(HL) OR A JR Z,END1 INC HL JR ENTER END1 PUSH HL LD HL,TEXT ;ADDR TEXT PUSH HL POP DE POP HL SBC HL,DE PUSH HL POP BC ; DLINA LD HL,TEXT LD A,"W" ; ÒÈÏ SAVE LD (SP_ERR+1),SP LD (23782),HL PUSH BC PUSH HL ; ÑÎÕÐ. ÀÄÐÅÑÀ LD DE,23773+8 LD (DE),A XOR A LD (23824),A LD (23823),A LD (23801),A LD A,9 LD (23814),A LD HL,(23613) ; ERRORS LD C,(HL) INC HL LD B,(HL) LD (ERR1+1),BC LD BC,ERR1 LD (HL),B DEC HL LD (HL),C LD C,#0A ;--- ÏÎÈÑÊ ---- CALL 15635 LD (ERASE1+1),BC BIT 7,C JR NZ,SAVE1 ERASE1 LD BC,0 ;- ÈÍÔÎÐÌÀÖÈß LD A,C LD C,8 CALL 15635 LD C,#12 ;---- ÓÄÀËÅÍÈÅ CALL 15635 SAVE1 LD C,#0B ;----- ÇÀÏÈÑÜ LD A,3 POP HL ; ÀÄÐÅÑ POP DE ; ÄËÈÍÀ CALL 15635 ERR1 LD BC,0 LD HL,(23613) LD (HL),C INC HL LD (HL),B ERROR LD A,(23823) RET_L XOR A LD (23824),A DEC A LD (23610),A SP_ERR LD SP,0 WERT LD HL,0 LD (23613),HL RET OFF RET LD HL,82 LD (KUR+1),HL JP OUTMEM ON RET LD HL,(ADDRESS) LD (OUT_LOP),HL CALL INMEM LD HL,KRS LD (KUR+1),HL RETP RET ;+++++++++++++++++++++++++++++ X_COORD DEFB 0 Y_COORD DEFB 24 ADDRESS DEFB 0,0 L36031 NOP L36032 NOP NOP L36034 NOP NOP FLSHA RST 56 L36037 EX AF,AF' L36038 EX AF,AF' L36039 NOP NOP NOP L36042 NOP ; KURZOR NOP NOP L36044 EQU $- 1 SUB B ;+++++++++ START ++++++++++++++ KRS CALL OUTMEM LD HL,(ADDRESS) LD (OUT_LOP),HL CALL INMEM GFX CALL PRINT_S CALL JOY CALL COORDS_ CALL MOVE_S CALL FLASH_S CALL PRC RET ;++++++++++ OPROS ++++++++++ JOY CALL L36107 JP L36380 L36107 LD DE,3 L36108 EQU $- 2 LD H,0 LD BC,#FEFE IN A,(C) BIT 0,A ;CS RET Z LD BC,61438 IN A,(C) BIT 1,A CALL Z,UPI1 IN A,(C) BIT 2,A CALL Z,DOW1 IN A,(C) BIT 4,A CALL Z,LEFT1 IN A,(C) BIT 3,A CALL Z,RIGHT1 LD BC,#F7FE IN A,(C) BIT 3,A CALL Z,UPI1 IN A,(C) BIT 2,A CALL Z,DOW1 IN A,(C) BIT 0,A CALL Z,LEFT1 IN A,(C) BIT 1,A CALL Z,RIGHT1 LD BC,57342 IN A,(C) BIT 0,A CALL Z,RIGHT1 IN A,(C) BIT 1,A CALL Z,LEFT1 LD BC,64510 IN A,(C) BIT 0,A CALL Z,UPI1 LD BC,65022 IN A,(C) BIT 0,A CALL Z,DOW1 OFFJOY NOP ;RET IN A,(31) BIT 3,A CALL NZ,UPI1 IN A,(31) BIT 0,A CALL NZ,RIGHT1 IN A,(31) BIT 1,A CALL NZ,LEFT1 IN A,(31) BIT 2,A CALL NZ,DOW1 RET ;++++++++++ UP +++++++++++++++++++ UPI1 LD A,(Y_COORD) INC D LD L,E L36310 CP 24 JR Z,L36319 DEC A DEC L JR NZ,L36310 L36319 LD (Y_COORD),A RET ;+++++++++++ DOWN +++++++++++++ DOW1 LD A,(Y_COORD) INC D LD L,E L36328 CP 190 JR Z,L36338 INC A DEC L JR NZ,L36328 L36338 LD (Y_COORD),A RET ;++++++++++ RIGHT ++++++++++++ RIGHT1 LD A,(X_COORD) INC D LD L,E L36347 CP 253 JR NC,L36357 INC A DEC L JR NZ,L36347 L36357 LD (X_COORD),A RET ;+++++++++ LEFT ++++++++++++++ LEFT1 LD A,(X_COORD) INC D LD L,E L36366 CP 1 JR C,L36376 DEC A DEC L JR NZ,L36366 L36376 LD (X_COORD),A RET ;+++++++++++++++++++++++++ L36380 LD A,D OR A JR NZ,L36392 LD A,1 LD (L36108),A LD (L36393),A L36392 LD A,1 L36393 EQU $- 1 INC A LD (L36393),A LD HL,L36037 CP (HL) RET NZ LD A,1 LD (L36393),A LD A,(L36108) LD HL,L36038 CP (HL) RET Z INC A LD (L36108),A RET ;++++++++++++++++++++++++++++++++ COORDS_ LD DE,(X_COORD) LD A,D AND A RRA SCF RRA AND A RRA XOR D AND 248 XOR D LD H,A LD A,E RLCA RLCA RLCA XOR D AND 199 XOR D RLCA RLCA LD L,A LD (ADDRESS),HL LD A,E AND 7 INC A LD (L36031),A RET ;+++++++++++++++++++++++++++++ MOVE_S LD HL,(L36044) LD DE,L36842 PUSH AF LD A,14 L36468 LDI EX DE,HL LD (HL),0 EX DE,HL INC DE DEC A JR NZ,L36468 LD A,14 L36480 LDI EX DE,HL LD (HL),255 EX DE,HL INC DE DEC A JR NZ,L36480 POP AF PUSH AF L36492 LD HL,L36842 LD B,7 L36497 SRL (HL) INC HL RR (HL) INC HL SRL (HL) INC HL RR (HL) INC HL DJNZ L36497 DEC A JR NZ,L36492 POP AF L36515 LD B,7 PUSH HL L36518 LD E,255 RR E RR (HL) INC HL RR (HL) INC HL RR E RR (HL) INC HL RR (HL) INC HL DJNZ L36518 POP HL DEC A JR NZ,L36515 RET ;++++++++++++++++++++++++++++++ PRINT_S LD A,(X_COORD) CP 248 JR NC,L36607 LD HL,(ADDRESS) LD IX,L36842 LD DE,L36870 LD B,14 L36562 LD A,(DE) AND (HL) OR (IX+0) LD (HL),A INC IX INC DE INC HL LD A,(DE) AND (HL) OR (IX+0) LD (HL),A INC IX INC DE DEC HL INC H LD A,H AND 7 JR NZ,L36604 LD A,L ADD A,32 LD L,A CCF SBC A,A AND 248 ADD A,H LD H,A CP 88 JR NZ,L36604 LD H,0 L36604 DJNZ L36562 RET ;+++++++++++++++++++++++++++++++ L36607 LD HL,(ADDRESS) LD IX,L36842 LD DE,L36870 LD B,14 L36619 LD A,(DE) AND (HL) OR (IX+0) LD (HL),A INC IX INC DE INC IX INC DE INC H LD A,H AND 7 JR NZ,L36653 LD A,L ADD A,32 LD L,A CCF SBC A,A AND 248 ADD A,H LD H,A CP 88 JR NZ,L36653 LD H,0 L36653 DJNZ L36619 RET INMEM LD HL,(ADDRESS) LD DE,L36814 LD A,14 L36664 LDI LDI DEC HL DEC HL EX AF,AF' CALL L36784 EX AF,AF' DEC A JR NZ,L36664 RET OUTMEM LD DE,0 OUT_LOP EQU $- 2 LD HL,L36814 LD A,14 L36687 LDI LDI DEC DE DEC DE EX AF,AF' CALL L36799 EX AF,AF' DEC A JR NZ,L36687 RET FLASH_S LD A,(FLSHA) OR A JR NZ,L36715 LD HL,KURZOR LD (L36042),HL RET L36715 LD A,10 L36716 EQU $- 1 DEC A LD (L36716),A RET NZ LD A,10 LD (L36716),A LD A,1 L36728 EQU $- 1 DEC A JR Z,L36742 LD A,1 LD (L36728),A LD HL,KURZOR JR L36748 L36742 LD (L36728),A LD HL,KURZOR+28 L36748 LD (L36042),HL RET ;++++++++++ VID CURSORA +++++ PRC LD HL,(L36042) LD (L36044),HL RET ;++++++++++++++++++++++++++++ L36784 INC H LD A,H AND 7 RET NZ LD A,L ADD A,32 LD L,A RET C LD A,H SUB 8 LD H,A RET L36799 INC D LD A,D AND 7 RET NZ LD A,E ADD A,32 LD E,A RET C LD A,D SUB 8 LD D,A RET ;++++++++++++++++++++++ L36814 DEFS 28,0 L36842 DEFS 28,0 L36870 DEFS 28,0