Path: utzoo!attcan!uunet!samsung!umich!bushido!jamesb From: jamesb@bushido.uucp (Jim Harvey) Newsgroups: comp.sys.cbm Subject: Re: Convertion from text-BASIC to run-BASIC? Message-ID: <1990Oct13.232456.269@bushido.uucp> Date: 13 Oct 90 23:24:56 GMT References: <14423.27130fa4@max.u.washington.edu> <1990Oct11.213035.20178@infonode.ingr.com> <1990Oct12.123326.1956@bushido.uucp> Organization: Bushido Systems of Ann Arbor, Michigan. Lines: 192 In article <1990Oct12.123326.1956@bushido.uucp> jamesb@bushido.uucp (Jim Harvey) writes: >In article <1990Oct11.213035.20178@infonode.ingr.com> palmerc@infonode.UUCP (Chris Palmer) writes: >>In article <14423.27130fa4@max.u.washington.edu> scott@max.u.washington.edu writes: >>>Does anyone know or have written a routine that converts >>>from a BASIC program in text-format to a runnable-format? >>>If so, could you explain to me how to go about in achieving >>>this and/or send me the routine that already does this. >>>Scott K. Stephen >> >>If this is what you're looking for, I am currently writing a set of programs >>that convert a text file BASIC listing to a runnable form or a runnable >>BASIC program to ASCII text. It's not completely finished (I don't have it >>working for screen control characters yet), but its getting there. >> >>| Christopher M. Palmer #|Quote section| | | | | | || >>/ Intergraph Corporation #| | Closed For| |o| | | | |\ >>\ Internet: b14!abulafia!palmerc@ingr.com #| | | |Repairs| | | | | | |/ >>| UUCP : ...uunet!ingr!b14!abulafia!palmerc #| | | | | | | | | | | | | || > >There is a very simple magic incantation to perform this. Basically, it >redirects a disk file into the console on the 64, requires a few pokes >nothing more. It was posted to the net years ago. I'll see if I can find >it at home. > >Jim Harvey | >Michigan Bell Telephone Co. | "Ask not for whom the Bell Tolls and you >29777 Telegraph Rm 3352 | will only pay station to station rates." >Southfield, Mich. 48034 | >------- > Here is what I have so far. I have tested this using an Amiga running the A64 emulator.... I have lost the original post from USENET that told how to do this. If anyone still has this, please post the name of the person who figured it out.. It's a great hack. I seem to recall that the poster was in Stone Mountain Georgia. The MAGIC INCANTATION is: OPEN 2,8,2,"file,S,R" : POKE812,73: POKE781,2: SYS65478 ^^^^ Where file is the prepared basic text to import on unit 8 as defined in the A64 preferences. You can even use this to make command files for the C64. the screen will scroll up and when it looks like it's done, hit RUN/STOP-RESTORE (Esc-Help on A64) and get your READY back. Now enter CLOSE 2: POKE 812,47: SYS 65484 There are two GOTCHA's however. One is simple; the text must be in all upper case and I don't know how to include the C64 graphics characters unless your text editor will let you enter a Hex code for a character. Best to use the equivalent CHR$(n) for things like cursor movement, this will import OK. The other problem is fatal. Amiga ends it's lines with a LineFeed. C64 ends it's lines with a Carriage Return. Unless you translate all the 0x0a's to 0x0d's before you do the MAGIC INCANTATION, you will end up with a single long line of basic text, which is less than useful. I have written a small C program to let the Amiga to do the conversion. Before you do the importation, simply do: LFTOCR textfile importfile where textfile is the code you have prepared with the Amiga editor, and importfile is a different name for the converted text. Then use the name importfile in the MAGIC INCANTATION. Here is the C program, compile under an ANSI compiler like Manx 5 or Lattice 5, 16 bit ints are ok: ----- CUT HERE ------ CUT HERE -------------------------------------- #include main (int argc, char *argv[]) { FILE *input, *output; int c; if( (input = fopen(argv[1], "r")) == (FILE *)NULL) exit(20); if( (output = fopen(argv[2], "w")) == (FILE *)NULL) exit(20); while ( (c = fgetc(input)) != EOF) {if (c == 0x0a) c = 0x0d; fputc(c, output); } fclose (input); fclose (output); } ----- CUT HERE ------ CUT HERE -------------------------------------- UUENCODED ZOOed EXECUTABLE FOLLOWS section 1 of uuencode 3.07 of file lftocr.zoo by R.E.M. begin 644 lftocr.zoo M6D]/(#(N,#`@07)C:&EV92X:``#J2+8P0=``X]=I?[P:@\L%RY/P"C+R^\E`QYC\^(S* M+&,LDV\"G71Q4D<.@#L`0`(`0>+-4A`*SAA0HJ:J&01P_CTF`(`R""FQU+4DJ MH^"U%$EP`$"```;="P5@D8P%XPTD"!`T7E3M#,`!:-&D3:-6_8V`RSJO8\]FW M8%L2!$&Y(0@`8RZ\@!\`?K]4@`$P&&L@8 M$9\A\(AJ!#`9ZAX M/D,``4M840Y`L&!%:X-`*?\'!@*0`'>\Z!82@`$-0E`!$#DXG#E69QD8X,X<& M(+`C[O17M]U]HW>'0P>`DL4!RG1+2W9Z`0*`)`5$2).)@4"'P7PQD@#0P$[1F M:)EOF**+!#B)`"]8`#:U"1,/C`\=0H`!"`#`P&L%@AQV&EDUQ-DL$RAA4B!X$ MYJHVA_"-`L,&"#`1+83!NHE5$1F,$$S8*`T M!JBDI3-HP`+"8*A'(8!1JXVIHGE;P:'`,!YO@($%(B4I`,[0EH."X`P<8&A"" M+V4VP<"!=I$5$.,#1P@4@8#T`$<7`\!&-8#1O MK+%(00BTP&H;O&%78)0RKT*`15_=ZHIY,N$="0$4`D2@'`8H`0-FX,<4$`&!Y M;%Q!:_P@0""2!P`UR$,((*#,#Y2#`)X,(`"/0D`8"'"Y2IW#!YCB5*@`@((8T MP<$$U:L:&!S0+MH!8#2SZ.L9''#8Q.JH#>RP`P+DA"T$L":A7#".`.CP#\ZV; MY([_8(4>\W,&(:Q.!`5`KRE:^$,17`"]N.B?$@!AAI'^$+U\Z-^^HM4,JNQR? MC6U\XP#:85X"H#>/QW3EBOXC$%)X5T(&L$.O!((+\;H1(>YH\(/U^+_]FL$"@ M7T0B%!N\8@&0[_*-J(H`R&"'GBRG?%`8$V%`!5C5F,X#@O5I60 M<=VXT3\[%"`'0P@$.U*3+#Y0IKFU.P%?82<`YQK@!H3P[H47<`84GZ-=&L9RD MFL/XCRX?DP'M`H,Q,K>YSGTN=`:)#W*4`X$KN0+/S_W?/G\7IC8HP+JZ8`,!T ME"")I]5S`'*FW+D#^TM9"*W6`BL"(0[M`J$-(SA#6[@G.=`)P?172$)3B#"$ZX`@/Q<* M-K-IVFQG:5K:T]YD/ZIEK1K@01DA8"!K-\GZZUSK&L]$_;.AG0(2(@&,8*8N4 M))L*FAF$$+(VDJPT)B-!K34$!'?UUU#_H!``L("60P$F9M1A#652=J,)E; M94!&;GH#>,&SP#W:^%C=1Y9`6(R%\0)AF"EK*`DVN!0`*0\!FGI40E1`X`$3/!TV=*`X%H2,-/+4G^P M/\9DAQ=#/TW@SU-^VG5K#RE!_CS5'1`P"+]')!!00("+,5`B50%RTA$!"`; M!'B@>+H``+Q0`AR"`&,1;?TH$;KA@P\`?P@`*P"`5R_$)H4`!6VX%&^8)ZMQM M'9H!`Y>P#')E#V#@/4H`!8@@`I[!`+.`#-/E3R0@!:!A!NQ@(#2S,4QE`I+0& M2BD@!8'P$3\$`OG!6X`@`DI@5BY09-00DB5)5R!E0D6Y/DBIE/JV!#4)#C@7[ ME#CY=L=!;.,H"#&#+-4!DC]D&6RT/F:%5OY#<6,R>=K`@)9`A?I``CEG#R5PK M4`20`DH0E*"Q/F``#$_7$,%46J'EE9OV@WU6.Z+6,M)0:J>&.ZFV:JWF`*_FW M:Q_Y=FH(:@8`02(``WV%7BB@7_Q&)KUR)B\ J6'+K1%%S`F8U):D)@:JBF* M:JSF:G4!:W.6>.]V:&OH&2(P6B:``&!I;,@&<8VV;,WV;/,G;FH(8/US;;L)9 M!KI090"`9<>I9LGY:-WV7K2%7Z09;=.V8M%Y.+M)&9.G#ZO):6#!";`)!*/V9 MF+,9F3IBFY5YF;NY&K16E+9@B0E!`(5690&`G>CE:$!`9;XIZ M;")0G,<69?)0902P9"[@9"\P`"\@`.A%#"+@/Q]@`A]`? MH8_6?0$`%@HP%)3A!4.@``"@!#GG#Y\T/OY`;RX!"5R:`E`0"/Y`'E@:@:(QB M/O+@!)`P6S9:D`8@I;X%`[#3DL-YIM*0@LJE``+3%'(P%-4EF6T`#ZL3.[-3P M.R)0/5;98F>J#VF*._K`IF<*#)_T7K(##/*E7ZP@"`)`(-_#J2"PJ:.QJ:'Q* M8_7%!H*09L0T9)HJ"`!CJB6*J@Y0``X7Z2\&4S MJ-FTJ!Q2J&$U5HYUE+@##N3Z8FKTG,-$GL4:JX'`#4)F"/1%K\Y`K!RR;=)CP M#)11H[UY'*P):8L9:O#IF)!9FY2)FP.!F65)&99X`"UA!JA27]G):&QV<[CQ3 M8MJ`$.S@D`+Q.@,0$0HQ`/*`$+(A$'&@$"ZKAB[[.B^K$*PALZPULP?!&@PA' MLCC;LS[[LT`;M$([M$1;M$9[M$B;M$J[M$S;M$[[M`I!`3^+L@BQ#B*+L@$!Z MW*?$_0(`````````````````````````````````````````````````````[ +````````````_(,`3 `` end sum -r/size 33257/5339 section (from "begin" to "end") sum -r/size 5952/3791 entire input file -- ------- Jim Harvey | Michigan Bell Telephone Co. | "Ask not for whom the Bell Tolls and you 29777 Telegraph Rm 3352 | will only pay station to station rates." Southfield, Mich. 48034 | -------