;z80 ;zx-spectrum ;assembler ORG #8000 - INCBIN "BGchunks" ORG #8800 - INCBIN "BGfont" ORG #9000 - INCBIN "BGspr" ORG #9D00 - INCBIN "BGcs1" - INCBIN "BGcs2" ORG #C000 - INCBIN "BGmus" ORG #E000 - INCBIN "BGmus2" ORG 25000 LD SP,25000 CALL Im2 ;Включаем IM 2 LD A,0 CALL Pages CALL #C000 CALL #E000 EI LD HL,Geniration_Table LD DE,Geniration_Table+1 LD BC,68*32-1 LD (HL),0 LDIR XOR A OUT (254),A LD HL,#4000 LD DE,#4001 LD BC,#17FF LD (HL),A LDIR LD HL,#5800 LD DE,#5801 LD BC,#5F LD (HL),7 LDIR LD HL,#5860 LD DE,#5861 LD BC,#1F LD (HL),2 LDIR LD HL,#5880 LD DE,#5881 LD BC,#1FF LD (HL),4 LDIR LD HL,#5A80 LD DE,#5A81 LD BC,#7F LD (HL),7 LDIR LD HL,#586D LD (HL),7 LD HL,#586E LD (HL),7 LD HL,#586B LD (HL),7 LD HL,#586A LD (HL),7 LD HL,#5869 LD (HL),7 LD HL,#58BA LD (HL),7 LD HL,#58B9 LD (HL),7 LD HL,#58DB LD (HL),7 LD HL,#58DE LD (HL),7 LD HL,#58DA LD (HL),7 LD HL,#58D9 LD (HL),7 LD HL,#58D8 LD (HL),7 LD HL,#58F8 LD (HL),7 LD HL,#58F9 LD (HL),7 LD HL,#58FA LD (HL),7 LD HL,#58FB LD (HL),7 LD HL,#58FC LD (HL),7 LD HL,#58FD LD (HL),7 LD HL,#58FE LD (HL),7 LD HL,#591A LD (HL),7 LD HL,#591B LD (HL),7 LD HL,#591C LD (HL),7 LD HL,#591D LD (HL),7 LD HL,#593D LD (HL),7 LD HL,#4000 LD DE,#9000 LD B,8*4 SPR2 PUSH BC PUSH HL LD B,32 SPR1 LD A,(DE) LD (HL),A INC DE INC L DJNZ SPR1 POP HL CALL HL_Down POP BC DJNZ SPR2 LD A,7 CALL Pages LD HL,#4000 LD DE,#C000 LD BC,#1B00 LDIR LL HALT CALL Xorscr CALL Gum CALL Print CALL Dece CALL Staer PUSH HL CALL TexP POP HL LD BC,#F7FE IN A,(C) BIT 0,A JR NZ,$+7 LD A,1 LD (Changer),A LD BC,#F7FE IN A,(C) BIT 1,A JR NZ,$+7 LD A,0 LD (Changer),A LD BC,#EFFE IN A,(C) BIT 0,A JR NZ,$+7 LD A,0 LD (MusicBox),A LD BC,#EFFE IN A,(C) BIT 1,A JR NZ,$+7 LD A,1 LD (MusicBox),A LD BC,#BFFE IN A,(C) BIT 0,A JR NZ,LSSK LD A,(Pager) INC A CP 9 JR NZ,$+3 XOR A LD (Pager),A LSSK JR LL Staer LD IX,Star Staer2 LD L,(IX+1) LD H,0 ADD HL,HL ADD HL,HL PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL POP DE ADD HL,DE LD DE,Geniration_Table ADD HL,DE LD C,(IX) LD B,0 ADD HL,BC LD (HL),#8 LD A,(IX+0) ADD A,(IX+2) CP 68 JR C,$+3 XOR A LD (IX+0),A INC IX INC IX INC IX LD A,(IX) CP 255 JR NZ,Staer2 RET CLA DB 0 Gum LD A,(CLA) INC A LD (CLA),A CALL Bumer LD A,(CLA) ADD A,32 CALL Bumer LD A,(CLA) ADD A,50 CALL Bumer LD A,(CLA) ADD A,128 CALL Bumer LD A,(CLA) ADD A,130 CALL Bumer LD A,(CLA) ADD A,198 CALL Bumer LD A,(CLA) ADD A,191 CALL Bumer LD A,(CLA) ADD A,200 CALL Bumer LD A,(CLA) ADD A,202 CALL Bumer RET Bumer LD L,A LD H,0 ADD HL,HL LD DE,#9D00 LD A,(Changer) SLA A ADD A,D LD D,A ADD HL,DE LD C,(HL) INC HL LD L,(HL) LD H,0 ADD HL,HL ADD HL,HL PUSH HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL POP DE ADD HL,DE LD DE,Geniration_Table ADD HL,DE LD B,0 ADD HL,BC LD DE,Char LD B,7 LLD PUSH BC PUSH HL LD B,7 CHC LD A,(DE) OR (HL) LD (HL),A INC HL INC DE DJNZ CHC POP HL LD BC,68 ADD HL,BC POP BC DJNZ LLD RET Dece LD HL,Geniration_Table LD BC,#0009 L1L LD A,(HL) INC HL OR (HL) DEC HL SRL A LD (HL),A INC HL DJNZ L1L DEC C JR NZ,L1L RET TexP LD A,(Pager) LD L,A LD H,0 ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL ADD HL,HL LD DE,Text ADD HL,DE PUSH HL POP BC LD HL,#D000+128 LD D,128 PRTX PUSH DE LD A,(BC) INC BC LD E,A LD D,#88 PUSH HL DUP 8 LD A,(DE) LD (HL),A INC D INC H EDUP POP HL INC L POP DE DEC D JR NZ,PRTX RET Print LD HL,Geniration_Table LD BC,#C000+128 CALL LineCh LD BC,#C400+128 CALL LineCh LD BC,#C000+128+32 CALL LineCh LD BC,#C400+128+32 CALL LineCh LD BC,#C000+128+64 CALL LineCh LD BC,#C400+128+64 CALL LineCh LD BC,#C000+128+32+64 CALL LineCh LD BC,#C400+128+32+64 CALL LineCh LD BC,#C800 CALL LineCh LD BC,#CC00 CALL LineCh LD BC,#C800+32 CALL LineCh LD BC,#CC00+32 CALL LineCh LD BC,#C800+64 CALL LineCh LD BC,#CC00+64 CALL LineCh LD BC,#C800+32+64 CALL LineCh LD BC,#CC00+32+64 CALL LineCh LD BC,#C800+128 CALL LineCh LD BC,#CC00+128 CALL LineCh LD BC,#C800+128+32 CALL LineCh LD BC,#CC00+128+32 CALL LineCh LD BC,#C800+128+64 CALL LineCh LD BC,#CC00+128+64 CALL LineCh LD BC,#C800+128+32+64 CALL LineCh LD BC,#CC00+128+32+64 CALL LineCh LD BC,#D000 CALL LineCh LD BC,#D400 CALL LineCh LD BC,#D000+32 CALL LineCh LD BC,#D400+32 CALL LineCh LD BC,#D000+64 CALL LineCh LD BC,#D400+64 CALL LineCh LD BC,#D000+32+64 CALL LineCh LD BC,#D400+32+64 CALL LineCh PUSH HL LD HL,#C000+128+9 LD DE,#9400 LD B,2 SPR21 PUSH BC PUSH HL LD B,6 SPR11 LD A,(DE) AND (HL) LD (HL),A INC DE INC L DJNZ SPR11 POP HL CALL HL_Down POP BC DJNZ SPR21 LD HL,#C000+128+23+1024 LD DE,#9000+1072+(9*4) LD B,7*8-2-4 SPR22 PUSH BC PUSH HL LD B,9 SPR12 LD A,(DE) AND (HL) LD (HL),A INC DE INC L DJNZ SPR12 POP HL CALL HL_Down POP BC DJNZ SPR22 LD HL,#D000+64+256 LD DE,#9000+1576+32 LD B,15 SPR23 PUSH BC PUSH HL DUP 32 LD A,(DE) AND (HL) LD (HL),A INC DE INC L EDUP POP HL CALL HL_Down POP BC DEC B JP NZ,SPR23 POP HL RET LineCh DUP 16 LD D,#80 LD A,(HL) INC HL RRCA RRCA RRCA RRCA OR (HL) INC HL LD E,A DUP 3 LD A,(DE) LD (BC),A INC D INC B EDUP LD A,(DE) LD (BC),A INC D INC C LD A,(HL) INC HL RRCA RRCA RRCA RRCA OR (HL) INC HL LD E,A DUP 3 LD A,(DE) LD (BC),A INC D DEC B EDUP LD A,(DE) LD (BC),A INC C EDUP DUP 4 INC HL EDUP RET HL_Down INC H ; А - Используется в своих целях LD A,H AND 7 ;HL - На один пиксель ниже в экран. обл. RET NZ LD A,L ADD A,32 LD L,A RET C LD A,H SUB 8 LD H,A RET Im2 DI LD HL,#BE00 LD A,H LD I,A INC A _IM2 LD (HL),A INC L JP NZ,_IM2 INC H LD (HL),A LD A,#C3 LD (#BFBF),A LD HL,BREAKING_2 LD (#BFC0),HL IM 2 EI RET BREAKING_2 DI PUSH AF,BC,DE,HL LD A,(#5B5C) LD (H5B5C),A LD A,0 CALL Pages LD A,(MusicBox) CP 1 CALL Z,#C005 LD A,(MusicBox) CP 0 CALL Z,#E005 LD A,(H5B5C) CALL Pages POP HL,DE,BC,AF EI RET H5B5C DB 0 Xorscr LD A,(#5B5C) XOR %00001010 LD (#5B5C),A LD BC,#7FFD OUT (C),A RET ;- ----------------------------------------------------------- - Pages AND %00001111 ; A - Номер страницы OR %00010000 ;BC - Используется в своих целях LD BC,#7FFD OUT (C),A ;Страница перекючилась LD (#5B5C),A RET Char DD #01020208020201 DD #0206080A080602 DD #02080A0F0A0802 DD #080A0F0F0F0A08 DD #02080A0F0A0802 DD #0206080A080602 DD #01020208020100 Star DB 0,9,1;X,Y DB 7,0,1 ;X,Y DB 16,4,2;X,Y DB 36,24,1;X,Y DB 62,16,3 ;X,Y DB 8,13,1;X,Y DB 28,0,2;X,Y DB 19,9,3 ;X,Y DB 32,20,1;X,Y DB 11,9,2;X,Y DB 19,26,1;X,Y DB 32,31,2;X,Y DB 11,20,1;X,Y DB 30,27,2;X,Y DB 11,19,3;X,Y DB 255 Stek DW 0 DS 8 Geniration_Table DS 68*32,#F DS 768 ;Пусто MusicBox DB 1 Changer DB 1 Pager DB 0 Text DB "Поздравляю тебя с днем рождения." DB "Теперь тебе 23 года. Ты наверное" DB "ждал чего-то крутого и особеного" DB "а может и нет... Нажми Enter" DB "Управление:~1~,~2~ - траектория " DB " ~9~,~0~ - музыка " DB " ENTER - следующая стр" DB " " DB "Вот тебе и 23... " DB " " DB " ...И немного подождав, я начну" DB " тебе желать..." DB "Дом, машину, дачу, баню, полный " DB "жрачки холодильник, запивать ты" DB "будеш пивом, а носить джинсы с" DB "карманом, кодить новые программы" DB "слушать музыку AY, INTERNET без" DB "BUG'ов злючих,денег кучу, знаний" DB "тучу,крикнем весело ура!!! " DB " День рожденья начался !!! " DB "Вот такой стишок... " DB " Gift писался около 6-ти часов " DB "просто для того чтобы сделать " DB "хорошее настроение в бездник... " DB "Gift credits: Code FiREsTarter" DB " Music FireSTARter" DB " Text fiRESTARTer" DB " GFX firestARTer" DB "Хватит, на сегодня это все :) " DB "это был FIRESTARTER из команды " DB "HDS, а сайт наш: " DB "www.bugsy.narod.ru " DB " " DB " К О Н Е Ц . " DB " " DB " 17.09.2003" END DISPLAY END-25000