Compucolor.org – Virtual Media

Listing of file='MONITR.BAS;01' on disk='vmedia/ncc_5-sector.ccvf'

130 DIM A$(16),S(16):A$= "0123456789ABCDEF"
140 PLOT 12:PRINT
150 PRINT TAB( 25)"M O N I T O R":PRINT
160 PRINT :INPUT "SELECT: DUMP, ENTER, EXECUTE, OR BASIC. ";C$
180 IF LEFT$ (C$,2)= "DU"THEN 310
190 IF LEFT$ (C$,2)= "EN"THEN 610
200 IF LEFT$ (C$,2)= "EX"THEN 910
230 IF LEFT$ (C$,2)= "BA"THEN END
240 GOTO 160
300 REM -DUMP SUBROUTINE
310 PRINT :PRINT "ENTER START AND END ADDRESS IN HEX."
320 PRINT :INPUT "START ADDRESS ";H$(1)
330 INPUT "END ADDRESS ";H$(2):PRINT
340 FOR I= 1TO 2
350 H$= H$(I)
360 GOSUB 1510
370 D(I)= D
380 NEXT I
390 FOR I= D(1)TO D(2)STEP 16
393 D= I
396 GOSUB 1710
400 PRINT MID$ (A$,H4+ 1,1);MID$ (A$,H3+ 1,1);
405 PRINT MID$ (A$,H2+ 1,1);MID$ (A$,H1+ 1,1);"  ";
410 FOR J= 0TO 15
420 D= PEEK (I+ J)
430 GOSUB 1710
440 PRINT MID$ (A$,H2+ 1,1);MID$ (A$,H1+ 1,1);" ";
450 NEXT J
460 PRINT
470 NEXT I
480 GOTO 160
600 REM -ENTER SUBROUTINE
610 PRINT :INPUT "START ADDRESS OF ENTER IN HEX ";H$
615 PRINT "ENTER  /  TO TERMINATE"
620 GOSUB 1510
630 D1= D
640 FOR I= 0TO 8191
650 INPUT H$
660 IF H$= "/"THEN 160
670 GOSUB 1510
680 POKE D1+ I,D
690 NEXT I
700 GOTO 160OS DIM INPUT REM -EXECUTE SUBROUTINE
910 PRINT :INPUT "EXECUTE ADDRESS IN HEX ";H1$
920 FOR I= 2TO 4STEP 2
930 H$= MID$ (H1$,I- 1,2)
940 GOSUB 1510
950 POKE 33285- I/ 2,D
960 NEXT I
970 Y= CALL (0)
980 GOTO 160
1500 REM -HEX TO DECIMAL SUBROUTINE
1510 D= 0:RESTORE
1520 Z= LEN (H$)
1530 FOR K= ZTO 1STEP - 1
1540 READ M
1550 FOR J= 1TO 16
1560 IF MID$ (H$,K,1)= MID$ (A$,J,1)THEN X= J- 1:J= 16
1570 NEXT J
1580 D= D+ X* M
1590 NEXT K
1600 RETURN
1700 REM -DECIMAL TO HEX SUROUTINE
1710 H4= INT (D/ 4096)
1720 H3= INT ((D- H4* 4096)/ 256)
1730 H2= INT ((D- ((H4* 4096)+ (H3* 256)))/ 16)
1740 H1= D- ((H4* 4096)+ (H3* 256)+ (H2* 16))
1750 RETURN
1800 REM -2 DIGIT DEC TO HEX SUBROUTINE
1810 H2= INT (D/ 16)
1820 H1= D- H2* 16
1830 RETURN
2000 DATA 1,16,256,4096