atrax27407 Posted March 28, 2015 Share Posted March 28, 2015 Here are some CALL LOADs that you can use in TI XB. LOADS.TXT 2 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 28, 2015 Share Posted March 28, 2015 Neat. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted March 28, 2015 Share Posted March 28, 2015 Very cool stuff there. Much of it I already knew, but there are some new ones in there too. Thanks for posting Quote Link to comment Share on other sites More sharing options...
Retrospect Posted March 28, 2015 Share Posted March 28, 2015 (edited) Interestingly , in Classic 99, if you type CALL INIT :: CALL LOAD(-31866,159) and then do a SIZE command, it shows 65,440 BYTES of program space free. After a NEW command, it shows the normal amount again. Edited March 28, 2015 by Retrospect Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted March 28, 2015 Share Posted March 28, 2015 I wonder if that has something to do with the suddenly-unavailable memory expansion. It would be interesting to see what these do, exactly, to help determine if these could have some other hidden benefits or other cracks in the armor. Quote Link to comment Share on other sites More sharing options...
Tursi Posted March 29, 2015 Share Posted March 29, 2015 (edited) Historically these lists of CALL LOADs have been collections of interesting mixed with useful mixed with hacks mixed with myths. It seems many were determined by chance rather than reason, and this looks like a good one. CALL LOAD(-31866,x) Does not allow the full access of 32K (x=1 to 159). -31866 is >8386, which is the second part of a pair of memory expansion pointers XB uses: >8384 - top of 24k RAM block (near as I can tell) >8386 - last free address in 24k RAM block As you add program code, the second pointer there counts down. The starting value for >8386 (and >8384) is >FFE7, and the CALL LOAD modifies the /high/ byte. (Which makes the range 1-159 very strange, since the initial value is 255! CALL PEEK it and see for yourself!) 1-159 means you're setting the last free address in high memory from >01E7 (which is down in ROM) to >9FE7 (which is in I/O space). Interestingly, if you then add a line of code, the value immediately gets overwritten with the correct top of memory. So it's not used during program entry. It also gets reset on RUN, so it's not used there either. It DOES stay if set during a running program, though. It does confuse the heck out of SIZE though. It would appear this point indicates where dynamic RAM for the running program ends. (Edit: Strings always live in VDP. Duh. ) All that said, though, I'd say the valid values for that are actually 160-255 (>A0 to >FF), with 159 or less simply claiming that 24k is full. It's also 16 bits wide, you can set the full address, although higher than >FFE7 may cause other issues. It's a temporary value, though, and not suitable for reserving blocks of RAM for other tasks (for that, move the line number table down ). Probably mostly a curiosity. Edited March 29, 2015 by Tursi Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted March 29, 2015 Share Posted March 29, 2015 Some of the same here, http://atariage.com/forums/topic/220049-ti-extended-basic-stuff/ 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.