How to get a plain text file version of a CP/M .BAS (M-BASIC) program?In search of… SeaWar — NOT Battleship!Was the first ARM “processor” a BBC BASIC program?Looking for a specific BASIC music program from the 80sHow to use BASIC after “LOAD ”$",8 on the C64Why does this BASIC program keep restarting?C64 BASIC: How to suppress the '?' sign when using the INPUT command?Why does this BASIC program declare variables for the numbers 0 to 4?How can I view BASIC code hidden by SYS?In CP/M, how does control-Z (hex 1a decimal 26) not interfere with ordinary file storage?How to use the MOD operator in TRS-80 model 100 BASIC?

Returning the outputs of a nested structure

Why is B♯ higher than C♭ in 31-ET?

Junior developer struggles: how to communicate with management?

What does a yield inside a yield do?

Should one double the thirds or the fifth in chords?

How did Arya get her dagger back from Sansa?

How to give very negative feedback gracefully?

How to make a newline without autoindent

How to improve/restore vintage Peugeot bike, or is it even worth it?

In a vacuum triode, what prevents the grid from acting as another anode?

How do I tell my manager that his code review comment is wrong?

Is there a legal ground for stripping the UK of its UN Veto if Scotland and/or N.Ireland split from the UK?

Short story with physics professor who "brings back the dead" (Asimov or Bradbury?)

Why do money exchangers give different rates to different bills?

Enumerate Derangements

Was Unix ever a single-user OS?

Should I replace my bicycle tires if they have not been inflated in multiple years

Did we get closer to another plane than we were supposed to, or was the pilot just protecting our delicate sensibilities?

Answer "Justification for travel support" in conference registration form

In Avengers 1, why does Thanos need Loki?

Can fracking help reduce CO2?

My ID is expired, can I fly to the Bahamas with my passport?

Was there ever a Kickstart that took advantage of 68020+ instructions that would work on an A2000?

Why wasn't the Night King naked in S08E03?



How to get a plain text file version of a CP/M .BAS (M-BASIC) program?


In search of… SeaWar — NOT Battleship!Was the first ARM “processor” a BBC BASIC program?Looking for a specific BASIC music program from the 80sHow to use BASIC after “LOAD ”$",8 on the C64Why does this BASIC program keep restarting?C64 BASIC: How to suppress the '?' sign when using the INPUT command?Why does this BASIC program declare variables for the numbers 0 to 4?How can I view BASIC code hidden by SYS?In CP/M, how does control-Z (hex 1a decimal 26) not interfere with ordinary file storage?How to use the MOD operator in TRS-80 model 100 BASIC?













6















I have an old game (STRTRK.BAS) from my dad's Kaypro 10 that I would like to convert to a plain text file. Basically, what I'm trying to do is get it onto a modern computer in plain text format so I can look at the source code and print it (hardcopy).



This game is accessible on the K10 itself, by starting up OBASIC (an older version of MBASIC, itself a platform independent implementation of BASIC-80).



The source code can be listed once loaded (again, on the actual machine).



My guess is the best route would be to find a CP/M emulator and install a version of CP/M, OBASIC, and the program onto it, but I actually haven't had any luck finding something that will run on a modern Windows 7 setup.



Any ideas?










share|improve this question

















  • 1





    Would converting it on the K10 and uploading it through a serial connection be an option?

    – Thorbjørn Ravn Andersen
    Apr 27 at 18:03















6















I have an old game (STRTRK.BAS) from my dad's Kaypro 10 that I would like to convert to a plain text file. Basically, what I'm trying to do is get it onto a modern computer in plain text format so I can look at the source code and print it (hardcopy).



This game is accessible on the K10 itself, by starting up OBASIC (an older version of MBASIC, itself a platform independent implementation of BASIC-80).



The source code can be listed once loaded (again, on the actual machine).



My guess is the best route would be to find a CP/M emulator and install a version of CP/M, OBASIC, and the program onto it, but I actually haven't had any luck finding something that will run on a modern Windows 7 setup.



Any ideas?










share|improve this question

















  • 1





    Would converting it on the K10 and uploading it through a serial connection be an option?

    – Thorbjørn Ravn Andersen
    Apr 27 at 18:03













6












6








6


1






I have an old game (STRTRK.BAS) from my dad's Kaypro 10 that I would like to convert to a plain text file. Basically, what I'm trying to do is get it onto a modern computer in plain text format so I can look at the source code and print it (hardcopy).



This game is accessible on the K10 itself, by starting up OBASIC (an older version of MBASIC, itself a platform independent implementation of BASIC-80).



