Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

557 Excellent

1 Follower

About vitoco

  • Rank

Contact / Social Media

Profile Information

  • Gender

Recent Profile Visitors

6,652 profile views
  1. I had my own collection of such USR routines stored as a lot of LST files, each of them starting from line 10. As my utilities started at line 100, after every ENTER I had to LIST 0,99 and then renumber the line with X$="{atascii}" to the required one, add (or rename) the variable name to a DIM statement and finally delete the "temp" lines. Some years ago, when I copied most of my 5.25" diskettes into ATR files, I found that this diskette had lots of bad sectors. I got frustrated and never tried it again, so I never knew which routines were lost and which ones survived. 😢
  2. I guess that you aren't using the latest beta that includes DLI. It was shared in this post:
  3. It might be used to read values from any chunk of data (binary records from a file) without having to move first those bytes to a single element array to get the value. It could also be used to implement a sparse matrix. 😉 I didn't know that you could assign strings to byte arrays. Now, it has sense. For the loop, I was thinking in the use of PEEK(P) instead of LEN($(P)).
  4. Great! BTW, why did you named that function as $() instead of MEM$() or something like this?
  5. Line 32 of pmtest1 says: DLI [ POKE @HPOSP0, PEEK($600) : POKE @HPOSP1, PEEK($600) : POKE @HPOSP2, PEEK($601) : POKE @HPOSP3, PEEK($601) : POKE @COLPM0, $D8 : POKE @COLPM1, $CA : POKE @COLPM2, $44 : POKE @COLPM3, $16 ] Why the "@"? It is not in the manual (yet?). Is it available only in the crosscompiler?
  6. Please forget I said that... because I think it would be most useful to combine both: $($4000)[10,3] Is that possible?
  7. Nice! This is another simple solution to save memory instead of having a lot of 258 bytes chunks of memory to store an array with small constant strings. Previously, to save memory you could define all string data in a single string and two arrays with relative pointers and lenghts to be used with the bracket operator. Now you only need the required bytes per string plus the leading byte with the length and a word array to store the memory pointers. Would it be a simple way to initialize such a structure? BTW, I had used $[] notation as an operator instead of $() for this "function".
  8. Well, I've found what is happening... They ARE Atari BASIC tokenized files, but downloaded to the PC using ASCII mode (with CR/LF convertion) instead of BIN mode, so every 0x0D byte was removed, and the final BAS file has less bytes than the original. That's why you are getting the error number 137: truncated file!!!
  9. They are neither Atari BASIC nor TurboBasic XL tokenized files. If they are old enough, I don't think Altirra Basic could open them. I haven't tried other BASIC flavours, BTW...
  10. Thanks for the clarification. Then, I'll have to check why I was getting an error trying to read from screen (not using #6).
  11. "S:" device is an output only device, so the OPEN statement should be: OPEN 1,8,0,"S:" Of course, the opening mode is ignored, even a zero will work!!! And trying to read from "S:" device in any I/O mode will trigger an error. Also, the default behavior of that driver is to left a cursor every time a EOL (char 155=$9B) is printed or a POSITION is performed.
  12. Some years ago I bought some microswitches and all the necesary to replace the board of one of my CX40, but every time I open the joystick when it is not responding, I just clean the contacts and replace the adhesive film. I have to schedule some time to start with the mod.
  13. You've rotated the base 180°! Was that in order to fit the mechanics inside it?
  14. Did it take me 2 minutes to write the first paragraph? Really? Both paragraphs were written in the same reply and submitted at the same time... 🤔 Update: In the notification email it says: 🤨
  • Create New...