5 REM Memory Dump by Tom Price 10 DEFINTA-Z:DEFSNGA,I,D:DIM D(3),D$(3):GOSUB2000:GOSUB2200 15 ON KEY GOSUB ,,,,,,,3000:KEY(8) ON 20 CLS:LINE INPUT"Start Address (HEX): ";S$ 25 FOR I=1 TO LEN(S$):IF ASC(MID$(S$,I,1))>96 AND ASC(MID$(S$,I,1))<103 THEN MID$(S$,I,1)=CHR$(ASC(MID$(S$,I,1))-32) 27 NEXT I 30 IFLEFT$(S$,1)="Q"THENEND 40 A=(INSTR(H$,MID$(S$,1,1))-1)*4096+(INSTR(H$,MID$(S$,2,1))-1)*256+(INSTR(H$,MID$(S$,3,1))-1)*16+(INSTR(H$,MID$(S$,4,1))-1) 50 FORI=ATOA+48STEP8:D=I:GOSUB2020:PRINTD$":";:FORK=0TO7:B=PEEK(I+K) 60 B$=MID$(H$,B\16+1,1)+MID$(H$,BMOD16+1,1) 70 PRINT" "B$; 80 NEXTK:PRINTCHR$(245)" ";:FORL=0TO7:B=PEEK(I+L) 90 IFB>31ANDB<>127THENPRINTCHR$(B);ELSEPRINT"."; 95 NEXTL:PRINT:NEXT I 100 Q$=INKEY$:IFQ$<>" "ANDQ$<>"R"ANDQ$<>"r"ANDQ$<>"Q"ANDQ$<>"q"THEN100ELSEIFQ$=" "THENA=A+56:GOTO50 110 IFQ$<>"q"ANDQ$<>"Q"THEN20 120 MENU 2000 H$="0123456789ABCDEF" 2010 RETURN 2020 FLAG=(D>32767) 2030 DW=D+(65535*FLAG) 2040 D(3)=DW\4096-(15*FLAG) 2050 D(2)=(DW MOD 4096)\256-(15*FLAG) 2060 D(1)=(DW MOD 256)\16-(15*FLAG) 2070 D(0)=(DW MOD 16)-(15*FLAG) 2080 D$="":FORJ=3TO0STEP-1 2090 D$=D$+MID$(H$,D(J)+1,1) 2100 NEXTJ 2110 RETURN 2200 CLS:PRINTTAB(13)"Memory Dump":PRINTTAB(13)STRING$(11,241) 2210 PRINT"Commands:"; 2220 PRINTTAB(10)"[SPACE] advances display" 2230 PRINTTAB(10)"[R] restarts program" 2240 PRINTTAB(10)"[Q] ends program":PRINT:PRINT 2250 PRINTTAB(10)"Press [ENTER] to start"; 2260 IFINKEY$<>CHR$(13)THEN2260ELSERETURN 3000 MENU