The source code can be listed once loaded (again, on the actual machine).



My guess is the best route would be to find a CP/M emulator and install a version of CP/M, OBASIC, and the program onto it, but I actually haven't had any luck finding something that will run on a modern Windows 7 setup.



Any ideas?










share|improve this question














I have an old game (STRTRK.BAS) from my dad's Kaypro 10 that I would like to convert to a plain text file. Basically, what I'm trying to do is get it onto a modern computer in plain text format so I can look at the source code and print it (hardcopy).



This game is accessible on the K10 itself, by starting up OBASIC (an older version of MBASIC, itself a platform independent implementation of BASIC-80).



The source code can be listed once loaded (again, on the actual machine).



My guess is the best route would be to find a CP/M emulator and install a version of CP/M, OBASIC, and the program onto it, but I actually haven't had any luck finding something that will run on a modern Windows 7 setup.



Any ideas?







basic cp-m






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Apr 27 at 17:54









dvanariadvanaria

1484




1484







  • 1





    Would converting it on the K10 and uploading it through a serial connection be an option?

    – Thorbjørn Ravn Andersen
    Apr 27 at 18:03












  • 1





    Would converting it on the K10 and uploading it through a serial connection be an option?

    – Thorbjørn Ravn Andersen
    Apr 27 at 18:03







1




1





Would converting it on the K10 and uploading it through a serial connection be an option?

– Thorbjørn Ravn Andersen
Apr 27 at 18:03





Would converting it on the K10 and uploading it through a serial connection be an option?

– Thorbjørn Ravn Andersen
Apr 27 at 18:03










3 Answers
3






active

oldest

votes


















9














M-BASIC-80 knows the modifier "A" for the SAVE command - So, you should be able to create a readable ASCII file directly on the Kaypro computer by doing



LOAD "MYPROG.BAS"
LIST
SAVE "MYPROG.TXT",A


If you don't want to mess with old disks on a modern computer (I recommend you don't even start to look into this), your best bet would be to set up a serial RS-232 connection between the Kaypro and your modern machine - A suitable RS-232-USB dongle, a proper cable and a terminal program would suffice.






share|improve this answer




















  • 1





    On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

    – Michael Harvey
    Apr 27 at 20:56


















6














It wouldn't happen to be the one that the listing starts/ends like this, would it?



10 'EXPANDED APRIL 1977 BY W.A. BURTON
20 'PIRATED JAN. 1978 BY ZOSO
30 DIM G(8,8),S(8,8),K(3,3)
40 PRINTCHR$(26)
50 GOSUB 5460

6350 IF Q8<0 OR Q8>S THEN GOTO 6340
6360 S=S-Q8:E=E+Q8:PRINT
6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
6380 RETURN
6390 RESET


If so, there are lots of copies online, frinstance STRTRK.BAS. The program detokenizes and runs under both OBASIC.COM and MBASIC.COM.



Peter Schorn's Altair 8800 simulator site has emulators and disk images for many versions of CP/M. For instance, I downloaded the CP/M 2 distribution, unpacked it, moved the STRTRK.BAS file to the cpm2 folder and started the emulator with:



altairz80 cpm2


After that, I was able to import the tokenized program with the command R STRTRK.BAS, then loaded MBASIC and the program could be loaded with LOAD "STRTRK.BAS"






share|improve this answer























  • Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

    – dvanaria
    Apr 28 at 4:41












  • I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

    – Michael Harvey
    2 days ago












  • This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

    – dvanaria
    2 days ago


















1














Basic interpreters saved the code in a tokenised form to save space. I found this description of the format used by GW-Basic, a later version of MBASIC. I don't know if the file format changed between the versions, though.



http://justsolve.archiveteam.org/wiki/GW-BASIC_tokenized_file



It wouldn't be too hard to write a bit of code to convert from the byte-codes to text.






share|improve this answer








New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1





    While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

    – scruss
    2 days ago











  • @scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

    – James Random
    2 days ago











  • fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

    – scruss
    2 days ago











Your Answer








StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "648"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);

else
createEditor();

);

function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);



);













draft saved

draft discarded


















StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10874%2fhow-to-get-a-plain-text-file-version-of-a-cp-m-bas-m-basic-program%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown

























3 Answers
3






active

oldest

votes








3 Answers
3






active

oldest

votes









active

oldest

votes






active

oldest

votes









9














M-BASIC-80 knows the modifier "A" for the SAVE command - So, you should be able to create a readable ASCII file directly on the Kaypro computer by doing



