00010 ;Z80 00020 ;KAYPRO MEMORY TEST ROUTINE 00030 ;THIS ROUTINE RELOCATES THE MEMORY TEST PROGRAM TO 00040 ;HIGH MEMORY AND INITIALIZES THE KAYPRO FOR THE TEST 00050 ; 00060 ;WRITTEN BY LARRY KRAEMER 09/25/83 00070 ; 00080 ;FIRST MOVE THE PROGRAM TO HIGH MEMORY AND THEN START 00090 ;THE TEST. SELECT THE VIDEO PAGE, TURN OFF THE DRIVES, 00100 ;TURN OFF THE DRIVE LED'S, AND THEN CLEAR THE SCREEN. 00110 ;THE TEST WILL RUN UNTIL POWER IS TURNED OFF OR THE 00120 ;SYSTEM IS REBOOTED. 00130 ;WRITTEN AND ASSEMBLED ON A RADIO SHACK MODEL 1. 00140 INIT EQU 5F00H 00150 INIT1 EQU 5100H 00160 DEST EQU 6000H 00170 LOOP EQU INIT+3DH 00180 MSG1 EQU INIT+60H 00190 MSG2 EQU INIT+7DH 00200 MSG3 EQU INIT+95H 00210 EROR DEFL 604EH 00220 DELAY DEFL 5FCDH 00230 DELAY0 DEFL 5FD0H 00240 DELAY1 DEFL 5FD3H 00250 AON DEFL 5FB1H 00260 AOFF DEFL 5FB8H 00270 BON DEFL 5FBFH 00280 BOFF DEFL 5FC6H 00290 VIDON DEFL 5FE0H 00300 VIDOF DEFL 5FE9H 00310 BEGN EQU 6000H 00320 MOOR EQU 6012H 00330 SCREN DEFL 607AH 00340 PRIT DEFL 60A0H 00350 AGIN DEFL 6081H 00360 RETN DEFL 609BH 00370 DON DEFL 608BH 00380 CONVT DEFL 60ADH 00390 DLEY DEFL 60B9H 00400 MESAG EQU 5189H 00410 MESAG1 EQU 5199H 00420 MESAG2 EQU 51CFH 00430 MESAG3 EQU 5206H 00440 MESAG4 EQU 523BH 00450 MESAG5 EQU 5274H 00460 MESAG6 EQU 52A6H 00470 MESAG7 EQU 52B4H 00480 MESAG8 EQU 52C0H 00490 ZIP EQU 52D3H 00500 ORG 0100H ;ORGIN IS 0100H 00510 START LD HL,CVR ;POINT TO COVER PAGE 00520 LD DE,INIT1 ;DESTINATION 00530 LD BC,ECVR-CVR ;NUMBER OF BYTES 00540 LDIR ;MOVE IT 00550 LD HL,RAM ;POINT TO SOURCE 00560 LD DE,INIT ;POINT TO DESTINATION 00570 LD BC,ERAM-RAM ;NUMBER OF BYTES 00580 LDIR ;BLOCK MOVE IT HIGH 00590 LD HL,RAM1 ;POINT TO SOURCE 00600 LD DE,DEST ;POINT TO DESTINATION 00610 LD BC,ERAM1-RAM1 ;NUMBER OF BYTES 00620 LDIR ;MOVE IT HIGH 00630 JP INIT1 ;JUMP HIGH AND INIT 00640 RAM IN A,(01CH) ;READ SYSTEM STATUS PORT 00650 SET 7,A ;TURN ON VIDEO PAGE 00660 SET 6,A ;TURN OFF DRIVES 00670 RES 0,A ;TURN OFF DRIVE LIGHT A 00680 RES 1,A ;TURN OFF DRIVE LIGHT B 00690 OUT (01CH),A ;SEND TO PORT 1CH 00700 LD HL,3000H ;START OF VIDEO PAGE 00710 LD DE,3001H ;NEXT ADDR 00720 LD BC,0BFFH ;TOTAL VIDEO PAGE 00730 LD (HL),20H ;CLEAR SCREEN 00740 LDIR ;BLOCK MOVE 00750 LD HL,MSG1 ;POINT TO MESSAGE 1 00760 LD DE,3419H ;STORE ON SCREEN 00770 LD BC,1DH ;NUMBER OF BYTES 00780 LDIR ;MOVE IT 00790 LD HL,MSG2 ;POINT TO MESSAGE 2 00800 LD DE,351BH ;STORE ON SCREEN 00810 LD BC,18H ;NUMBER OF BYTES 00820 LDIR ;MOVE IT 00830 LD HL,MSG3 ;POINT TO MESSAGE 3 00840 LD DE,3619H ;STORE ON SCREEN 00850 LD BC,1CH ;NUMBER OF BYTES 00860 LDIR ;MOVE IT 00870 LP LD BC,06H ;6 TIMES THRU LOOP 00880 LOP PUSH BC ;SAVE COUNT 00890 CALL DELAY ;DELAY SOME 00900 CALL AON ;TURN ON A LED 00910 CALL DELAY ;WAIT 00920 CALL AOFF ;TURN OFF A LED 00930 CALL DELAY ;WAIT 00940 CALL BON ;TURN ON B LED 00950 CALL DELAY ;WAIT 00960 CALL BOFF ;TURN OFF B LED 00970 POP BC ;RESTORE COUNT 00980 DEC BC ;SUBTRACT 1 00990 LD A,B ;CHECK FOR ZERO 01000 OR C ;OR DO AGAIN 01010 JP NZ,LOOP ;DO AGAIN 01020 JP DEST ;START MEMORY TEST NOW 01030 MSG01 DEFB 4BH ;K 01040 DEFB 41H ;A 01050 DEFB 59H ;Y 01060 DEFB 50H ;P 01070 DEFB 52H ;R 01080 DEFB 4FH ;O 01090 DEFB 20H ;SPACE 01100 DEFB 49H ;I 01110 DEFB 49H ;I 01120 DEFB 20H ;SPACE 01130 DEFB 4DH ;M 01140 DEFB 45H ;E 01150 DEFB 4DH ;M 01160 DEFB 4FH ;O 01170 DEFB 52H ;R 01180 DEFB 59H ;Y 01190 DEFB 20H ;SPACE 01200 DEFB 54H ;T 01210 DEFB 45H ;E 01220 DEFB 53H ;S 01230 DEFB 54H ;T 01240 DEFB 20H ;SPACE 01250 DEFB 50H ;P 01260 DEFB 52H ;R 01270 DEFB 4FH ;O 01280 DEFB 47H ;G 01290 DEFB 52H ;R 01300 DEFB 41H ;A 01310 DEFB 4DH ;M 01320 MSG02 DEFB 54H ;T 01330 DEFB 65H ;E 01340 DEFB 73H ;S 01350 DEFB 74H ;T 01360 DEFB 69H ;I 01370 DEFB 6EH ;N 01380 DEFB 67H ;G 01390 DEFB 20H ;SP 01400 DEFB 30H ;0 01410 DEFB 30H ;0 01420 DEFB 30H ;0 01430 DEFB 01H ;1 01440 DEFB 68H ;H 01450 DEFB 20H ;SP 01460 DEFB 74H ;T 01470 DEFB 68H ;H 01480 DEFB 72H ;R 01490 DEFB 75H ;U 01500 DEFB 20H ;SP 01510 DEFB 34H ;4 01520 DEFB 31H ;1 01530 DEFB 30H ;0 01540 DEFB 30H ;0 01550 DEFB 68H ;H 01560 MSG03 DEFB 54H ;T 01570 DEFB 65H ;E 01580 DEFB 73H ;S 01590 DEFB 74H ;T 01600 DEFB 20H ;SP 01610 DEFB 62H ;B 01620 DEFB 61H ;A 01630 DEFB 64H ;D 01640 DEFB 20H ;SP 01650 DEFB 61H ;A 01660 DEFB 64H ;D 01670 DEFB 64H ;D 01680 DEFB 72H ;R 01690 DEFB 65H ;E 01700 DEFB 73H ;S 01710 DEFB 73H ;S 01720 DEFB 20H ;SP 01730 DEFB 77H ;W 01740 DEFB 69H ;I 01750 DEFB 74H ;T 01760 DEFB 68H ;H 01770 DEFB 20H ;SP 01780 DEFB 42H ;B 01790 DEFB 69H ;I 01800 DEFB 74H ;T 01810 DEFB 63H ;C 01820 DEFB 68H ;H 01830 DEFB 6BH ;K 01840 DAON IN A,(1CH) ;GET STATUS BYTE 01850 SET 0,A ;TURN ON LED 01860 OUT (1CH),A ;OUT TO PORT 01870 RET 01880 DAOFF IN A,(1CH) ;GET STATUS BYTE 01890 RES 0,A ;TURN OFF LED 01900 OUT (1CH),A ;OUT TO PORT 01910 RET 01920 DBON IN A,(1CH) ;GET STATUS BYTE 01930 SET 1,A ;TURN ON LED 01940 OUT (1CH),A ;OUT TO PORT 01950 RET 01960 DBOFF IN A,(1CH) ;GET STATUS BYTE 01970 RES 1,A ;TURN OFF LED 01980 OUT (1CH),A ;OUT TO PORT 01990 RET 02000 DELY LD BC,0002H ;TWO TIMES THRU 02010 DELY0 LD HL,00H ;TIMES FF 02020 DELY1 DEC HL ;SUBTRACT ONE 02030 LD A,H ;CHECK FOR ZERO 02040 OR L ;LOOP AGAIN IF NOT 0 02050 JP NZ,DELAY1 ;JUMP HERE 02060 DEC BC ;DEC BC BY ONE 02070 LD A,B ;CHECK FOR ZERO 02080 OR C ;HERE TO 02090 JP NZ,DELAY0 02100 RET 02110 VON PUSH AF ;SAVE REG PAIR 02120 IN A,(1CH) ;GET STATUS BYTE 02130 SET 7,A ;TURN ON VIDEO 02140 OUT (1CH),A ;SEND OUT TO PORT 02150 POP AF ;RESTORE 02160 RET 02170 VOF PUSH AF ;SAVE REG PAIR 02180 IN A,(1CH) ;GET STATUS BYTE 02190 RES 7,A ;TURN OFF VIDEO 02200 OUT (1CH),A ;SEND TO PORT 02210 POP AF ;RESTORE 02220 RET 02230 ERAM DEFB 00H ;END MARKER 02240 NOP 02250 NOP 02260 NOP 02270 NOP 02280 NOP 02290 NOP 02300 NOP 02310 NOP 02320 NOP 02330 NOP 02340 NOP 02350 ;******************************************************** 02360 ;THIS RAM CHECKING PROGRAM WILL TEST ALL MEMORY FROM 02370 ;0001H THRU 4100H. IT WILL ROOT THRU MEMORY AND 02380 ;FIND ANY ERRORS THAT MAY OCCUR. LET IT RUN FOR 02390 ;SEVERAL HOURS AND TEST ANY BAD ADDRESSES DISPLAYED 02400 ;IN THE TOP LEFT OF THE SCREEN WITH THE BITCKECKING 02410 ;PROGRAM. THIS PROGRAM WILL RUN UNTIL POWER IS 02420 ;DROPPED OR SYSTEM IS REBOOTED. 02430 ;******************************************************** 02440 ;******************************************************** 02450 ;WRITTEN BY LARRY KRAEMER FOR THE KAYPRO II 09/25/83 02460 ;******************************************************** 02470 ;******************************************************** 02480 RAM1 CALL VIDON ;TURN ON VIDEO PAGE 02490 LD A,(3BCFH) ;GET SCREEN VALUE 02500 XOR 0AH ;STAR/SPACE 02510 LD (3BCFH),A ;STORE ON SCREEN 02520 CALL VIDOF ;TURN OFF VIDEO PAGE 02530 AGN LD HL,0001H ;FIRST TEST LOCATION 02540 XOR A ;CLEAR REG A 02550 MORE LD (HL),A ;PLACE VALUE IN MEMORY 02560 LD C,A ;PUT VALUE IN REG C 02570 PUSH AF ;SAVE REG'S AF 02580 LD A,C ;GET VALUE FROM C 02590 LD (HL),A ;PLACE VALUE IN MEMORY 02600 INC HL ;POINT TO NEXT TEST ADDR 02610 CALL VIDON ;TURN ON VIDEO PAGE 02620 LD (3927H),HL ;DISPLAY TO SCREEN 02630 CALL VIDOF ;TURN OFF VIDEO PAGE 02640 LD A,H ;GET MSB OF ADDR 02650 CP 41H ;TOP OF TEST ADDRESS 02660 JP Z,BEGN ;DONE SO START OVER 02670 POP AF ;RESTORE ORIG TEST ADDR 02680 LD (HL),A ;PUT VALUE IN MEMORY 02690 DEC HL ;BACK TO ORIG ADDR 02700 DEC HL ;BACK TO PREVIOUS ADDR 02710 LD (HL),A ;PUT VALUE IN MEMORY 02720 LD B,A ;SAVE VALUE IN B REG 02730 LD A,(HL) ;GET VALUE AT LOC'N HL 02740 CP B ;CHECK AGAINST REG B 02750 CALL NZ,EROR ;ERROR HAS OCCURED 02760 INC HL ;GET ORIG TEST POS'N 02770 INC HL ;GO ONE BEYOND 02780 LD A,(HL) ;GET VALUE AT THAT POS'N 02790 CP B ;CHECK AGAINST REG B 02800 CALL NZ,EROR ;ERROR HAS OCCURED 02810 ;******************************************************** 02820 ;CHANGE THIS INSTRUCTION TO CALL Z,EROR IF YOU WANT 02830 ;TO SEE THE PROGRAM WORK. IT WILL DISPLAY THE TEST 02840 ;ADDRESS AS BAD DURING EACH LOOP OF THE PROGRAM. 02850 ;THIS WILL SLOW THE TEST DOWN A LOT, BUT IT IS GOOD 02860 ;TO KNOW THAT IT ALL WORKS. GOOD LUCK !!!!! 02870 ;IF YOU HAVE PROBLEMS DON'T CALL ME $#"!"#$%&'()** 02880 ;BECAUSE I COULDN'T FIGURE IT OUT EITHER. 02890 ;******************************************************** 02900 DEC HL ;BACK TO ORIG POS'N 02910 LD A,(HL) ;BACK TO ORIG POS'N 02920 CP B ;CHECK AGAINST REG B 02930 CALL NZ,EROR ;ERROR HAS OCCURED 02940 INC (HL) ;INC VALUE IN MEMORY 02950 INC C ;INC TEST VALUE 02960 LD A,(HL) ;GET VALUE IN MEMORY 02970 LD B,A ;SAVE VALUE IN REG B 02980 CP 00H ;256 BYTES DONE? 02990 JP NZ,MOOR ;LOOP BACK FOR 256 03000 INC HL ;GET NEXT MEMORY VALUE 03010 LD C,0H ;RESET TEST VALUE TO 0 03020 JP MOOR ;DO AGAIN AND AGAIN 03030 ; 03040 ;******************************************************** 03050 ;THIS SUBROUTINE IS ENTERED IF A BAD MEMORY LOCATION IS 03060 ;FOUND. IT CONVERTS HEX VALUES TO ASCII AND DISPLAYS 03070 ;THE BAD ADDRESS TO THE SCREEN. 03080 ;******************************************************** 03090 ; 03100 ERRR PUSH AF ;SAVE REG'S 03110 PUSH BC 03120 PUSH HL 03130 PUSH DE 03140 LD A,H ;GET VALUE FROM H REG 03150 AND 0F0H ;MASK OFF LOW BITS 03160 RRCA ;ROTATE RIGHT 4 TIMES 03170 RRCA 03180 RRCA 03190 RRCA 03200 CALL SCREN ;CHECK THE SCREEN ROUTINE 03210 CALL PRIT ;PRINT IT 03220 LD A,H ;GET NEXT ONE TO PRINT 03230 AND 0FH ;MASK OFF HIGH BITS 03240 CALL PRIT ;THEN PRINT IT 03250 LD A,L ;GET NEXT ONT AND PRINT 03260 AND 0F0H ;MASK OFF HIGH BITS 03270 RRCA ;ROTATE 4 TIMES 03280 RRCA 03290 RRCA 03300 RRCA 03310 CALL PRIT ;PRINT NEXT LETTER OF ADDR 03320 LD A,L ;GET LAST ONE 03330 AND 0FH ;AND PRINT IT 03340 CALL PRIT 03350 POP DE ;RESTORE ALL REG'S 03360 POP HL 03370 POP BC 03380 POP AF 03390 RET 03400 SCRN PUSH AF ;SAVE REG'S 03410 CALL VIDON ;TURN ON VIDEO 03420 LD DE,3000H ;3000H KAY 03430 AGAN LD A,(DE) ;CHECK SCREEN 03440 CP 20H ;IS IT A SPACE ?? 03450 JP Z,DON ;SPACE SO CONTINUE 03460 INC DE ;CHECK NEXT ONE 03470 JP AGIN ;DO FOR 4 OR SPACE 03480 DONE LD A,E ;CHECK ADDRESS OF POINTER 03490 CP 04H ;LAST ONE ?? 03500 JP NZ,RETN ;LAST ONE SO RETURN 03510 LD A,20H ;FILL SCREEN WITH SPACES 03520 DEC DE 03530 LD (DE),A 03540 DEC DE 03550 LD (DE),A 03560 DEC DE 03570 LD (DE),A 03580 DEC DE 03590 LD (DE),A 03600 RETR CALL VIDOF ;TURN OFF VIDEO 03610 POP AF ;RESTORE REG'S 03620 RET 03630 PRNT PUSH AF ;SAVE REG'S 03640 CALL VIDON ;TURN ON VIDEO 03650 CP 0AH ;>= 10 ? 03660 JP NC,CONVT ;NO SO CONVERT 03670 ADD A,30H ;ADD 30 TO A 03680 JR $+4 ;JUMP AHEAD SOME 03690 CVT ADD A,37H ;ADD MOR 03700 LD (DE),A ;STORE ON SCREEN 03710 CALL DLEY ;DELAY SOME 03720 CALL VIDOF ;TURN OFF VIDEO 03730 INC DE ;RESTORE REG'S 03740 POP AF 03750 RET 03760 DLAY PUSH BC ;SAVE BC 03770 LD B,0FFH ;256 TIMES 03780 DJNZ $-0 ;DO UNTIL 00 03790 POP BC ;RESTORE BC 03800 RET 03810 ERAM1 DEFB 00H ;END MARKER 03820 DEFB 00H 03830 DEFB 00H 03840 DEFB 00H 03850 DEFB 00H 03860 DEFB 00H 03870 DEFB 00H 03880 DEFB 00H 03890 DEFB 00H 03900 DEFB 00H 03910 DEFB 00H 03920 DEFB 00H 03930 DEFB 00H 03940 DEFB 00H 03950 CVR IN A,(1CH) 03960 SET 7,A 03970 SET 6,A 03980 RES 0,A 03990 RES 1,A 04000 OUT (1CH),A 04010 LD HL,3000H 04020 LD DE,3001H 04030 LD BC,0BFFH 04040 LD (HL),20H 04050 LDIR 04060 LD HL,MESAG 04070 LD DE,3420H 04080 LD BC,MESAG1-MESAG 04090 LDIR 04100 LD HL,MESAG1 04110 LD DE,3510H 04120 LD BC,MESAG2-MESAG1 04130 LDIR 04140 LD HL,MESAG2 04150 LD DE,3590H 04160 LD BC,MESAG3-MESAG2 04170 LDIR 04180 LD HL,MESAG3 04190 LD DE,3610H 04200 LD BC,MESAG4-MESAG3 04210 LDIR 04220 LD HL,MESAG4 04230 LD DE,3690H 04240 LD BC,MESAG5-MESAG4 04250 LDIR 04260 LD HL,MESAG5 04270 LD DE,3710H 04280 LD BC,MESAG6-MESAG5 04290 LDIR 04300 LD HL,MESAG6 04310 LD DE,3820H 04320 LD BC,MESAG7-MESAG6 04330 LDIR 04340 LD HL,MESAG7 04350 LD DE,38A0H 04360 LD BC,MESAG8-MESAG7 04370 LDIR 04380 LD HL,MESAG8 04390 LD DE,3920H 04400 LD BC,ZIP-MESAG8 04410 LDIR 04420 NOP 04430 LD BC,30H 04440 CALL DELAY0 04450 CALL DELAY 04460 JP INIT 04470 MEG0 DEFB 47H 04480 DEFB 52H 04490 DEFB 45H 04500 DEFB 45H 04510 DEFB 54H 04520 DEFB 49H 04530 DEFB 4EH 04540 DEFB 47H 04550 DEFB 53H 04560 DEFB 20H 04570 DEFB 20H 04580 DEFB 21H 04590 DEFB 20H 04600 DEFB 21H 04610 DEFB 20H 04620 DEFB 21H 04630 MEG1 DEFB 54H 04640 DEFB 68H 04650 DEFB 69H 04660 DEFB 73H 04670 DEFB 20H 04680 DEFB 44H 04690 DEFB 69H 04700 DEFB 61H 04710 DEFB 67H 04720 DEFB 6EH 04730 DEFB 6FH 04740 DEFB 73H 04750 DEFB 74H 04760 DEFB 69H 04770 DEFB 63H 04780 DEFB 20H 04790 DEFB 50H 04800 DEFB 72H 04810 DEFB 6FH 04820 DEFB 67H 04830 DEFB 72H 04840 DEFB 61H 04850 DEFB 6DH 04860 DEFB 20H 04870 DEFB 49H 04880 DEFB 73H 04890 DEFB 20H 04900 DEFB 46H 04910 DEFB 75H 04920 DEFB 72H 04930 DEFB 6EH 04940 DEFB 69H 04950 DEFB 73H 04960 DEFB 68H 04970 DEFB 65H 04980 DEFB 64H 04990 DEFB 20H 05000 DEFB 42H 05010 DEFB 79H 05020 DEFB 20H 05030 DEFB 4CH 05040 DEFB 61H 05050 DEFB 72H 05060 DEFB 72H 05070 DEFB 79H 05080 DEFB 20H 05090 DEFB 4BH 05100 DEFB 72H 05110 DEFB 61H 05120 DEFB 65H 05130 DEFB 6DH 05140 DEFB 65H 05150 DEFB 72H 05160 DEFB 20H 05170 MEG2 DEFB 46H 05180 DEFB 6FH 05190 DEFB 72H 05200 DEFB 20H 05210 DEFB 41H 05220 DEFB 6CH 05230 DEFB 6CH 05240 DEFB 20H 05250 DEFB 4BH 05260 DEFB 61H 05270 DEFB 79H 05280 DEFB 70H 05290 DEFB 72H 05300 DEFB 6FH 05310 DEFB 20H 05320 DEFB 49H 05330 DEFB 49H 05340 DEFB 20H 05350 DEFB 4FH 05360 DEFB 77H 05370 DEFB 6EH 05380 DEFB 65H 05390 DEFB 72H 05400 DEFB 73H 05410 DEFB 2EH 05420 DEFB 20H 05430 DEFB 20H 05440 DEFB 50H 05450 DEFB 6CH 05460 DEFB 65H 05470 DEFB 61H 05480 DEFB 73H 05490 DEFB 65H 05500 DEFB 20H 05510 DEFB 46H 05520 DEFB 65H 05530 DEFB 65H 05540 DEFB 6CH 05550 DEFB 20H 05560 DEFB 46H 05570 DEFB 72H 05580 DEFB 65H 05590 DEFB 65H 05600 DEFB 20H 05610 DEFB 54H 05620 DEFB 6FH 05630 DEFB 20H 05640 DEFB 47H 05650 DEFB 69H 05660 DEFB 76H 05670 DEFB 65H 05680 DEFB 20H 05690 DEFB 49H 05700 DEFB 74H 05710 DEFB 20H 05720 MEG3 DEFB 54H 05730 DEFB 6FH 05740 DEFB 20H 05750 DEFB 41H 05760 DEFB 6EH 05770 DEFB 79H 05780 DEFB 6FH 05790 DEFB 6EH 05800 DEFB 65H 05810 DEFB 20H 05820 DEFB 57H 05830 DEFB 68H 05840 DEFB 6FH 05850 DEFB 20H 05860 DEFB 4EH 05870 DEFB 65H 05880 DEFB 65H 05890 DEFB 64H 05900 DEFB 73H 05910 DEFB 20H 05920 DEFB 49H 05930 DEFB 74H 05940 DEFB 2EH 05950 DEFB 20H 05960 DEFB 20H 05970 DEFB 49H 05980 DEFB 66H 05990 DEFB 20H 06000 DEFB 59H 06010 DEFB 6FH 06020 DEFB 75H 06030 DEFB 20H 06040 DEFB 57H 06050 DEFB 6FH 06060 DEFB 75H 06070 DEFB 6CH 06080 DEFB 64H 06090 DEFB 20H 06100 DEFB 4CH 06110 DEFB 69H 06120 DEFB 6BH 06130 DEFB 65H 06140 DEFB 20H 06150 DEFB 54H 06160 DEFB 6FH 06170 DEFB 20H 06180 DEFB 42H 06190 DEFB 65H 06200 DEFB 63H 06210 DEFB 6FH 06220 DEFB 6DH 06230 DEFB 65H 06240 DEFB 20H 06250 MEG4 DEFB 41H 06260 DEFB 20H 06270 DEFB 52H 06280 DEFB 65H 06290 DEFB 67H 06300 DEFB 69H 06310 DEFB 73H 06320 DEFB 74H 06330 DEFB 65H 06340 DEFB 72H 06350 DEFB 65H 06360 DEFB 64H 06370 DEFB 20H 06380 DEFB 4FH 06390 DEFB 77H 06400 DEFB 6EH 06410 DEFB 65H 06420 DEFB 72H 06430 DEFB 20H 06440 DEFB 41H 06450 DEFB 6EH 06460 DEFB 64H 06470 DEFB 20H 06480 DEFB 52H 06490 DEFB 65H 06500 DEFB 63H 06510 DEFB 65H 06520 DEFB 69H 06530 DEFB 76H 06540 DEFB 65H 06550 DEFB 20H 06560 DEFB 41H 06570 DEFB 6EH 06580 DEFB 79H 06590 DEFB 20H 06600 DEFB 44H 06610 DEFB 6FH 06620 DEFB 63H 06630 DEFB 75H 06640 DEFB 6DH 06650 DEFB 65H 06660 DEFB 6EH 06670 DEFB 74H 06680 DEFB 61H 06690 DEFB 74H 06700 DEFB 69H 06710 DEFB 6FH 06720 DEFB 6EH 06730 DEFB 2FH 06740 DEFB 55H 06750 DEFB 70H 06760 DEFB 64H 06770 DEFB 61H 06780 DEFB 74H 06790 DEFB 65H 06800 DEFB 73H 06810 DEFB 20H 06820 MEG5 DEFB 54H 06830 DEFB 6FH 06840 DEFB 20H 06850 DEFB 54H 06860 DEFB 68H 06870 DEFB 65H 06880 DEFB 20H 06890 DEFB 50H 06900 DEFB 72H 06910 DEFB 6FH 06920 DEFB 67H 06930 DEFB 72H 06940 DEFB 61H 06950 DEFB 6DH 06960 DEFB 20H 06970 DEFB 53H 06980 DEFB 65H 06990 DEFB 6EH 07000 DEFB 64H 07010 DEFB 20H 07020 DEFB 20H 07030 DEFB 24H 07040 DEFB 31H 07050 DEFB 30H 07060 DEFB 2EH 07070 DEFB 30H 07080 DEFB 30H 07090 DEFB 20H 07100 DEFB 41H 07110 DEFB 6CH 07120 DEFB 6FH 07130 DEFB 6EH 07140 DEFB 67H 07150 DEFB 20H 07160 DEFB 57H 07170 DEFB 69H 07180 DEFB 74H 07190 DEFB 68H 07200 DEFB 20H 07210 DEFB 41H 07220 DEFB 20H 07230 DEFB 44H 07240 DEFB 69H 07250 DEFB 73H 07260 DEFB 6BH 07270 DEFB 20H 07280 DEFB 54H 07290 DEFB 6FH 07300 DEFB 3AH 07310 DEFB 20H 07320 MEG6 DEFB 4CH 07330 DEFB 61H 07340 DEFB 72H 07350 DEFB 72H 07360 DEFB 79H 07370 DEFB 20H 07380 DEFB 4BH 07390 DEFB 72H 07400 DEFB 61H 07410 DEFB 65H 07420 DEFB 6DH 07430 DEFB 65H 07440 DEFB 72H 07450 DEFB 20H 07460 MEG7 DEFB 52H 07470 DEFB 23H 07480 DEFB 32H 07490 DEFB 20H 07500 DEFB 42H 07510 DEFB 6FH 07520 DEFB 78H 07530 DEFB 20H 07540 DEFB 31H 07550 DEFB 39H 07560 DEFB 30H 07570 DEFB 20H 07580 MEG8 DEFB 4AH 07590 DEFB 61H 07600 DEFB 63H 07610 DEFB 6BH 07620 DEFB 73H 07630 DEFB 6FH 07640 DEFB 6EH 07650 DEFB 2CH 07660 DEFB 20H 07670 DEFB 4DH 07680 DEFB 4FH 07690 DEFB 2EH 07700 DEFB 20H 07710 DEFB 36H 07720 DEFB 33H 07730 DEFB 37H 07740 DEFB 35H 07750 DEFB 35H 07760 DEFB 20H 07770 ZIPP DEFB 20H 07780 ECVR DEFB 00H 07790 END START