Compucolor.org – Virtual Media

Listing of file='DIABLO.C;01' on disk='vmedia/chip_9-sector.ccvf'

### Disk Sector 224 ###
00: 2f 2a 20 44 49 41 42 4c 4f 20 56 30 31 2e 30 30   /* DIABLO V01.00
10: 20 2d 20 44 49 41 42 4c 4f 20 50 52 49 4e 54 45    - DIABLO PRINTE
20: 52 20 53 45 54 55 50 20 52 4f 55 54 49 4e 45 0d   R SETUP ROUTINE.
30: 0a 0d 0a 4d 41 49 4e 5b 44 49 41 42 4c 4f 5d 0d   ...MAIN[DIABLO].
40: 0a 44 49 41 42 4c 4f 5b 0d 0a 49 4e 54 20 53 50   .DIABLO[..INT SP
50: 45 45 44 2c 53 50 45 45 44 43 2c 50 53 49 5a 45   EED,SPEEDC,PSIZE
60: 2c 56 50 49 54 43 48 2c 48 50 49 54 43 48 2c 54   ,VPITCH,HPITCH,T
70: 4f 50 2c 42 4f 54 54 4f 4d 2c 4c 4d 2c 52 4d 2c   OP,BOTTOM,LM,RM,
### Disk Sector 225 ###
00: 54 41 42 53 2c 49 0d 0a 49 4e 54 20 48 4d 49 2c   TABS,I..INT HMI,
10: 56 4d 49 2c 4c 49 4e 45 53 0d 0a 49 4e 54 20 53   VMI,LINES..INT S
20: 50 45 45 44 41 28 37 29 0d 0a 43 48 41 52 20 4f   PEEDA(7)..CHAR O
30: 54 56 45 43 28 30 29 2c 49 4e 56 45 43 28 30 29   TVEC(0),INVEC(0)
40: 0d 0a 53 50 45 45 44 41 28 31 29 3d 31 31 30 0d   ..SPEEDA(1)=110.
50: 0a 53 50 45 45 44 41 28 32 29 3d 31 35 30 0d 0a   .SPEEDA(2)=150..
60: 53 50 45 45 44 41 28 33 29 3d 33 30 30 0d 0a 53   SPEEDA(3)=300..S
70: 50 45 45 44 41 28 34 29 3d 31 32 30 30 0d 0a 53   PEEDA(4)=1200..S
### Disk Sector 226 ###
00: 50 45 45 44 41 28 35 29 3d 32 34 30 30 0d 0a 53   PEEDA(5)=2400..S
10: 50 45 45 44 41 28 36 29 3d 34 38 30 30 0d 0a 53   PEEDA(6)=4800..S
20: 50 45 45 44 41 28 37 29 3d 39 36 30 30 0d 0a 4f   PEEDA(7)=9600..O
30: 54 56 45 43 3d 33 33 32 37 33 0d 0a 49 4e 56 45   TVEC=33273..INVE
40: 43 3d 33 33 32 35 31 0d 0a 50 55 54 43 48 41 52   C=33251..PUTCHAR
50: 20 31 32 3b 50 55 54 43 48 41 52 20 31 34 0d 0a    12;PUTCHAR 14..
60: 50 4c 22 44 49 41 42 4c 4f 20 50 52 49 4e 54 45   PL"DIABLO PRINTE
70: 52 20 53 45 54 55 50 20 50 52 4f 47 52 41 4d 20   R SETUP PROGRAM
### Disk Sector 227 ###
00: 56 30 31 2e 30 30 00 3b 50 55 54 43 48 41 52 20   V01.00.;PUTCHAR
10: 31 35 0d 0a 53 50 45 45 44 43 3d 30 3b 57 48 49   15..SPEEDC=0;WHI
20: 4c 45 28 53 50 45 45 44 43 3d 3d 30 29 0d 0a 20   LE(SPEEDC==0)..
30: 20 5b 0d 0a 20 20 50 53 22 13 53 50 45 45 44 3e    [..  PS".SPEED>
40: 12 22 3b 53 50 45 45 44 3d 47 56 28 31 32 30 30   .";SPEED=GV(1200
50: 29 0d 0a 20 20 53 50 45 45 44 43 3d 30 3b 57 48   )..  SPEEDC=0;WH
60: 49 4c 45 20 28 28 53 50 45 45 44 43 3d 53 50 45   ILE ((SPEEDC=SPE
70: 45 44 43 2b 31 29 3c 38 29 0d 0a 20 20 20 20 49   EDC+1)<8)..    I
### Disk Sector 228 ###
00: 46 20 28 53 50 45 45 44 41 28 53 50 45 45 44 43   F (SPEEDA(SPEEDC
10: 29 3d 3d 53 50 45 45 44 29 20 42 52 45 41 4b 0d   )==SPEED) BREAK.
20: 0a 20 20 49 46 20 28 53 50 45 45 44 43 3e 37 29   .  IF (SPEEDC>7)
30: 20 53 50 45 45 44 43 3d 30 0d 0a 20 20 5d 0d 0a    SPEEDC=0..  ]..
40: 50 53 22 13 54 4f 50 20 4d 41 52 47 49 4e 3e 12   PS".TOP MARGIN>.
50: 22 3b 54 4f 50 3d 47 56 28 30 29 0d 0a 50 53 22   ";TOP=GV(0)..PS"
60: 13 42 4f 54 54 4f 4d 20 4d 41 52 47 49 4e 3e 12   .BOTTOM MARGIN>.
70: 22 3b 42 4f 54 54 4f 4d 3d 47 56 28 30 29 0d 0a   ";BOTTOM=GV(0)..
### Disk Sector 229 ###
00: 50 53 22 13 4c 45 46 54 20 4d 41 52 47 49 4e 3e   PS".LEFT MARGIN>
10: 12 22 3b 4c 4d 3d 47 56 28 31 29 0d 0a 50 53 22   .";LM=GV(1)..PS"
20: 13 52 49 47 48 54 20 4d 41 52 47 49 4e 3e 12 22   .RIGHT MARGIN>."
30: 3b 52 4d 3d 47 56 28 38 30 29 0d 0a 50 53 22 13   ;RM=GV(80)..PS".
40: 54 41 42 20 53 54 4f 50 53 3e 12 22 3b 54 41 42   TAB STOPS>.";TAB
50: 53 3d 47 56 28 38 29 0d 0a 49 46 20 28 54 41 42   S=GV(8)..IF (TAB
60: 53 3d 3d 30 29 20 54 41 42 53 3d 38 0d 0a 50 53   S==0) TABS=8..PS
70: 22 13 43 48 41 52 41 43 54 45 52 20 50 49 54 43   ".CHARACTER PITC
### Disk Sector 230 ###
00: 48 3e 12 22 3b 48 50 49 54 43 48 3d 47 56 28 31   H>.";HPITCH=GV(1
10: 30 29 0d 0a 50 53 22 13 4c 49 4e 45 20 50 49 54   0)..PS".LINE PIT
20: 43 48 3e 12 22 3b 56 50 49 54 43 48 3d 47 56 28   CH>.";VPITCH=GV(
30: 36 29 0d 0a 50 53 22 13 50 41 50 45 52 20 53 49   6)..PS".PAPER SI
40: 5a 45 28 54 45 4e 54 48 53 29 3e 12 22 3b 50 53   ZE(TENTHS)>.";PS
50: 49 5a 45 3d 47 56 28 31 31 30 29 0d 0a 4c 49 4e   IZE=GV(110)..LIN
60: 45 53 3d 50 53 49 5a 45 2a 56 50 49 54 43 48 2f   ES=PSIZE*VPITCH/
70: 31 30 0d 0a 48 4d 49 3d 28 31 32 30 2b 48 50 49   10..HMI=(120+HPI
### Disk Sector 231 ###
00: 54 43 48 2f 32 29 2f 48 50 49 54 43 48 0d 0a 56   TCH/2)/HPITCH..V
10: 4d 49 3d 28 34 38 2b 56 50 49 54 43 48 2f 32 29   MI=(48+VPITCH/2)
20: 2f 56 50 49 54 43 48 0d 0a 50 53 22 16 2a 2a 20   /VPITCH..PS".**
30: 53 45 54 20 50 41 50 45 52 20 54 48 45 4e 20 54   SET PAPER THEN T
40: 59 50 45 20 52 45 54 55 52 4e 20 2a 2a 12 00 3b   YPE RETURN **..;
50: 47 45 54 43 48 41 52 28 29 0d 0a 45 53 43 27 52   GETCHAR()..ESC'R
60: 27 3b 50 55 54 43 48 41 52 27 30 27 2b 53 50 45   ';PUTCHAR'0'+SPE
70: 45 44 43 20 2f 2a 20 53 45 54 20 53 50 45 45 44   EDC /* SET SPEED
### Disk Sector 232 ###
00: 20 4f 46 20 50 4f 52 54 0d 0a 4f 54 56 45 43 28    OF PORT..OTVEC(
10: 30 29 3d 31 34 0d 0a 45 53 43 20 31 33 3b 50 55   0)=14..ESC 13;PU
20: 54 43 48 41 52 27 50 27 20 20 20 20 2f 2a 20 52   TCHAR'P'    /* R
30: 45 53 45 54 0d 0a 49 3d 30 3b 57 48 49 4c 45 28   ESET..I=0;WHILE(
40: 28 49 3d 49 2b 31 29 3c 31 30 30 29 5b 5d 0d 0a   (I=I+1)<100)[]..
50: 45 53 43 20 33 31 3b 50 55 54 43 48 41 52 20 48   ESC 31;PUTCHAR H
60: 4d 49 2b 31 20 2f 2a 20 53 45 54 20 48 4f 52 2e   MI+1 /* SET HOR.
70: 20 50 49 54 43 48 0d 0a 45 53 43 20 33 30 3b 50    PITCH..ESC 30;P
### Disk Sector 233 ###
00: 55 54 43 48 41 52 20 56 4d 49 2b 31 20 2f 2a 20   UTCHAR VMI+1 /*
10: 53 45 54 20 56 45 52 2e 20 50 49 54 43 48 0d 0a   SET VER. PITCH..
20: 45 53 43 20 31 32 3b 50 55 54 43 48 41 52 20 4c   ESC 12;PUTCHAR L
30: 49 4e 45 53 20 2f 2a 20 53 45 54 20 4c 49 4e 45   INES /* SET LINE
40: 53 2f 50 41 47 45 0d 0a 54 41 42 54 4f 28 4c 4d   S/PAGE..TABTO(LM
50: 29 3b 45 53 43 27 39 27 20 20 20 20 20 2f 2a 20   );ESC'9'     /*
60: 53 45 54 20 4c 45 46 54 20 4d 41 52 47 49 4e 0d   SET LEFT MARGIN.
70: 0a 49 3d 4c 4d 3b 57 48 49 4c 45 28 28 49 3d 49   .I=LM;WHILE((I=I
### Disk Sector 234 ###
00: 2b 54 41 42 53 29 3c 3d 52 4d 29 5b 54 41 42 54   +TABS)<=RM)[TABT
10: 4f 28 49 29 3b 45 53 43 27 31 27 5d 20 2f 2a 20   O(I);ESC'1'] /*
20: 53 45 54 20 54 41 42 0d 0a 54 41 42 54 4f 28 52   SET TAB..TABTO(R
30: 4d 29 3b 45 53 43 27 30 27 20 20 20 20 20 2f 2a   M);ESC'0'     /*
40: 20 53 45 54 20 52 49 47 48 54 20 4d 41 52 47 49    SET RIGHT MARGI
50: 4e 0d 0a 50 55 54 43 48 41 52 20 31 33 0d 0a 49   N..PUTCHAR 13..I
60: 46 20 28 42 4f 54 54 4f 4d 29 0d 0a 20 20 5b 0d   F (BOTTOM)..  [.
70: 0a 20 20 49 3d 42 4f 54 54 4f 4d 2b 31 0d 0a 20   .  I=BOTTOM+1..
### Disk Sector 235 ###
00: 20 57 48 49 4c 45 28 49 3d 49 2d 31 29 20 45 53    WHILE(I=I-1) ES
10: 43 20 31 30 0d 0a 20 20 45 53 43 20 27 4c 27 20   C 10..  ESC 'L'
20: 20 20 20 20 20 20 20 20 20 20 20 2f 2a 20 53 45              /* SE
30: 54 20 42 4f 54 54 4f 4d 20 4d 41 52 47 49 4e 0d   T BOTTOM MARGIN.
40: 0a 20 20 50 55 54 43 48 41 52 20 31 32 0d 0a 20   .  PUTCHAR 12..
50: 20 5d 0d 0a 49 46 20 28 54 4f 50 29 0d 0a 20 20    ]..IF (TOP)..
60: 5b 0d 0a 20 20 49 3d 54 4f 50 2b 31 0d 0a 20 20   [..  I=TOP+1..
70: 57 48 49 4c 45 28 49 3d 49 2d 31 29 20 50 55 54   WHILE(I=I-1) PUT
### Disk Sector 236 ###
00: 43 48 41 52 20 31 30 0d 0a 20 20 45 53 43 20 27   CHAR 10..  ESC '
10: 54 27 20 20 20 20 20 20 20 20 20 20 20 20 2f 2a   T'            /*
20: 20 53 45 54 20 54 4f 50 20 4d 41 52 47 49 4e 0d    SET TOP MARGIN.
30: 0a 20 20 5d 0d 0a 4f 54 56 45 43 28 30 29 3d 30   .  ]..OTVEC(0)=0
40: 0d 0a 5d 0d 0a 0d 0a 54 41 42 54 4f 20 49 4e 54   ..]....TABTO INT
50: 20 49 0d 0a 5b 4d 43 20 32 37 2c 31 3b 4d 43 20    I..[MC 27,1;MC
60: 39 2c 31 3b 4d 43 20 49 2c 31 3b 52 45 54 55 52   9,1;MC I,1;RETUR
70: 4e 20 30 5d 0d 0a 0d 0a 45 53 43 20 49 4e 54 20   N 0]....ESC INT
### Disk Sector 237 ###
00: 49 0d 0a 5b 4d 43 20 32 37 2c 31 3b 4d 43 20 49   I..[MC 27,1;MC I
10: 2c 31 3b 52 45 54 55 52 4e 20 30 5d 0d 0a 0d 0a   ,1;RETURN 0]....
20: 47 56 20 49 4e 54 20 44 20 5b 0d 0a 43 48 41 52   GV INT D [..CHAR
30: 20 58 58 28 31 30 29 0d 0a 49 4e 54 20 56 28 30    XX(10)..INT V(0
40: 29 0d 0a 49 46 20 28 47 53 28 58 58 29 29 0d 0a   )..IF (GS(XX))..
50: 20 20 5b 50 4c 22 00 3b 41 54 4f 49 28 58 58 2c     [PL".;ATOI(XX,
60: 56 29 3b 52 45 54 55 52 4e 20 56 28 30 29 5d 0d   V);RETURN V(0)].
70: 0a 20 20 45 4c 53 45 20 5b 50 4c 22 00 3b 52 45   .  ELSE [PL".;RE
### Disk Sector 238 ###
00: 54 55 52 4e 20 44 5d 0d 0a 5d 0d 0a 0d 0a 00 00   TURN D]..]......
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................