LOAD "MYPROG.BAS"
LIST
SAVE "MYPROG.TXT",A


If you don't want to mess with old disks on a modern computer (I recommend you don't even start to look into this), your best bet would be to set up a serial RS-232 connection between the Kaypro and your modern machine - A suitable RS-232-USB dongle, a proper cable and a terminal program would suffice.






share|improve this answer




















  • 1





    On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

    – Michael Harvey
    Apr 27 at 20:56















9














M-BASIC-80 knows the modifier "A" for the SAVE command - So, you should be able to create a readable ASCII file directly on the Kaypro computer by doing



LOAD "MYPROG.BAS"
LIST
SAVE "MYPROG.TXT",A


If you don't want to mess with old disks on a modern computer (I recommend you don't even start to look into this), your best bet would be to set up a serial RS-232 connection between the Kaypro and your modern machine - A suitable RS-232-USB dongle, a proper cable and a terminal program would suffice.






share|improve this answer




















  • 1





    On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

    – Michael Harvey
    Apr 27 at 20:56













9












9








9







M-BASIC-80 knows the modifier "A" for the SAVE command - So, you should be able to create a readable ASCII file directly on the Kaypro computer by doing



LOAD "MYPROG.BAS"
LIST
SAVE "MYPROG.TXT",A


If you don't want to mess with old disks on a modern computer (I recommend you don't even start to look into this), your best bet would be to set up a serial RS-232 connection between the Kaypro and your modern machine - A suitable RS-232-USB dongle, a proper cable and a terminal program would suffice.






share|improve this answer















M-BASIC-80 knows the modifier "A" for the SAVE command - So, you should be able to create a readable ASCII file directly on the Kaypro computer by doing



LOAD "MYPROG.BAS"
LIST
SAVE "MYPROG.TXT",A


If you don't want to mess with old disks on a modern computer (I recommend you don't even start to look into this), your best bet would be to set up a serial RS-232 connection between the Kaypro and your modern machine - A suitable RS-232-USB dongle, a proper cable and a terminal program would suffice.







share|improve this answer














share|improve this answer



share|improve this answer








edited Apr 27 at 21:43

























answered Apr 27 at 18:10









tofrotofro

17.2k33698




17.2k33698







  • 1





    On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

    – Michael Harvey
    Apr 27 at 20:56












  • 1





    On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

    – Michael Harvey
    Apr 27 at 20:56







1




1





On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

– Michael Harvey
Apr 27 at 20:56





On Windows 10, I just downloaded & installed RunCPM and then STRTRK.BAS as linked above, and started MBASIC and loaded the bas and it seems to run. I was also able to save it as ASCCI text.

– Michael Harvey
Apr 27 at 20:56











6














It wouldn't happen to be the one that the listing starts/ends like this, would it?



10 'EXPANDED APRIL 1977 BY W.A. BURTON
20 'PIRATED JAN. 1978 BY ZOSO
30 DIM G(8,8),S(8,8),K(3,3)
40 PRINTCHR$(26)
50 GOSUB 5460

6350 IF Q8<0 OR Q8>S THEN GOTO 6340
6360 S=S-Q8:E=E+Q8:PRINT
6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
6380 RETURN
6390 RESET


If so, there are lots of copies online, frinstance STRTRK.BAS. The program detokenizes and runs under both OBASIC.COM and MBASIC.COM.



Peter Schorn's Altair 8800 simulator site has emulators and disk images for many versions of CP/M. For instance, I downloaded the CP/M 2 distribution, unpacked it, moved the STRTRK.BAS file to the cpm2 folder and started the emulator with:



altairz80 cpm2


After that, I was able to import the tokenized program with the command R STRTRK.BAS, then loaded MBASIC and the program could be loaded with LOAD "STRTRK.BAS"






share|improve this answer























  • Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

    – dvanaria
    Apr 28 at 4:41












  • I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

    – Michael Harvey
    2 days ago












  • This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

    – dvanaria
    2 days ago















6














It wouldn't happen to be the one that the listing starts/ends like this, would it?



10 'EXPANDED APRIL 1977 BY W.A. BURTON
20 'PIRATED JAN. 1978 BY ZOSO
30 DIM G(8,8),S(8,8),K(3,3)
40 PRINTCHR$(26)
50 GOSUB 5460

6350 IF Q8<0 OR Q8>S THEN GOTO 6340
6360 S=S-Q8:E=E+Q8:PRINT
6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
6380 RETURN
6390 RESET


If so, there are lots of copies online, frinstance STRTRK.BAS. The program detokenizes and runs under both OBASIC.COM and MBASIC.COM.



