DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦cba207c0f⟧

    Length: 2688 (0xa80)
    Names: »EDITLINE.CML«

Derivation

└─⟦9c4522ab9⟧ Bits:30004602 COMAL-80 version 1.8 og COMPAS-80 V3.02
    └─ ⟦this⟧ »EDITLINE.CML« 

Hex Dump

0x000…020 39 30 30 30 20 2f 2f 20 57 72 69 74 74 65 6e 20 6f 63 74 6f 62 65 72 20 2d 38 31 0d 39 30 30 31   ┆9000 // Written october -81 9001┆
0x020…040 20 2f 2f 20 62 79 20 48 2e 43 2e 20 47 72 6f 73 62 7c 6c 6c 2d 50 6f 75 6c 73 65 6e 2c 20 47 6c   ┆ // by H.C. Grosbøll-Poulsen, Gl┆
0x040…060 2e 52 79 65 2c 20 44 65 6e 6d 61 72 6b 0d 39 30 30 32 20 50 52 4f 43 20 45 44 49 54 4c 49 4e 45   ┆.Rye, Denmark 9002 PROC EDITLINE┆
0x060…080 28 4f 52 47 5f 58 23 2c 20 4f 52 47 5f 59 23 2c 20 52 45 46 20 4c 49 4e 45 24 2c 20 52 45 46 20   ┆(ORG_X#, ORG_Y#, REF LINE$, REF ┆
0x080…0a0 4b 45 59 42 4f 41 52 44 23 29 20 43 4c 4f 53 45 44 0d 39 30 30 33 20 20 44 49 4d 20 43 4f 44 45   ┆KEYBOARD#) CLOSED 9003  DIM CODE┆
0x0a0…0c0 24 20 4f 46 20 31 35 2c 20 48 45 4c 50 24 20 4f 46 20 38 30 20 2f 2f 20 4e 42 3a 20 54 68 65 20   ┆$ OF 15, HELP$ OF 80 // NB: The ┆
0x0c0…0e0 6c 65 6e 67 74 68 0d 39 30 30 34 20 20 58 23 3a 3d 31 3b 20 52 45 54 55 52 4e 42 41 43 4b 3a 3d   ┆length 9004  X#:=1; RETURNBACK:=┆
0x0e0…100 46 41 4c 53 45 0d 39 30 30 35 20 20 45 58 45 43 20 49 4e 44 41 54 41 49 4e 49 54 0d 39 30 30 36   ┆FALSE 9005  EXEC INDATAINIT 9006┆
0x100…120 20 20 43 55 52 53 4f 52 20 4f 52 47 5f 58 23 2c 20 4f 52 47 5f 59 23 0d 39 30 30 37 20 20 52 45   ┆  CURSOR ORG_X#, ORG_Y# 9007  RE┆
0x120…140 50 45 41 54 20 0d 39 30 30 38 20 20 20 45 58 45 43 20 49 4e 44 41 54 41 28 4b 45 59 42 4f 41 52   ┆PEAT  9008   EXEC INDATA(KEYBOAR┆
0x140…160 44 23 2c 4d 41 43 48 49 4e 45 43 4f 44 45 29 0d 39 30 30 39 20 20 20 43 41 53 45 20 4b 45 59 42   ┆D#,MACHINECODE) 9009   CASE KEYB┆
0x160…180 4f 41 52 44 23 20 4f 46 20 0d 39 30 31 30 20 20 20 57 48 45 4e 20 31 33 2c 20 31 31 2c 20 31 30   ┆OARD# OF  9010   WHEN 13, 11, 10┆
0x180…1a0 0d 39 30 31 31 20 20 20 20 52 45 54 55 52 4e 42 41 43 4b 3a 3d 54 52 55 45 0d 39 30 31 32 20 20   ┆ 9011    RETURNBACK:=TRUE 9012  ┆
0x1a0…1c0 20 57 48 45 4e 20 38 0d 39 30 31 33 20 20 20 20 45 58 45 43 20 43 55 52 53 4f 52 4c 45 46 54 0d   ┆ WHEN 8 9013    EXEC CURSORLEFT ┆
0x1c0…1e0 39 30 31 34 20 20 20 57 48 45 4e 20 31 32 0d 39 30 31 35 20 20 20 20 45 58 45 43 20 43 55 52 53   ┆9014   WHEN 12 9015    EXEC CURS┆
0x1e0…200 4f 52 52 49 47 48 54 0d 39 30 31 36 20 20 20 57 48 45 4e 20 31 32 37 0d 39 30 31 37 20 20 20 20   ┆ORRIGHT 9016   WHEN 127 9017    ┆
0x200…220 45 58 45 43 20 44 45 4c 45 54 45 42 59 54 45 0d 39 30 31 38 20 20 20 57 48 45 4e 20 33 31 0d 39   ┆EXEC DELETEBYTE 9018   WHEN 31 9┆
0x220…240 30 31 39 20 20 20 20 45 58 45 43 20 49 4e 53 45 52 54 42 4c 41 4e 4b 0d 39 30 32 30 20 20 20 4f   ┆019    EXEC INSERTBLANK 9020   O┆
0x240…260 54 48 45 52 57 49 53 45 20 0d 39 30 32 31 20 20 20 20 45 58 45 43 20 57 52 49 54 45 42 59 54 45   ┆THERWISE  9021    EXEC WRITEBYTE┆
0x260…280 0d 39 30 32 32 20 20 20 45 4e 44 43 41 53 45 20 0d 39 30 32 33 20 20 55 4e 54 49 4c 20 52 45 54   ┆ 9022   ENDCASE  9023  UNTIL RET┆
0x280…2a0 55 52 4e 42 41 43 4b 0d 39 30 32 34 20 45 4e 44 50 52 4f 43 20 45 44 49 54 4c 49 4e 45 0d 39 30   ┆URNBACK 9024 ENDPROC EDITLINE 90┆
0x2a0…2c0 32 35 20 2f 2f 0d 39 30 32 36 20 2f 2f 0d 39 30 32 37 20 50 52 4f 43 20 43 55 52 53 4f 52 4c 45   ┆25 // 9026 // 9027 PROC CURSORLE┆
0x2c0…2e0 46 54 0d 39 30 32 38 20 20 49 46 20 58 23 3e 31 20 54 48 45 4e 20 0d 39 30 32 39 20 20 20 58 23   ┆FT 9028  IF X#>1 THEN  9029   X#┆
0x2e0…300 3a 2d 31 0d 39 30 33 30 20 20 20 43 55 52 53 4f 52 20 4f 52 47 5f 58 23 2b 58 23 2d 31 2c 20 4f   ┆:-1 9030   CURSOR ORG_X#+X#-1, O┆
0x300…320 52 47 5f 59 23 0d 39 30 33 31 20 20 45 4e 44 49 46 20 0d 39 30 33 32 20 45 4e 44 50 52 4f 43 20   ┆RG_Y# 9031  ENDIF  9032 ENDPROC ┆
0x320…340 43 55 52 53 4f 52 4c 45 46 54 0d 39 30 33 33 20 2f 2f 0d 39 30 33 34 20 2f 2f 0d 39 30 33 35 20   ┆CURSORLEFT 9033 // 9034 // 9035 ┆
0x340…360 50 52 4f 43 20 43 55 52 53 4f 52 52 49 47 48 54 0d 39 30 33 36 20 20 49 46 20 58 23 2d 31 3c 4c   ┆PROC CURSORRIGHT 9036  IF X#-1<L┆
0x360…380 45 4e 28 4c 49 4e 45 24 29 20 54 48 45 4e 20 0d 39 30 33 37 20 20 20 58 23 3a 2b 31 0d 39 30 33   ┆EN(LINE$) THEN  9037   X#:+1 903┆
0x380…3a0 38 20 20 20 43 55 52 53 4f 52 20 4f 52 47 5f 58 23 2b 58 23 2d 31 2c 20 4f 52 47 5f 59 23 0d 39   ┆8   CURSOR ORG_X#+X#-1, ORG_Y# 9┆
0x3a0…3c0 30 33 39 20 20 45 4e 44 49 46 20 0d 39 30 34 30 20 45 4e 44 50 52 4f 43 20 43 55 52 53 4f 52 52   ┆039  ENDIF  9040 ENDPROC CURSORR┆
0x3c0…3e0 49 47 48 54 0d 39 30 34 31 20 2f 2f 0d 39 30 34 32 20 2f 2f 0d 39 30 34 33 20 50 52 4f 43 20 49   ┆IGHT 9041 // 9042 // 9043 PROC I┆
0x3e0…400 4e 53 45 52 54 42 4c 41 4e 4b 0d 39 30 34 34 20 20 49 46 20 4c 45 4e 28 4c 49 4e 45 24 29 3e 58   ┆NSERTBLANK 9044  IF LEN(LINE$)>X┆
0x400…420 23 2d 31 20 54 48 45 4e 20 0d 39 30 34 35 20 20 20 48 45 4c 50 24 3a 3d 4c 49 4e 45 24 28 58 23   ┆#-1 THEN  9045   HELP$:=LINE$(X#┆
0x420…440 3a 4c 45 4e 28 4c 49 4e 45 24 29 29 0d 39 30 34 36 20 20 45 4c 53 45 20 0d 39 30 34 37 20 20 20   ┆:LEN(LINE$)) 9046  ELSE  9047   ┆
0x440…460 48 45 4c 50 24 3a 3d 22 22 0d 39 30 34 38 20 20 45 4e 44 49 46 20 0d 39 30 34 39 20 20 49 46 20   ┆HELP$:="" 9048  ENDIF  9049  IF ┆
0x460…480 58 23 3e 31 20 54 48 45 4e 20 0d 39 30 35 30 20 20 20 4c 49 4e 45 24 3a 3d 4c 49 4e 45 24 28 31   ┆X#>1 THEN  9050   LINE$:=LINE$(1┆
0x480…4a0 2c 58 23 2d 31 29 0d 39 30 35 31 20 20 45 4c 53 45 20 0d 39 30 35 32 20 20 20 4c 49 4e 45 24 3a   ┆,X#-1) 9051  ELSE  9052   LINE$:┆
0x4a0…4c0 3d 22 22 0d 39 30 35 33 20 20 45 4e 44 49 46 20 0d 39 30 35 34 20 20 4c 49 4e 45 24 3a 2b 22 20   ┆="" 9053  ENDIF  9054  LINE$:+" ┆
0x4c0…4e0 22 2b 48 45 4c 50 24 0d 39 30 35 35 20 20 45 58 45 43 20 52 45 57 52 49 54 45 4c 49 4e 45 0d 39   ┆"+HELP$ 9055  EXEC REWRITELINE 9┆
0x4e0…500 30 35 36 20 45 4e 44 50 52 4f 43 20 49 4e 53 45 52 54 42 4c 41 4e 4b 0d 39 30 35 37 20 2f 2f 0d   ┆056 ENDPROC INSERTBLANK 9057 // ┆
0x500…520 39 30 35 38 20 2f 2f 0d 39 30 35 39 20 50 52 4f 43 20 4c 49 4e 45 54 45 53 54 0d 39 30 36 30 20   ┆9058 // 9059 PROC LINETEST 9060 ┆
0x520…540 20 49 46 20 4c 45 4e 28 4c 49 4e 45 24 29 3e 58 23 20 54 48 45 4e 20 0d 39 30 36 31 20 20 20 48   ┆ IF LEN(LINE$)>X# THEN  9061   H┆
0x540…560 45 4c 50 24 3a 3d 4c 49 4e 45 24 28 58 23 2b 31 3a 4c 45 4e 28 4c 49 4e 45 24 29 29 0d 39 30 36   ┆ELP$:=LINE$(X#+1:LEN(LINE$)) 906┆
0x560…580 32 20 20 45 4c 53 45 20 0d 39 30 36 33 20 20 20 48 45 4c 50 24 3a 3d 22 22 0d 39 30 36 34 20 20   ┆2  ELSE  9063   HELP$:="" 9064  ┆
0x580…5a0 45 4e 44 49 46 20 0d 39 30 36 35 20 20 49 46 20 58 23 3e 31 20 54 48 45 4e 20 0d 39 30 36 36 20   ┆ENDIF  9065  IF X#>1 THEN  9066 ┆
0x5a0…5c0 20 20 4c 49 4e 45 24 3a 3d 4c 49 4e 45 24 28 31 2c 58 23 2d 31 29 0d 39 30 36 37 20 20 45 4c 53   ┆  LINE$:=LINE$(1,X#-1) 9067  ELS┆
0x5c0…5e0 45 20 0d 39 30 36 38 20 20 20 4c 49 4e 45 24 3a 3d 22 22 0d 39 30 36 39 20 20 45 4e 44 49 46 20   ┆E  9068   LINE$:="" 9069  ENDIF ┆
0x5e0…600 0d 39 30 37 30 20 45 4e 44 50 52 4f 43 20 4c 49 4e 45 54 45 53 54 0d 39 30 37 31 20 2f 2f 0d 39   ┆ 9070 ENDPROC LINETEST 9071 // 9┆
0x600…620 30 37 32 20 2f 2f 0d 39 30 37 33 20 50 52 4f 43 20 44 45 4c 45 54 45 42 59 54 45 0d 39 30 37 34   ┆072 // 9073 PROC DELETEBYTE 9074┆
0x620…640 20 20 45 58 45 43 20 4c 49 4e 45 54 45 53 54 0d 39 30 37 35 20 20 4c 49 4e 45 24 3a 2b 48 45 4c   ┆  EXEC LINETEST 9075  LINE$:+HEL┆
0x640…660 50 24 0d 39 30 37 36 20 20 45 58 45 43 20 52 45 57 52 49 54 45 4c 49 4e 45 0d 39 30 37 37 20 45   ┆P$ 9076  EXEC REWRITELINE 9077 E┆
0x660…680 4e 44 50 52 4f 43 20 44 45 4c 45 54 45 42 59 54 45 0d 39 30 37 38 20 2f 2f 0d 39 30 37 39 20 2f   ┆NDPROC DELETEBYTE 9078 // 9079 /┆
0x680…6a0 2f 0d 39 30 38 30 20 50 52 4f 43 20 57 52 49 54 45 42 59 54 45 0d 39 30 38 31 20 20 45 58 45 43   ┆/ 9080 PROC WRITEBYTE 9081  EXEC┆
0x6a0…6c0 20 4c 49 4e 45 54 45 53 54 0d 39 30 38 32 20 20 4c 49 4e 45 24 3a 2b 43 48 52 24 28 4b 45 59 42   ┆ LINETEST 9082  LINE$:+CHR$(KEYB┆
0x6c0…6e0 4f 41 52 44 23 29 2b 48 45 4c 50 24 0d 39 30 38 33 20 20 45 58 45 43 20 52 45 57 52 49 54 45 4c   ┆OARD#)+HELP$ 9083  EXEC REWRITEL┆
0x6e0…700 49 4e 45 0d 39 30 38 34 20 20 45 58 45 43 20 43 55 52 53 4f 52 52 49 47 48 54 0d 39 30 38 35 20   ┆INE 9084  EXEC CURSORRIGHT 9085 ┆
0x700…720 45 4e 44 50 52 4f 43 20 57 52 49 54 45 42 59 54 45 0d 39 30 38 36 20 2f 2f 0d 39 30 38 37 20 2f   ┆ENDPROC WRITEBYTE 9086 // 9087 /┆
0x720…740 2f 0d 39 30 38 38 20 50 52 4f 43 20 52 45 57 52 49 54 45 4c 49 4e 45 0d 39 30 38 39 20 20 43 55   ┆/ 9088 PROC REWRITELINE 9089  CU┆
0x740…760 52 53 4f 52 20 4f 52 47 5f 58 23 2c 20 4f 52 47 5f 59 23 0d 39 30 39 30 20 20 50 52 49 4e 54 20   ┆RSOR ORG_X#, ORG_Y# 9090  PRINT ┆
0x760…780 4c 49 4e 45 24 2b 22 20 22 3b 0d 39 30 39 31 20 20 43 55 52 53 4f 52 20 4f 52 47 5f 58 23 2b 58   ┆LINE$+" "; 9091  CURSOR ORG_X#+X┆
0x780…7a0 23 2d 31 2c 20 4f 52 47 5f 59 23 0d 39 30 39 32 20 45 4e 44 50 52 4f 43 20 52 45 57 52 49 54 45   ┆#-1, ORG_Y# 9092 ENDPROC REWRITE┆
0x7a0…7c0 4c 49 4e 45 0d 39 30 39 33 20 2f 2f 0d 39 30 39 34 20 2f 2f 0d 39 30 39 35 20 50 52 4f 43 20 49   ┆LINE 9093 // 9094 // 9095 PROC I┆
0x7c0…7e0 4e 44 41 54 41 49 4e 49 54 0d 39 30 39 36 20 20 4d 41 43 48 49 4e 45 43 4f 44 45 3a 3d 56 41 52   ┆NDATAINIT 9096  MACHINECODE:=VAR┆
0x7e0…800 50 54 52 28 43 4f 44 45 24 29 3b 20 42 3a 3d 4d 41 43 48 49 4e 45 43 4f 44 45 0d 39 30 39 37 20   ┆PTR(CODE$); B:=MACHINECODE 9097 ┆
0x800…820 20 50 4f 4b 45 20 42 2c 20 33 30 20 2f 2f 20 4c 44 20 45 2c 32 35 35 0d 39 30 39 38 20 20 50 4f   ┆ POKE B, 30 // LD E,255 9098  PO┆
0x820…840 4b 45 20 42 2b 31 2c 20 32 35 35 0d 39 30 39 39 20 20 50 4f 4b 45 20 42 2b 32 2c 20 31 34 20 2f   ┆KE B+1, 255 9099  POKE B+2, 14 /┆
0x840…860 2f 20 4c 44 20 43 2c 36 0d 39 31 30 30 20 20 50 4f 4b 45 20 42 2b 33 2c 20 36 0d 39 31 30 31 20   ┆/ LD C,6 9100  POKE B+3, 6 9101 ┆
0x860…880 20 50 4f 4b 45 20 42 2b 34 2c 20 32 30 35 20 2f 2f 20 43 41 4c 4c 20 42 44 4f 53 0d 39 31 30 32   ┆ POKE B+4, 205 // CALL BDOS 9102┆
0x880…8a0 20 20 50 4f 4b 45 20 42 2b 35 2c 20 35 0d 39 31 30 33 20 20 50 4f 4b 45 20 42 2b 36 2c 20 30 0d   ┆  POKE B+5, 5 9103  POKE B+6, 0 ┆
0x8a0…8c0 39 31 30 34 20 20 50 4f 4b 45 20 42 2b 37 2c 20 31 38 33 20 2f 2f 20 4f 52 20 41 0d 39 31 30 35   ┆9104  POKE B+7, 183 // OR A 9105┆
0x8c0…8e0 20 20 50 4f 4b 45 20 42 2b 38 2c 20 32 30 32 20 2f 2f 20 4a 50 20 4e 5a 2c 42 0d 39 31 30 36 20   ┆  POKE B+8, 202 // JP NZ,B 9106 ┆
0x8e0…900 20 50 4f 4b 45 20 42 2b 39 2c 20 42 20 4d 4f 44 20 32 35 36 0d 39 31 30 37 20 20 50 4f 4b 45 20   ┆ POKE B+9, B MOD 256 9107  POKE ┆
0x900…920 42 2b 31 30 2c 20 42 20 44 49 56 20 32 35 36 0d 39 31 30 38 20 20 50 4f 4b 45 20 42 2b 31 31 2c   ┆B+10, B DIV 256 9108  POKE B+11,┆
0x920…940 20 35 30 20 2f 2f 20 4c 44 20 28 4b 45 59 42 4f 41 52 44 23 29 2c 41 0d 39 31 30 39 20 20 50 4f   ┆ 50 // LD (KEYBOARD#),A 9109  PO┆
0x940…960 4b 45 20 42 2b 31 32 2c 20 56 41 52 50 54 52 28 4b 45 59 42 4f 41 52 44 23 29 20 4d 4f 44 20 32   ┆KE B+12, VARPTR(KEYBOARD#) MOD 2┆
0x960…980 35 36 0d 39 31 31 30 20 20 50 4f 4b 45 20 42 2b 31 33 2c 20 56 41 52 50 54 52 28 4b 45 59 42 4f   ┆56 9110  POKE B+13, VARPTR(KEYBO┆
0x980…9a0 41 52 44 23 29 20 44 49 56 20 32 35 36 0d 39 31 31 31 20 20 50 4f 4b 45 20 42 2b 31 34 2c 20 32   ┆ARD#) DIV 256 9111  POKE B+14, 2┆
0x9a0…9c0 31 30 20 2f 2f 20 52 45 54 0d 39 31 31 32 20 45 4e 44 50 52 4f 43 20 49 4e 44 41 54 41 49 4e 49   ┆10 // RET 9112 ENDPROC INDATAINI┆
0x9c0…9e0 54 0d 39 31 31 33 20 2f 2f 0d 39 31 31 34 20 2f 2f 0d 39 31 31 35 20 50 52 4f 43 20 49 4e 44 41   ┆T 9113 // 9114 // 9115 PROC INDA┆
0x9e0…a00 54 41 28 52 45 46 20 4b 45 59 42 4f 41 52 44 23 2c 20 4d 41 43 48 49 4e 45 43 4f 44 45 29 0d 39   ┆TA(REF KEYBOARD#, MACHINECODE) 9┆
0xa00…a20 31 31 36 20 20 43 41 4c 4c 20 4d 41 43 48 49 4e 45 43 4f 44 45 0d 39 31 31 37 20 45 4e 44 50 52   ┆116  CALL MACHINECODE 9117 ENDPR┆
0xa20…a40 4f 43 20 49 4e 44 41 54 41 0d 39 31 31 32 20 45 4e 44 50 52 4f 43 20 49 4e 44 41 54 41 49 4e 49   ┆OC INDATA 9112 ENDPROC INDATAINI┆
0xa40…a60 54 0d 39 31 31 33 20 2f 2f 0d 39 31 31 34 20 2f 2f 0d 39 31 31 35 20 50 52 4f 43 20 49 4e 44 41   ┆T 9113 // 9114 // 9115 PROC INDA┆
0xa60…a80 54 41 28 52 45 46 20 4b 45 59 42 4f 41 52 44 23 2c 20 4d 41 43 48 49 4e 45 43 4f 44 45 29 0d 2a   ┆TA(REF KEYBOARD#, MACHINECODE) *┆