0 'LDGRFX.BA loads GRAFIX.CO -> 100/102 5 '(c) 1989, R. H. Pigford, Newark, DE 10 'Loader style learned from DIRACC.BA 15 'by S. Burgoyne & H. Ferreyra 20 GOTO 35 25 Z=1-Z:PRINT@193,CHR$(229+Z);:RETURN 30 A$=INKEY$:IFA$=""THEN30ELSERETURN 35 CLS:PRINT"Loader for "CHR$(27)+"p GRAFIX.CO "CHR$(27)+"q (2807 bytes).":PRINT@44,CHR$(171)" 1989 R. H. Pigford, Newark, DE" 40 PRINT"<1> load just below HIMEM." 45 PRINT"<2> load at ANY address." 50 PRINT"<3> QUIT." 55 GOSUB30:X=VAL(A$):IFX<1ORX>3THEN55ELSEONXGOTO65,75,60 60 MENU 65 AD=HIMEM:CLEAR256,AD-2807:SA=HIMEM 70 PRINT"Loading under old HIMEM.":GOTO90 75 INPUT"Start Address ";SA 80 IF SA<32768ORSA>60150THENBEEP:GOTO35 85 CLEAR 256,SA:SA=HIMEM 90 PRINT"Loading from "SA"to"SA+2807 95 D$="0123456789ABCDEF" 100 M=SA 105 A=SA:FOR J= 1 TO 60 110 READ LN$:FOR I=1 TO LEN(LN$) STEP 2 115 C1=(INSTR(1,D$,MID$(LN$,I,1))-1)*16 120 C2=INSTR(1,D$,MID$(LN$,I+1,1))-1 125 POKE A,C1+C2:A=A+1:NEXTI:M=M+(LEN(LN$)/2):PRINT@270,M;:GOSUB25:NEXT J 130 'poke in adjusted CALL addresses 135 PRINT@310,"ADJUSTING"; 140 FOR I=1 TO 124 145 READ C,R 150 HI=INT((SA+R)/256):LO=(SA+R)-HI*256 155 POKE (SA+C),LO:POKE (SA+C+1),HI 160 GOSUB25:NEXTI 165 'poke in buffer RET values 170 PRINT@310,STRING$(9," ");:FOR X=1 TO 1920:POKE (SA+886+X),210:GOSUB25:M=M+1:PRINT@270,M;:NEXTX:BEEP 175 'adjust optional features 180 LF$="Y":L=24:N$="GRAFIX" 185 CLS:PRINT "Toggle "CHR$(27)+"p GRAFIX.CO "CHR$(27)+"q options then save." 190 PRINT@40,"CODE now loaded:"SA" - "(SA+2800) 195 PRINT@80,"<1> Send Linefeed with CR (Y/N)..":PRINT@115,LF$ 200 PRINT@120,"<2> Value for Linespacing..........":PRINT@154,L 205 PRINT:PRINT@200,"<3> Create "CHR$(27)"p "N$+".CO "CHR$(27)"q" 210 GOSUB 30:A=VAL(A$):IFA<1ORA>3THEN195ELSEONAGOTO 215,235,250 215 'toggle LF or NO LF decision 220 IFLF$="Y"THENLF$="N":GOTO230 225 IFLF$="N"THENLF$="Y" 230 GOTO195 235 'line incrememt value for printer 240 CLS:PRINT"Check your printer manual.":PRINT" Epson uses 24":PRINT" Gemini 10x uses 16":PRINT" Diconix (DIP #5 = 0) uses 24":PRINT" HP Quietjet (DIP #5 up) uses 24" 245 INPUT"Value for line spacing increment";L:GOTO185 250 'POKE values of options then SAVE 255 IF LF$="N" THEN 260 ELSE 265 260 FOR I=SA+795 TO (SA+795+4):POKE I,0:NEXTI 265 'poke linespacing value 270 POKE (SA+751),L 275 'save and return to main menu 290 PRINT"Any key to SAVEM "CHR$(34)N$CHR$(34);:GOSUB30 295 SAVEM N$,SA,SA+2807-1,SA 300 END 305 'hex vals assembled from GRAFIX.DO 310 DATA"C303EBF6EA7AEC6DEEEDF573EB3E01 315 DATA"327AEC210801CD42EDCDA1EB2138EB 320 DATA"CDA211CD96EBCDE80FFE50CAABEBFE 325 DATA"53CA60EBFE51CA2FEBC317EBCD5BEE 330 DATA"1E38CD60EDC91B704752414649581B 335 DATA"7120AB524850203C503E72696E7420 340 DATA"3C533E617665202E2E3C513E756974 345 DATA"00CD5BEE1E38CD60ED3E00327AEC21 350 DATA"0101C3FAEB226BEE3E05327AEC1100 355 DATA"0915C8D5CD60ED11F0002A6BEE1922 360 DATA"6BEED17BC6085FC37EEBB7CD4272CA 365 DATA"96EBCDE80FC9210801CD7C42CD5D42 370 DATA"C9CDA1EB2121ECCDA211CD96EBFE31 375 DATA"FAB4EBFE33CAB4EBFE35F2B4EBD630 380 DATA"327AECCDA1EB213EECCDA211CD96EB 385 DATA"FE31FAD4EBFE35F2D4EBD630327BEC 390 DATA"CD5CECCD5BEE1E38CD60ED210101CD 395 DATA"DAEDDA41EECD42EDE53A7AECA7CA14 400 DATA"ECFE01CA8AECFE02CAA4ECFE04CA00 405 DATA"EDE12C3E09BDCA41EE2601C3FAEB50 410 DATA"727420484549474854206D756C7469 415 DATA"706C653F203C312C322C343E005072 420 DATA"74205749445448206D756C7469706C 425 DATA"653F203C312C322C332C343E003A7B 430 DATA"EC47110300217EEC7EB8CA6FEC19C3 435 DATA"66EC237E327CEC237E327DECC90101 440 DATA"000001F00002E00103D00204C003CD 445 DATA"EAED1EF0216DEE7ECD17EEDA37EE23 450 DATA"1DC292ECCD0CEEC314EC06021680CD 455 DATA"EAED1EF0216DEE0E007EA2C4ECEC7A 460 DATA"0F577EA2C4F1EC7A0F577EA2C4F6EC 465 DATA"7A0F577EA2C4FBEC7A0707075779CD 470 DATA"17EEDA37EE231DC2B0ECCD0CEE1608 475 DATA"05C2A8ECC314EC79F6C04FC979F630 480 DATA"4FC979F60C4FC979F6034FC9060416 485 DATA"80CDEAED1EF0216DEE0E007EA2C438 490 DATA"ED7A0F577EA2C43DED7A075779CD17 495 DATA"EEDA37EE231DC20CEDCD0CEE7A0F0F 500 DATA"5705C204EDC314EC79F6F04FC979F6 505 DATA"0F4FC9CD5BEECD4942CD7C42F5CD2B 510 DATA"EEF1E5CD97EDE1243E29BCC248EDCD 515 DATA"4E42C906800E0016002A6BEE0C79FE 520 DATA"09C8E57EA0D5C5C28BEDCA91EDC1D1 525 DATA"E123147AFEF0C26EED780F471CC364 530 DATA"EDCD4C74C379EDCD4D74C379ED21EB 535 DATA"FF2C7E2FCDB5EDE5CDACEDE17DFEF1 540 DATA"C29AEDC92A6BEE7723226BEEC9471E 545 DATA"080E00CDBFED79C978CDCFED780F47 550 DATA"79074F1D7BC2BFEDC9E601C4D5EDC9 555 DATA"79F6804FC93E1BCD3F6D3E33CD3F6D 560 DATA"3E18CD3F6DC93E1BCD3F6D3E4CCD3F 565 DATA"6D3A7CECCD3F6D3A7DECCD3F6DC93E 570 DATA"1BCD3F6D3E32CD3F6DC93E0DCD3F6D 575 DATA"3E0ACD3F6DC9A7C5E5217BEC46E1CD 580 DATA"3F6D05CA29EEC31FEEC1C93EFF0000 585 DATA"0000003DC8C32DEEE1CD2942CD2942 590 DATA"C303EB3A7AECA7CA54EECD01EECD29 595 DATA"42CD4E42C303EBCD2942CD2942C9E5 600 DATA"3A7AECA7CA69EE216DEE226BEEE1C9 605 DATA"0000 610 'adjustable address values 615 DATA 1,13,3,0,5,388,7,887,9,2807 620 DATA 11,125,16,388,22,588,25,171 625 DATA 28,66,34,160,42,181,47,106,52 630 DATA 57,55,33,58,869,63,618,107,869 635 DATA 112,618,117,388,123,260,126 640 DATA 885,131,388,140,618,146,885 645 DATA 150,885,158,136,165,160,182 650 DATA 171,185,299,191,160,196,190 655 DATA 201,190,206,190,211,388,214 660 DATA 171,217,328,223,160,228,222 665 DATA 233,222,238,389,241,358,244 670 DATA 869,249,618,255,740,258,843 675 DATA 261,588,265,388,269,286,274 680 DATA 404,279,430,284,522,292,843 685 DATA 297,260,359,389,366,392,371 690 DATA 377,375,368,380,390,385,391 695 DATA 405,756,410,887,414,801,417 700 DATA 833,422,412,425,790,428,286 705 DATA 435,756,440,887,447,502,455 710 DATA 507,463,512,471,517,480,801 715 DATA 483,833,488,442,491,790,497 720 DATA 434,500,286,527,756,532,887 725 DATA 539 ,578,547,583,554,801,557 730 DATA 833,562,534,565,790,573,526 735 DATA 576,286,589,869,599,821,604 740 DATA 673,612,594,625,885,638,661 745 DATA 641,667,652,632,659,622,665 750 DATA 643,671,643,680,703,684,694 755 DATA 691,676,695,885,700,885,709 760 DATA 713,715,729,726,713,732,735 765 DATA 767,390,773,391,805,389,814 770 DATA 819,817,809,831,823,841,13,844 775 DATA 388,848,862,851,779,860,13,871 780 DATA 388,875,883,878,887,881,885