Peter Schorn's Altair 8800 simulator site has emulators and disk images for many versions of CP/M. For instance, I downloaded the CP/M 2 distribution, unpacked it, moved the STRTRK.BAS file to the cpm2 folder and started the emulator with:



altairz80 cpm2


After that, I was able to import the tokenized program with the command R STRTRK.BAS, then loaded MBASIC and the program could be loaded with LOAD "STRTRK.BAS"






share|improve this answer























  • Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

    – dvanaria
    Apr 28 at 4:41












  • I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

    – Michael Harvey
    2 days ago












  • This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

    – dvanaria
    2 days ago













6












6








6







It wouldn't happen to be the one that the listing starts/ends like this, would it?



10 'EXPANDED APRIL 1977 BY W.A. BURTON
20 'PIRATED JAN. 1978 BY ZOSO
30 DIM G(8,8),S(8,8),K(3,3)
40 PRINTCHR$(26)
50 GOSUB 5460

6350 IF Q8<0 OR Q8>S THEN GOTO 6340
6360 S=S-Q8:E=E+Q8:PRINT
6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
6380 RETURN
6390 RESET


If so, there are lots of copies online, frinstance STRTRK.BAS. The program detokenizes and runs under both OBASIC.COM and MBASIC.COM.



Peter Schorn's Altair 8800 simulator site has emulators and disk images for many versions of CP/M. For instance, I downloaded the CP/M 2 distribution, unpacked it, moved the STRTRK.BAS file to the cpm2 folder and started the emulator with:



altairz80 cpm2


After that, I was able to import the tokenized program with the command R STRTRK.BAS, then loaded MBASIC and the program could be loaded with LOAD "STRTRK.BAS"






share|improve this answer













It wouldn't happen to be the one that the listing starts/ends like this, would it?



10 'EXPANDED APRIL 1977 BY W.A. BURTON
20 'PIRATED JAN. 1978 BY ZOSO
30 DIM G(8,8),S(8,8),K(3,3)
40 PRINTCHR$(26)
50 GOSUB 5460

6350 IF Q8<0 OR Q8>S THEN GOTO 6340
6360 S=S-Q8:E=E+Q8:PRINT
6370 PRINT E;" UNITS OF ENERGY NOW - TRY AGAIN."
6380 RETURN
6390 RESET


If so, there are lots of copies online, frinstance STRTRK.BAS. The program detokenizes and runs under both OBASIC.COM and MBASIC.COM.



Peter Schorn's Altair 8800 simulator site has emulators and disk images for many versions of CP/M. For instance, I downloaded the CP/M 2 distribution, unpacked it, moved the STRTRK.BAS file to the cpm2 folder and started the emulator with:



altairz80 cpm2


After that, I was able to import the tokenized program with the command R STRTRK.BAS, then loaded MBASIC and the program could be loaded with LOAD "STRTRK.BAS"







share|improve this answer












share|improve this answer



share|improve this answer










answered Apr 27 at 20:42









scrussscruss

7,76611450




7,76611450












  • Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

    – dvanaria
    Apr 28 at 4:41












  • I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

    – Michael Harvey
    2 days ago












  • This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

    – dvanaria
    2 days ago

















  • Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

    – dvanaria
    Apr 28 at 4:41












  • I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

    – Michael Harvey
    2 days ago












  • This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

    – dvanaria
    2 days ago
















Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

– dvanaria
Apr 28 at 4:41






Thanks for all the useful feedback. I ended up going the emulator route for now. This worked well. I downloaded RunCPM and set up some folders for the disks and user areas. I then had to move a copy of OBASIC.COM and STRTRK.BAS to one of the user areas. With the emulator started, I was able to load the code using OBASIC (which detokenizes it) and then use the window's copy and paste functionality to move it over to Notepad to save it as a plain text file. Thanks to scruss, Michael Harvey, and tofro for all the useful information.

– dvanaria
Apr 28 at 4:41














I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

– Michael Harvey
2 days ago






I found that STRTRK.BAS opened fine in MBASIC which is already on the "A" "disk" folder provided by the RunCPM guy, then, in MBASIC, I issued SAVE "STRTRK.TXT", A and I was able to open the resulting file directly in Notepad.

– Michael Harvey
2 days ago














This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

– dvanaria
2 days ago





This is even better (saving with the A flag within the RunCPM emulator). My first attempt I was just copying the text directly from one window and pasting it into another, which resulted in a few spots in the text file that I had to manually edit. Saving within the emulator produces a clean text file. Thanks again.

