0 'LDGRFX.BA loads GRAFIX.CO w/options 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 (2800 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-2800: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+2800 95 D$="0123456789ABCDEF" 100 M=SA 105 A=SA:FOR J= 1 TO 59 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 DIM C(118),R(118):PRINT@310,"ADJUSTING"; 140 FOR I=1 TO 118 145 READ C(I),R(I) 150 HI=INT((SA+R(I))/256):LO=(SA+R(I))-HI*256 155 POKE (SA+C(I)),LO:POKE (SA+C(I)+1),HI 160 GOSUB25:NEXTI 165 'poke in buffer zeros 170 PRINT@310,STRING$(9," ");:FOR X=1 TO 1920:POKE (SA+879+X),0: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":GOTO230 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+788 TO (SA+788+4):POKE I,0:NEXTI 265 'poke linespacing value 270 POKE (SA+744),L 275 'save and return to main menu 280 CLS:BEEP:BEEP:PRINT"Write down these addresses! Then edit":PRINT"lines 800-820 of "CHR$(27)"p SKETCH.BA "CHR$(27)"q to agree." 285 PRINT"GF# ="SA:PRINT"PF# ="SA+379:PRINT"BS# ="SA+880:PRINT"BE# ="SA+2800:PRINT"FZ# ="SA+112 290 PRINT"Any key to SAVEM "CHR$(34)N$CHR$(34);:GOSUB30 295 SAVEM N$,SA,SA+2800-1,SA 300 END 305 'hex vals assembled from GRAFIX.DO 310 DATA "3E01320000210801CD0000CD3AE121 315 DATA "0000CDA211CD0000CDE80FFE50CA00 320 DATA "00FE53CA0000FE51CA0000C30000CD 325 DATA "00001E38CD0000C91B704752414649 330 DATA "581B7120AB524850203C503E72696E 335 DATA "74203C533E617665202E2E3C513E75 340 DATA "697400CD00001E38CD00003E003200 345 DATA "00210101C300002200003E05320000 350 DATA "11000915C8D5CD000011F0002A0000 355 DATA "19220000D17BC6085FC30000B7CD42 360 DATA "72CA0000CDE80FC9210801CD7C42CD 365 DATA "5D42C9CD0000210000CDA211CD0000 370 DATA "FE31FA0000FE33CA0000FE35F20000 375 DATA "D630320000CD0000210000CDA211CD 380 DATA "0000FE31FA0000FE35F20000D63032 385 DATA "0000CD0000CD00001E38CD00002101 390 DATA "01CD0000DA0000CD0000E53A0000A7 395 DATA "CA0000FE01CA0000FE02CA0000FE04 400 DATA "CA0000E12C3E09BDCA00002601C300 405 DATA "005072696E7420484549474854206D 410 DATA "756C7469706C653F203C312C322C34 415 DATA "3E005072696E74205749445448206D 420 DATA "756C7469706C653F203C312C322C33 425 DATA "2C343E003A0000471103002100007E 430 DATA "B8CA000019C30000237E320000237E 435 DATA "320000C90101000001F00002E00103 440 DATA "D00204C003CD00001EF02100007ECD 445 DATA "0000DA0000231DC20000CD0000C300 450 DATA "0006021680CD00001EF02100000E00 455 DATA "7EA2C400007A0F577EA2C400007A0F 460 DATA "577EA2C400007A0F577EA2C400007A 465 DATA "0707075779CD0000DA0000231DC200 470 DATA "00CD0000160805C20000C3000079F6 475 DATA "C04FC979F6304FC979F60C4FC979F6 480 DATA "034FC906041680CD00001EF0210000 485 DATA "0E007EA2C400007A0F577EA2C40000 490 DATA "7A075779CD0000DA0000231DC20000 495 DATA "CD00007A0F0F5705C20000C3000079 500 DATA "F6F04FC979F60F4FC9CD0000CD4942 505 DATA "CD7C42F5CD0000F1E5CD0000E1243E 510 DATA "29BCC20000CD4E42C906800E001600 515 DATA "2A00000C79FE09C8E57EA0C20000CA 520 DATA "0000C1D1E123147AFEF0C20000780F 525 DATA "471CC30000D5C5CD4C74C30000D5C5 530 DATA "CD4D74C3000021EBFF2C7E2FCD0000 535 DATA "E5CD0000E17DFEF1C20000C92A0000 540 DATA "7723220000C9471E080E00CD000079 545 DATA "C978CD0000780F4779074F1D7BC200 550 DATA "00C9E601C40000C979F6804FC93E1B 555 DATA "CD3F6D3E33CD3F6D3E18CD3F6DC93E 560 DATA "1BCD3F6D3E4CCD3F6D3A0000CD3F6D 565 DATA "3A0000CD3F6DC93E1BCD3F6D3E32CD 570 DATA "3F6DC93E0DCD3F6D3E0ACD3F6DC9A7 575 DATA "C5E521000046E1CD3F6D05CA0000C3 580 DATA "0000C1C93EFF00000000003DC8C300 585 DATA "00E1CD2942CD2942C300003A0000A7 590 DATA "CA0000CD0000CD2942CD4E42C30000 595 DATA "CD2942CD2942C9E53A0000A7CA0000 600 DATA "210000220000E1C90000 605 'adjust absolute addresses 610 DATA 3,379,9,579,12,158,15,53,21,147 615 DATA 29,168,34,93,39,44,42,20,45,862 620 DATA 50,609,94,862,99,609,104,379 625 DATA 110,247,113,878,118,379,127,609 630 DATA 133,878,137,878,145,123,152,147 635 DATA 169,158,172,286,178,147,183,177 640 DATA 188,177,193,177,198,379,201,158 645 DATA 204,317,210,147,215,209,220,209 650 DATA 225,380,228,349,231,862,236,609 655 DATA 242,733,245,836,248,579,252,379 660 DATA 256,273,261,395,266,421,271,513 665 DATA 279,836,284,247,350,380,357,383 670 DATA 362,368,366,359,371,381,376,382 675 DATA 396,749,401,880,405,794,408,826 680 DATA 413,403,416,783,419,273,426,749 685 DATA 431,880,438,493,446,498,454,503 690 DATA 462,508,471,794,474,826,479,433 695 DATA 482,783,488,425,491,273,518,749 700 DATA 523,880,530,569,538,574,545,794 705 DATA 548,826,553,525,556,783,564,517 710 DATA 567,273,580,862,590,814,595,666 715 DATA 603,585,616,878,627,650,630,658 720 DATA 641,623,648,613,656,632,664,632 725 DATA 673,696,677,687,684,669,688,878 730 DATA 693,878,702,706,708,722,719,706 735 DATA 725,728,760,381,766,382,798,380 740 DATA 807,812,810,802,824,816,834,0 745 DATA 837,379,841,855,844,772,853,0 750 DATA 864,379,868,876,871,880,874,878