0 'LD2GRF.BA loads GRF200.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 GRF200.CO "CHR$(27)+"q (4738 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-4739:SA=HIMEM 70 PRINT"Loading under old HIMEM.":GOTO90 75 INPUT"Start Address ";SA 80 IF SA<32768ORSA>56365THENBEEP:GOTO35 85 CLEAR 256,SA:SA=HIMEM 90 PRINT"Loading from "SA"to"SA+4738 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 127 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 zeros 170 PRINT@310,STRING$(9," ");:FOR X=1 TO 3840:POKE (SA+897+X),201:GOSUB25:M=M+1:PRINT@270,M;:NEXTX:BEEP 175 'adjust optional features 180 LF$="Y":L=24:N$="GRF200" 185 CLS:PRINT "Toggle "CHR$(27)+"p GRAFIX.CO "CHR$(27)+"q options then save." 190 PRINT@40,"CODE now loaded:"SA" - "(SA+4738) 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+806 TO (SA+806+4):POKE I,0:NEXTI 265 'poke linespacing value 270 POKE (SA+762),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+4738,SA 300 END 305 'hex values from GRF200.DO 310 DATA"C3F9DBECDB6FDD6EDF70DF68DC3E01 315 DATA"326FDD211001CD37DECD96DC212EDC 320 DATA"CDFB6DCD8BDCCD1310FE50CAA0DCFE 325 DATA"53CA56DCFE51CA25DCC30DDCCD5CDF 330 DATA"1E78CD55DEC91B704752414649581B 335 DATA"7120AB524850203C503E72696E7420 340 DATA"3C533E617665202E2E3C513E756974 345 DATA"00CD5CDF1E78CD55DEAF326FDD2101 350 DATA"01C3EFDC226CDF3E05326FDD110011 355 DATA"15C8D5CD55DE11F0002A6CDF19226C 360 DATA"DFD17BC6085FC373DCB7CD038BCA8B 365 DATA"DCCD1310C9211001CD9B4FCD7C4FC9 370 DATA"CD96DC2116DDCDFB6DCD8BDCFE31FA 375 DATA"A9DCFE33CAA9DCFE35F2A9DCD63032 380 DATA"6FDDCD96DC2133DDCDFB6DCD8BDCFE 385 DATA"31FAC9DCFE35F2C9DCD6303270DDCD 390 DATA"51DDCD5CDF1E78CD55DE210101CDDB 395 DATA"DEDA42DFCD37DEE53A6FDDA7CA09DD 400 DATA"FE01CA7FDDFE02CA99DDFE04CAF5DD 405 DATA"E12C3E11BDCA42DF2601C3EFDC5072 410 DATA"7420484549474854206D756C746970 415 DATA"6C653F203C312C322C343E00507274 420 DATA"205749445448206D756C7469706C65 425 DATA"3F203C312C322C332C343E003A70DD 430 DATA"471103002173DD7EB8CA64DD19C35B 435 DATA"DD237E3271DD237E3272DDC9010100 440 DATA"0001F00002E00103D00204C003CDEB 445 DATA"DE1EF0216EDF7ECD18DFDA38DF231D 450 DATA"C287DDCD0DDFC309DD06021680CDEB 455 DATA"DE1EF0216EDF0E007EA2C4E1DD7A0F 460 DATA"577EA2C4E6DD7A0F577EA2C4EBDD7A 465 DATA"0F577EA2C4F0DD7A0707075779CD18 470 DATA"DFDA38DF231DC2A5DDCD0DDF160805 475 DATA"C29DDDC309DD79F6C04FC979F6304F 480 DATA"C979F60C4FC979F6034FC906041680 485 DATA"CDEBDE1EF0216EDF0E007EA2C42DDE 490 DATA"7A0F577EA2C432DE7A075779CD18DF 495 DATA"DA38DF231DC201DECD0DDF7A0F0F57 500 DATA"05C2F9DDC309DD79F6F04FC979F60F 505 DATA"4FC9CD5CDFCD684FCD9B4FF5CD2CDF 510 DATA"F1E5CD8CDEE1243E29BCC23DDECD6D 515 DATA"4FC906800E0016002A6CDF0C79FE09 520 DATA"C8E57EA0D5C5C280DECA86DEC1D1E1 525 DATA"23147AFEF0C263DE780F471CC359DE 530 DATA"CD768DC36EDECD778DC36EDE21D5DE 535 DATA"22D3DE060116062AD3DEAF771E080E 540 DATA"80215FFD237EA0CAB0DEE52AD3DE7E 545 DATA"B177E1790F4F1DC2A2DE2AD3DE7E2F 550 DATA"2A6CDF7723226CDF2AD3DE2322D3DE 555 DATA"78074715C296DEC900000000000000 560 DATA"003E1BCDC9843E33CDC9843E18CDC9 565 DATA"84C93E1BCDC9843E4CCDC9843A71DD 570 DATA"CDC9843A72DDCDC984C93E1BCDC984 575 DATA"3E32CDC984C93E0DCDC9843E0ACDC9 580 DATA"84C9A7C5E52170DD46E1CDC98405CA 585 DATA"2ADFC320DFC1C93EC800000000003D 590 DATA"C8C32EDFE1CD454FCD454FC3F9DB3A 595 DATA"6FDDA7CA55DFCD02DFCD454FCD6D4F 600 DATA"C3F9DBCD454FCD454FC9E53A6FDDA7 605 DATA"CA6ADF216EDF226CDFE1C90000 610 'adjust CALL addresses 615 DATA1,13,3,0,5,387,7,898,9,4738 620 DATA11,124,16,387,22,587,25,170 625 DATA28,66,34,159,42,180,47,106 630 DATA52,57,55,33,58,880,63,617 635 DATA107,880,112,617,116,387,122,259 640 DATA125,896,130,387,139,617,145,896 645 DATA149,896,157,135,164,159,181,170 655 DATA184,298,190,159,195,189,200,189 660 DATA205,189,210,387,213,170,216,327 665 DATA222,159,227,221,232,221,237,388 670 DATA240,357,243,880,248,617,254,751 675 DATA257,854,260,587,264,387,268,285 680 DATA273,403,278,429,283,521,291,854 685 DATA296,259,358,388,365,391,370,376 690 DATA374,367,379,389,384,390,404,767 695 DATA409,898,413,812,416,844,421,411 700 DATA424,801,427,285,434,767,439,898 705 DATA446,501,454,506,462,511,470,516 710 DATA479,812,482,844,487,441,490,801 715 DATA496,433,499,285,526,767,531,898 720 DATA538,577,546,582,553,812,556,844 725 DATA561,533,564,801,572,525,575,285 730 DATA588,880,598,832,603,672,611,593 735 DATA624,896,637,660,640,666,651,631 740 DATA658,621,664,642,670,642,673,745 745 DATA676,743,683,743,698,708,702,743 750 DATA713,694,716,743,721,896,726,896 755 DATA729,743,733,743,740,682,778,389 760 DATA784,390,816,388,825,830,828,820 765 DATA842,834,852,13,855,387,859,873 770 DATA862,790,871,13,882,387,886,894 775 DATA889,898,892,896