– dvanaria
2 days ago











1














Basic interpreters saved the code in a tokenised form to save space. I found this description of the format used by GW-Basic, a later version of MBASIC. I don't know if the file format changed between the versions, though.



http://justsolve.archiveteam.org/wiki/GW-BASIC_tokenized_file



It wouldn't be too hard to write a bit of code to convert from the byte-codes to text.






share|improve this answer








New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1





    While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

    – scruss
    2 days ago











  • @scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

    – James Random
    2 days ago











  • fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

    – scruss
    2 days ago















1














Basic interpreters saved the code in a tokenised form to save space. I found this description of the format used by GW-Basic, a later version of MBASIC. I don't know if the file format changed between the versions, though.



http://justsolve.archiveteam.org/wiki/GW-BASIC_tokenized_file



It wouldn't be too hard to write a bit of code to convert from the byte-codes to text.






share|improve this answer








New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.















  • 1





    While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

    – scruss
    2 days ago











  • @scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

    – James Random
    2 days ago











  • fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

    – scruss
    2 days ago













1












1








1







Basic interpreters saved the code in a tokenised form to save space. I found this description of the format used by GW-Basic, a later version of MBASIC. I don't know if the file format changed between the versions, though.



http://justsolve.archiveteam.org/wiki/GW-BASIC_tokenized_file



It wouldn't be too hard to write a bit of code to convert from the byte-codes to text.






share|improve this answer








New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.










Basic interpreters saved the code in a tokenised form to save space. I found this description of the format used by GW-Basic, a later version of MBASIC. I don't know if the file format changed between the versions, though.



http://justsolve.archiveteam.org/wiki/GW-BASIC_tokenized_file



It wouldn't be too hard to write a bit of code to convert from the byte-codes to text.







share|improve this answer








New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









share|improve this answer



share|improve this answer






New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.









answered Apr 27 at 20:33









James RandomJames Random

1112




1112




New contributor




James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.





New contributor





James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.






James Random is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.







  • 1





    While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

    – scruss
    2 days ago











  • @scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

    – James Random
    2 days ago











  • fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

    – scruss
    2 days ago












  • 1





    While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

    – scruss
    2 days ago











  • @scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

    – James Random
    2 days ago











  • fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

    – scruss
    2 days ago







1




1





While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

– scruss
2 days ago





While this might seem a good idea at first, OBASIC/MBASIC and GW-BASIC use different token values. A tokenized CP/M BASIC program will often load into GW-BASIC, but listing it will show that it's riddled with syntax errors

– scruss
2 days ago













@scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

– James Random
2 days ago





@scruss I did suspect that might be the case. I couldn't find any info on the MBASIC tokenisation (and as better answers have been provided, it isn't really relevant).

– James Random
2 days ago













fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

– scruss
2 days ago





fair point. I left the note here for future readers to suggest that this approach is a good one from a theoretical point of view, but needs some work for a real implementation. It's a perfectly good answer!

– scruss
2 days ago

















draft saved

draft discarded
















































Thanks for contributing an answer to Retrocomputing Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid


  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.

To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fretrocomputing.stackexchange.com%2fquestions%2f10874%2fhow-to-get-a-plain-text-file-version-of-a-cp-m-bas-m-basic-program%23new-answer', 'question_page');

);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Get product attribute by attribute group code in magento 2get product attribute by product attribute group in magento 2Magento 2 Log Bundle Product Data in List Page?How to get all product attribute of a attribute group of Default attribute set?Magento 2.1 Create a filter in the product grid by new attributeMagento 2 : Get Product Attribute values By GroupMagento 2 How to get all existing values for one attributeMagento 2 get custom attribute of a single product inside a pluginMagento 2.3 How to get all the Multi Source Inventory (MSI) locations collection in custom module?Magento2: how to develop rest API to get new productsGet product attribute by attribute group code ( [attribute_group_code] ) in magento 2

Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

Magento 2.3: How do i solve this, Not registered handle, on custom form?How can i rewrite TierPrice Block in Magento2magento 2 captcha not rendering if I override layout xmlmain.CRITICAL: Plugin class doesn't existMagento 2 : Problem while adding custom button order view page?Magento 2.2.5: Overriding Admin Controller sales/orderMagento 2.2.5: Add, Update and Delete existing products Custom OptionsMagento 2.3 : File Upload issue in UI Component FormMagento2 Not registered handleHow to configured Form Builder Js in my custom magento 2.3.0 module?Magento 2.3. How to create image upload field in an admin form