+bf2k+ Posted September 16, 2023 Share Posted September 16, 2023 It doesn't matter ( A$(10,70) ). It has to be changed anyway as there are no string arrays in Atari Basic. Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 16, 2023 Author Share Posted September 16, 2023 ... Just In case the goose isn't entirely cooked though yet, in the mean time, here are some tidbits that I snagged from what I had posted earlier in my thread, that may or may be of help: Page 2...CALL -868 in line 240 is Applsoft's' way of clearing the cursor line from cursor to end of line POKE 32, 2... sets left margin of text window, here at #2... POKE 33,38... sets width of text window. CALL -958... clears the bottom of the text screen POKE 32,0: POKE 33,40 (setting left margin and text window width, respectively, at those locations... Page 4... line 2310 POKE -16368,0 In Applesoft, IF PEEK(-16384)>127 then a key has been pressed (POKE -16368,0 resets this) So, can we just leave this as is, or must it be changed? Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted September 16, 2023 Share Posted September 16, 2023 4 minutes ago, newTIboyRob said: In Applesoft, IF PEEK(-16384)>127 then a key has been pressed (POKE -16368,0 resets this) On the Atari it's 764 ($2FC), usually POKE with 255 to clear and PEEK to read It's OS name is CH (Page 76, Mapping the Atari) This will not return the ASCII character of the key pressed, but the internal hardware value, but if all the code is looking for is a keypress, then this is the place to go, you would have to provide a decode value to read the actual key pressed if needed. Something like this from an Art program I wrote in BASIC around 1985 I commented the codes to keys 300 CL=PEEK(764) 310 IF CL=58 THEN DRAW=A1:REM D=DRAW 320 IF CL=0 THEN DRAW=A2:X1=X:Y1=Y:REM L= LINE 330 IF CL=46 THEN ?#6;CHR$(125):REM W=WIPE 340 IF CL=21 THEN DRAW=A3:X1=X:Y1=Y:REM B=BOX Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 16, 2023 Author Share Posted September 16, 2023 Right, bf2k+..... we would need to set up a single huge string, and an applicable substring reference, and then define a calculation converting a row and column reference into the correct substring reference for the bit of the huge string. In English, a long "dfgjdfgkljdfkl;sjdfkl;sdfgklsdfgjs;gf" and then take from that to break it up and maneuver. Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 16, 2023 Author Share Posted September 16, 2023 (edited) ...another helpful guide from you, TGB1718... but do you think the remainder of the program, even if using only a sheet or 2 to enter data, values, etc.. will still fit within the 16 K confines if all these translations can actually be achieved? (Considering you got to 14 K already and the program wasn't yet usuable.) Edited September 16, 2023 by newTIboyRob Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted September 16, 2023 Share Posted September 16, 2023 (edited) Not using DOS, combining statements, optimizing might just fit, which is prolly why your trying to us cassette anyway. litedos or similar might keep disk possible but you need every byte you can get if you will have any information in the sheet You are talking one page on the screen basically where this now stands. String manipulation and parsing are going to eat most of what's left using AB. That's where some ML will come in handy. Are you going to try converting both programs? Edited September 16, 2023 by _The Doctor__ Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 16, 2023 Author Share Posted September 16, 2023 (edited) Doc, I myself was only trying to convert the one listed program within this thread from Applesoft basic to Atari basic on a real 600 xl, no emulation. Edited September 16, 2023 by newTIboyRob Quote Link to comment Share on other sites More sharing options...
Fuji-Man Posted September 16, 2023 Share Posted September 16, 2023 (edited) 1 hour ago, newTIboyRob said: ...another helpful guide from you, TGB1718... but do you think the remainder of the program, even if using only a sheet or 2 to enter data, values, etc.. will still fit within the 16 K confines if all these translations can actually be achieved? (Considering you got to 14 K already and the program wasn't yet usuable.) Well, I think we are past of trying to stuff 5 lbs. into a 3 lb. bag (48-64k vs. 16k). Can we covert it into something usable,readable and faster on a 48k-64k Atari? We've establish the string manipulation issues, so do we use MSB or write Atari BASIC routines? https://www.atariarchives.org/creativeatari/Converting_Applesoft_Basic_to_Atari_Basic.php or https://www.atariarchives.org/c3ba/page031.php Edited September 16, 2023 by Fuji-Man 1 Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 16, 2023 Author Share Posted September 16, 2023 (edited) Fuji Man, you are free of course to do as you wish. I myself still wonder, based on the _The Doctor_'s last comment, so I might still stick around here for a bit, as expansion and speed were (obviously) not my goals with this expedition in the first place; it was just to see if this spreadsheet program would have 1 or 2 usable pages still. (Had I wanted expansion ... I agree, 64 K and SIO route, absolutely... then we're talking Speedcalc and the like.) Edited September 16, 2023 by newTIboyRob Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 17, 2023 Author Share Posted September 17, 2023 (edited) I can't believe.... someone else, that I don't even recall was even commenting on this thread, has just now provided a different and complete spreadsheet program in pdf format for an earlier related thread of mine to this one, that I had all but forgotten about, in trying to solve the riddle here. But I caught it just now, so I at the very least should type it in on my 600xl and see what we get. It's only a 3.5 pager and in nice, clear and dark print to boot, and it is supposed to be usable with the 600 xl and tape. After this whole saga, can this finally be it??? After I type it all in, which should be sometime tomorrow, I shall report the findings here. Hopefully it works!!! I thought it right to mention that here, even if it didn't solve the puzzle we were discussing on this post, as it still goes back to my initial goal of finding a spreadsheet usable within the 600 xl's limited 16K memory. Edited September 17, 2023 by newTIboyRob 1 Quote Link to comment Share on other sites More sharing options...
+Stephen Posted September 17, 2023 Share Posted September 17, 2023 3 minutes ago, newTIboyRob said: I can't believe.... someone else, that I don't even recall was even commenting on this thread, has just now provided a different and complete spreadsheet program in pdf format for an earlier related thread of mine to this one, that I had all but forgotten about, in trying to solve the riddle here. But I caught it just now, so I at the very least should type it in on my 600xl and see what we get. It's only a 3.5 pager and in nice, clear and dark print to boot, and it is supposed to be usable with the 600 xl and tape. After this whole saga, can this finally be it??? After I type it all in, which should be sometime tomorrow, I shall report the findings here. Hopefully it works!!! I thought it right to mention that here, even if it didn't solve the puzzle we were discussing on this post, as it still goes back to my initial goal of finding a spreadsheet usable within the 600 xl's limited 16K memory. Good luck! If none of these provide useful, perhaps you can do the ultimate - and create one that does work on a 16kB machine. My 1st computer was a 400 I got in 1982, along with a 410 tape deck! It did at least have the upgraded B-Key keyboard. Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 17, 2023 Author Share Posted September 17, 2023 (edited) Thank you. I actually have been working, concurrently, on a Visicalc clone, just in case, and especially because I have had so many doubts with the one here, as many people have had. So far it is coming along nicely. And all the discussion we did here was certainly useful, to say the least, because it teaches you to think outside the box, which can only help. I have picked up bits and pieces along the way that I can apply to different future programs, for example. My/our quest can still go on here, but I am really curious to see how either one of these others pans out. Edited September 17, 2023 by newTIboyRob 1 Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 18, 2023 Author Share Posted September 18, 2023 (edited) hey can someone answer me on the last post of my other thread: I have that long program typed up on my XL now, but not yet saved, and I'd need that probably easy answer ASAP: Edited September 18, 2023 by newTIboyRob Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 Could Speedcalc be put on cartridge/rom? If memory serves, it is 8K. Would work great with a 16K ram 600XL! But it might have to be modified for cassette usage. Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 18, 2023 Author Share Posted September 18, 2023 I thought that one used more than 16K and needed a disk drive. Anyway, I am hoping someone still answers me really soon about how to get the symbols printed using the Esc key. Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 13 minutes ago, newTIboyRob said: I thought that one used more than 16K and needed a disk drive. Anyway, I am hoping someone still answers me really soon about how to get the symbols printed using the Esc key. It won't use much ram if it's on a cart. Just like Basic! Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 18, 2023 Author Share Posted September 18, 2023 Do you know anything about the Esc key and inserting arrows in a basic program? That is what I am asking here. Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 I downloaded the Atari Basic Manuel. I'll look! Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 Saw this: A kludgy sort of way to print the inverse Esc character inside a program: GR. 0 ? #6,"<esc> <esc> <esc> <cursor left>"; : PUT #6,155 Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 You could LIST the program to tape and then ENTER it back later. To save an Atari BASIC program from computer RAM to cassette: 1. Insert a cassette into the recorder. 2. Use REWIND or ADVANCE/F.FWD on the recorder, if necessary, to bring the tape to the position where the program is to be recorded. 3. Enter one of the following three commands: a. CSAVE (short inter-record gap - fastest read/write speed - tokenized files) b. SAVE "C:" (long inter-record gap - middle read/write speed - tokenized files) c. LIST "C:" (long inter-record gap - slowest read/write speeds - straight ATASCII - tape actually stops in between block reads/writes) 4. The system buzzer sounds twice (to signal you to press both PLAY and RECORD on the recorder). 5. Press both PLAY and RECORD on the recorder. 6. Press the RETURN key on the computer keyboard. Tape motion starts, the program is copied from RAM to the cassette, and then tape motion stops. 7. You may press STOP on the recorder once recording has finished. Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 All I found is that the ESC key works with keyboard characters. But first, LIST it to cassette first. List also has the option to list a range of lines too! Like List 100, 200 and all the lines from 100 to 200 come on the screen. Quote Link to comment Share on other sites More sharing options...
SoundGammon Posted September 18, 2023 Share Posted September 18, 2023 Listing is the preferred way to save a basic program if you're using Basic B, the one with the bad bug. It was built into a lot of the 600/800XLS! Version C is the one you want! Quote Link to comment Share on other sites More sharing options...
newTIboyRob Posted September 18, 2023 Author Share Posted September 18, 2023 ok thank you Quote Link to comment Share on other sites More sharing options...
+David_P Posted September 19, 2023 Share Posted September 19, 2023 20 hours ago, SoundGammon said: Could Speedcalc be put on cartridge/rom? If memory serves, it is 8K. Would work great with a 16K ram 600XL! But it might have to be modified for cassette usage. Several things would have to be done: It would have to be reviewed to ensure it checks available RAM and doesn't make any assumptions about being on a 48K/64K machine. It would have to be reviewed to ensure it doesn't do any dynamic rewriting (some programs are self modifying, which fails when you try to write new values to ROM). It would have to be reviewed to ensure it can accept C : as a save / load data location. It would have to be compiled into the cart space (whether 8K or 16K or some banked arrangement). Even if that's all possible (and DataQue did do that, modifying B-Calc into an '816 compatible cart) the 16K of RAM would still not give a great deal of free space. The OS fills everything up to the top of page 5 (1.5K gone). If you don't load a DOS, that's where free memory can start. The screen display needs another four pages (another 1K). You've now got, best case scenario, 13.5K of RAM available. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.