Jump to content
IGNORED

Did something stupid- any suggestions?


yorgle

Recommended Posts

Like a fool, I began typing in a relatively long BASIC program but forgot to turn on my 1050 before booting up the 1200xl. Is there any way to save what I've got in so far or am I SOL?

 

If you have SIO2PC you can LIST it to P: then save the virtual printer output to a text file. Convert that file to ATASCII then use the 'ENTER' command to read it back in once you reboot.

 

Otherwise you could break out a cassette recorder. :/

 

Steve

Link to comment
Share on other sites

Like a fool, I began typing in a relatively long BASIC program but forgot to turn on my 1050 before booting up the 1200xl. Is there any way to save what I've got in so far or am I SOL?

Are you calling yourself a fool for forgetting to turn on the 1050, or for typing in a large BASIC program? :P

Link to comment
Share on other sites

Like a fool, I began typing in a relatively long BASIC program but forgot to turn on my 1050 before booting up the 1200xl. Is there any way to save what I've got in so far or am I SOL?

Are you calling yourself a fool for forgetting to turn on the 1050, or for typing in a large BASIC program? :P

 

Both. I guess I'll just chalk this one up to typing practice... :(

Link to comment
Share on other sites

You could store it "under" the OS in RAM.

 

It will survive a coldstart and provided the DOS you load is an older one (like 2.0 or unmodded 2.5) that doesn't use that RAM, you could get it back.

 

But, the program would have to be under 14K. For other XL/XE programs, 22K would be the limit since you can use BASICs underlying RAM too.

 

 

Alternative would be to hook it up to a capture card and get screenshots, then run it through OCR.

 

 

Problem with method 1 is you'd need to manually enter a program which created a new device handler for a RAM disk.

 

Actually - that's an interesting little project. An emergency RAMdisk handler might be doable using only a couple of hundred bytes of code, which could be typed in by the user.

Link to comment
Share on other sites

This probably won't help you with your current situation, but you reminded me of something from the olden times...

 

A *long* time ago, this happened to a friend of mine. He wasn't typing code from a magazine, he had written a fractal generator (Koch curve plotter), and would have lost many hours' work... If he'd had a tape drive, it wouldn't have been a problem (CSAVE), but all he had was a 1050 with no DOS booted. Fortunately he had a formatted blank disk handy...

 

He called me, and I came up with a short routine that worked something like this:

 

 

S=1

FOR I=0 TO 29999

? CHR$(125) [clear screen]

LIST I

? "CONT"

POKE 842,13 [turn on "automatic return key mode"]

POSITION 0,0

INPUT A$ [now A$ is empty if the line didn't exist, or else contains a line of code]

POKE 842,12 [turn off auto-return mode]

IF(A$<>"") THEN [add an EOL, write the line of code to disk sector S using SIO, then S=S+1]

NEXT I

 

 

(this is from memory, was almost 20 years ago and I don't have the code any more)

 

I had him add the code to his program, starting at line 30000... which meant I had to *read* it to him over the phone while he typed it in, then have it read it back to check for typos. Finally I had him run "GOTO 30000", and the program chugged away for a few minutes, writing to the disk...

 

After it finished, I had him boot DOS, and type in another program that read and "entered" one line of code from each disk sector (also using POKE 842,13)... amazingly, it worked perfectly!

 

Lucky for him, he had fewer lines of code in his program than there were sectors on a DOS 2.5 enhanced density disk, so the whole program was recovered.

 

But you tell that to the kids today, and they won't believe you... Now get off my lawn! :)

Link to comment
Share on other sites

Search the forum for NODOS, posted by Nukey Shay I think. It's a small bit of code that allows you to save the file to a blank disk, almost exactly like what was described above.

 

Wish I would have had that about three hours ago. My biggest gripe with Atari computers is the lack of a built-in DOS.

Link to comment
Share on other sites

I've just written an emergency RAMDisk handler.

 

Just got to get the read function working, then it'll be ready to go. There will be 2 versions - the big one that does R/W, and the one you type in (write only).

 

The minimal write-only version stores up to 14K under the OS and takes up about 165 bytes for the handler.

Link to comment
Share on other sites

Well,

searched the A8 forum for NODOS and got many topics which had the keyword NoDos - but alas, whenever I tried to get to the listing of NoDOS I got "Error 404, file not found"... so it looks like the NODOS listing has been removed or is no longer available... or is it the same program as Rybags 64k emergency ramdisk handler ?!? If not, can anyone post the NoDOS program here ?!? thanks - Andreas Koch.

Link to comment
Share on other sites

Well,

searched the A8 forum for NODOS and got many topics which had the keyword NoDos - but alas, whenever I tried to get to the listing of NoDOS I got "Error 404, file not found"... so it looks like the NODOS listing has been removed or is no longer available... or is it the same program as Rybags 64k emergency ramdisk handler ?!? If not, can anyone post the NoDOS program here ?!? thanks - Andreas Koch.

 

http://www.atariage.com/forums/index.php?s...amp;#entry32838 not sure if this is it, but it's what i found in the forums.

Link to comment
Share on other sites

You can actually fool the OS into booting DOS.

 

Just a couple of slight problems with doing so:

 

Program memory will almost certainly be overwritten by DOS as it loads.

 

The cartridge will "coldstart", so effectively it will be like typing "NEW".

 

But, the computer doesn't clear RAM, so if for example you had some ASM code somewhere around $2800 or higher it should be preserved.

 

To do so in BASIC, just:

 

POKE 1024,169:POKE 1025,0:POKE 1026,133:POKE 1027,8:POKE 1028,133:POKE 1029,9:POKE 1030,96:POKE 9,2:POKE 2,0:POKE 3,4

 

Or, in the Assembler, in Debug:

 

C 400<A9,00,85,08,85,09,60

C 9<2

C 2<0,4

 

Then insert your DOS disk and press Reset.

Edited by Rybags
Link to comment
Share on other sites

Like a fool, I began typing in a relatively long BASIC program but forgot to turn on my 1050 before booting up the 1200xl. Is there any way to save what I've got in so far or am I SOL?

This should have been a poll ;) My 410 paid for itself the first time I did this. Did I say *first* time?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...