10 REM ENTCOM.BAS by Emmanuel ROCHE 20 : 30 PRINT 40 INPUT "ENT-to-COM> Enter ENT File Name: " ; file$ 50 PRINT 60 file1$ = file$ + ".ENT" 70 OPEN "I", #1, file1$ 80 INPUT #1, line$ 90 IF LEFT$ (line$, 2) <> "EN" THEN PRINT CHR$ (7) "First line must contain EN(TER), then a space, followed by the load address." : PRINT : PRINT line$ : PRINT : END 100 IF LEFT$ (line$, 3) = "EN " THEN sa = 4 110 IF LEFT$ (line$, 6) = "ENTER " THEN sa = 7 120 ta$ = MID$ (line$, sa) 130 ta = VAL ("&H" + ta$) 140 IF ta = 0 THEN typ$ = ".BIN" 150 IF ta = &H100 THEN typ$ = ".COM" 160 file2$ = file$ + typ$ 170 OPEN "R", #2, file2$, 1 180 FIELD #2, 1 AS db2$ 190 lc = 1 200 en = 1 210 : 220 INPUT #1, line$ 230 la$ = LEFT$ (line$, 4) 240 PRINT la$ "|" ; 250 la = VAL ("&H" + la$) 260 IF en = 1 AND la <> ta THEN PRINT : PRINT : PRINT CHR$ (7) "Big problem: ENTER address <> DUMP address..." : PRINT : END 270 IF en = 1 THEN fa = la 280 IF MID$ (line$, 5, 2) = ": " THEN ra = 6 290 IF MID$ (line$, 5, 3) = ": " THEN ra = 7 300 alpha$ = "" 310 FOR i = 0 TO 15 320 db$ = MID$ (line$, ra+i*3, 3) 330 IF db$ = "/" THEN PRINT " |" alpha$ : GOTO 510 340 PRINT db$ ; 350 db = VAL ("&H" + db$) 360 al$ = CHR$ (db) 370 LSET db2$ = al$ 380 PUT #2 390 IF (db < &H20) OR (db > &H7E) THEN al$ = "." 400 alpha$ = alpha$ + al$ 410 la = la + 1 420 NEXT i 430 PRINT " |" alpha$ 440 lc = lc + 1 450 en = en + 1 460 ' IF lc = 24 THEN lc = 0 : WHILE INKEY$ = "" : WEND 470 IF i = 16 AND RIGHT$ (line$, 1) = "/" THEN GOTO 510 480 IF EOF (1) THEN GOTO 510 490 GOTO 220 500 : 510 PRINT 520 PRINT "First address: " ; HEX$ (fa, 4) 530 PRINT "Last address: " ; HEX$ (la - 1, 4) 540 PRINT "Bytes read: " ; HEX$ (la - fa, 4) 550 PRINT "Records read: " ; HEX$ ( (la - fa) / 128, 2) 560 PRINT 570 CLOSE 580 END