home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
KAYPRO
/
KAYDIAG.LBR
/
LOMEM.MQC
/
LOMEM.MAC
Wrap
Text File
|
2000-06-30
|
19KB
|
780 lines
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