InfernalKeith Posted April 30, 2019 Share Posted April 30, 2019 (edited) Resurrecting another project from ages ago, I unearthed this old routine called BXB that was presented by Jim Peterson in his Tips From the Tigercub column (#40). It promises to allow you to access charsets 15 and 16 in Extended BASIC, effectively allowing us to run many BASIC programs in XB with 32K and bypass their memory issues with disk installed. I found the routine, entered it, ran the BXBDATA program to create the "untypeable" line, and now I'm getting a syntax error in 30001. Is this just above Classic99's pay grade? I'm about to CF7 it back over to real iron and try it there, to see if it does anything different, but I thought y'all might have some insight. EDIT: same syntax error on real iron. will try to double check my data entry in the morning, but 30001 is correct. Edited April 30, 2019 by InfernalKeith Quote Link to comment Share on other sites More sharing options...
InfernalKeith Posted April 30, 2019 Author Share Posted April 30, 2019 Game runs with charsets 15 and 16 in RXB with no apparent glitches. Would still like to figure out if this BXB routine can be made to work for stock XB, but I'm actually playing the game in Classic99 now. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted April 30, 2019 Share Posted April 30, 2019 You can use Characters set 15 and still use character set 16 for a sprite in same RXB programs. Quote Link to comment Share on other sites More sharing options...
LASooner Posted May 1, 2019 Share Posted May 1, 2019 XB256 also lets you use the full character set range Quote Link to comment Share on other sites More sharing options...
RXB Posted May 1, 2019 Share Posted May 1, 2019 XB256 also lets you use the full character set range So does Pascal, Forth and Assembly what is your point as we are talking XB? Quote Link to comment Share on other sites More sharing options...
LASooner Posted May 1, 2019 Share Posted May 1, 2019 XB256 is a version of Extended Basic. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 1, 2019 Share Posted May 1, 2019 (edited) XB256 is a version of Extended Basic. LOL no it is a Assembly support routine just like Missing Link, but compiles own code just like The Missing Link just more useful. It is NOT XB it is Assembly Support for XB. Super XB, XB 2.7. Myarc XB or RXB are Extended Basic. This is like saying the Turbo on your car is the car. It is a support enhancer of the car. NOT THE CAR! Question can you write XB 256 without any XB Cart? Is every single XB command converted to XB256 so say MERGE "DSK2.TEST" or CALL INIT in XB256? Edited May 1, 2019 by RXB Quote Link to comment Share on other sites More sharing options...
LASooner Posted May 2, 2019 Share Posted May 2, 2019 Ok Rich, I didn't know trying to help was frowned upon around here. Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2019 Share Posted May 2, 2019 (edited) Ok Rich, I didn't know trying to help was frowned upon around here. Helping is good, just by honest about products please. The routine he posted will not work from XB 256 as it loads over XB256 area of memory. I could be wrong but where would you load the LINK name using XB256? Also RXB has CALL EXECUTE that can be loaded anywhere with no Link name needed just CALL EXECUTE(address) and uses 18 bytes of Scratchpad for the program access and you can use FAC as Register location. Edited May 2, 2019 by RXB Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted May 2, 2019 Share Posted May 2, 2019 (edited) Where to start... As Maria sang in Sound of Music: "Let's start at the very beginning. A very good place to start.." Post #1: Infernal Keith - He reported problems he had getting BXB to run properly. BXB allows you to run TI BASIC programs in the XB environment and it wasn't working for him. Post #2: Infernal Keith - Game runs with charsets 15 and 16 in RXB...Would still like to figure out if this BXB routine can be made to work for stock XB. From this I gather that he wants to run the BASIC program with TI XB and not RXB. Post #3: RXB - You can use Characters set 15 and still use character set 16 for a sprite in same RXB programs. This is true but has absolutely nothing to do with Keith's question. Post #4: LASooner - XB256 also lets you use the full character set range. This is true, plus it lets you use character sets 17-32, plus another 112 characters for sprites. Post #5: RXB - So does Pascal, Forth and Assembly what is your point as we are talking XB? If you took a few moments to reflect on this you would see the point. You might be talking about XB, but Keith was talking about BXB, which consists of assembly support routines that allow you to use character sets 15 and 16 in XB. XB256 consists of assembly support routines that allow you to use character sets 15 and 16 in XB. So they are two different ways of doing what the O.P. wanted to do. For what Keith wants to do I would guess that BXB is a better choice. Post #6: LASooner - XB256 is a version of Extended Basic. LASooner misspoke here. I'm sure what he meant to say is that, unlike Pascal, Forth and Assembly, programs that use XB256 are written and tested in Extended BASIC. Post #7: RXB - LOL no it is a Assembly support routine just like Missing Link, but compiles own code just like The Missing Link just more useful. It is NOT XB it is Assembly Support for XB.... Pretty harsh on LASooner, epecially from someone who can't get past the first sentence without making your own mistake. "but compiles own code" What are you trying to say here? It sure isn't obvious to me... Post #9: RXB - Helping is good, just by honest about products please. The routine he posted will not work from XB 256 as it loads over XB256 area a memory. I could be wrong but where would you load the LINK name? Sometimes I think you are being deliberately obtuse. Of course you wouldn't use the routine in post #1 with XB256. What would be the point? I think LASooner was saying that you could adapt XB256 to do exactly the same thing and then jettison the original routine, but BXB seems pretty compact to me and looks like the better choice for this particular application. Edited May 2, 2019 by senior_falcon 5 Quote Link to comment Share on other sites More sharing options...
+adamantyr Posted May 2, 2019 Share Posted May 2, 2019 I found a copy of BXB on a disk that's in a MERGE format, I know it works because I used it with a TI Basic program. Here's the raw file usable in Classic99, I had to add a BIN extension to post here, just remove it: BXB.bin 5 Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted May 2, 2019 Share Posted May 2, 2019 (edited) Is every single XB command converted to XB256 so say MERGE "DSK2.TEST" or CALL INIT in XB256? I didn't see this edit until You sneaked this edit in after my last post. Can you please translate this into intelligible English for me? Maybe I'm a little hard of thinking, but that makes absolutely no sense to me. Edited May 2, 2019 by senior_falcon Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2019 Share Posted May 2, 2019 I got a ton of ideas from Jim Peterson BXB routines and made RXB versions. The original post: "I found the routine, entered it, ran the BXBDATA program to create the "untypeable" line, and now I'm getting a syntax error in 30001. Is this just above Classic99's pay grade?" Why I said where is link name being put in XB256 this is a valid statement. And I am not being harsh just stating a fact is suddenly harsh? It was not derogatory just a fact. Also XB256 is a great product but it is NOT XB it is a Assembly support for XB. Not the same thing, this again is not harsh just a fact. Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2019 Share Posted May 2, 2019 (edited) You sneaked this edit in after my last post. Can you please translate this into intelligible English for me? Maybe I'm a little hard of thinking, but that makes absolutely no sense to me. And how did I SNEAK any post in as I did not see any post from you before this? We both typed something and you did not see my change, that is not SNEAKING something in as I never saw your post till today. Time stamp on my post was 6:28 and your post was 6:34 so I did not SNEAK anything in.... Edited May 2, 2019 by RXB Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted May 2, 2019 Share Posted May 2, 2019 Wow, you seem pretty touchy about something that was an attempt at humor. My apologies. I have edited my post accordingly. 1 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 2, 2019 Share Posted May 2, 2019 Very Gracious of you, you can not tell a smile from angry from sad in text. 2 Quote Link to comment Share on other sites More sharing options...
jrhodes Posted May 2, 2019 Share Posted May 2, 2019 (edited) That was the whole idea behind emoticons, no? Maybe try using them to better express yourself ? Just saying ! Edited May 2, 2019 by jrhodes Quote Link to comment Share on other sites More sharing options...
InfernalKeith Posted May 3, 2019 Author Share Posted May 3, 2019 We unearth a lot of grit to get to the pearl around here, but I think Adam found it. Will report back. My ultimate goal is to make a few walkthrough videos of some of the rarer UK cassette games that people may have heard of, or have emulator access to, but have not seen in action or played. Hopefully will have that, and some new stuff of my own, to show off shortly. 5 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 3, 2019 Share Posted May 3, 2019 (edited) That was the whole idea behind emoticons, no? Maybe try using them to better express yourself ? Just saying ! I just bought a Iphone 6+ but honestly not many people to text and I never got how text is better than talking live. It is like looking at a painting vs going out to look at same thing??? Edited May 3, 2019 by RXB Quote Link to comment Share on other sites More sharing options...
InfernalKeith Posted May 4, 2019 Author Share Posted May 4, 2019 Success! I had to edit a line with too many characters in a CALL CHAR but once I did that it worked just fine. Side note: is there any benefit to adding more than 16 characters to a CALL CHAR? Like, for data storage or something? I assume BASIC just ignores all variables after the first 16, but BXB kicked back a "string truncated" error message. 3 Quote Link to comment Share on other sites More sharing options...
+Lee Stewart Posted May 4, 2019 Share Posted May 4, 2019 Success! I had to edit a line with too many characters in a CALL CHAR but once I did that it worked just fine. Side note: is there any benefit to adding more than 16 characters to a CALL CHAR? Like, for data storage or something? I assume BASIC just ignores all variables after the first 16, but BXB kicked back a "string truncated" error message. You can define the patterns of up to 4 contiguous character codes with the pattern string as long as the last character code is not higher than 143. XB truncates the string to 64 characters. I suspect that defining the patterns for contiguous character codes this way is a bit faster than defining them one at a time. I do not know whether BXB interferes with XB’s CALL CHAR(), but I would think not. ...lee 2 Quote Link to comment Share on other sites More sharing options...
InfernalKeith Posted May 5, 2019 Author Share Posted May 5, 2019 Lee, I had no idea that was a thing! I'll have to manually add a CALL CHAR in the modified Adventuremania game, to make up for the long string. BXB did kick it out as an error the first time around. Being in XB and not console BASIC, the extra memory won't be an issue. Amazing the quirks you learn about the language all these years in. Quote Link to comment Share on other sites More sharing options...
senior_falcon Posted May 5, 2019 Share Posted May 5, 2019 (edited) A couple of points: Lee said: "I do not know whether BXB interferes with XB’s CALL CHAR(), but I would think not." BXB has a user defined subprogram for CALL CHAR. Interestingly enough, user subprograms take priority over the built in XB subprograms and so it is the BXB CALL CHAR and CALL COLOR that are executed. This surprises me, as I would have supposed that the built in subs would take priority. With BXB you should be able to safely set the colors for all 256 characters. (32 character sets) You cannot define the characters from 160 to 255 and from 0 to 29 without side effects. But if you set the foreground and background colors the same you can have 8x8 blocks in all 15 possible colors. You can use HCHAR or VCHAR to place them on the screen. One change must be made to BXB. In 3005 is the expression 15+A. Change this to 15+A+32*(A>16) and that should do the trick. You can use Classic 99 debugger to look at VDP ram from >0800 to >081F to see if this works. Changing the colors of character set 17 should modify VDP at >0800. If you just want to run a TI BASIC program in XB then BXB or RXB will do the trick. If you are reworking the program and want to embellish it with additional graphics, XB256 offers much more graphics versatility than XB. (edit) you can see a video of this trick in the RXB thread. Page 28, post 690. Edited May 5, 2019 by senior_falcon 2 Quote Link to comment Share on other sites More sharing options...
RXB Posted May 6, 2019 Share Posted May 6, 2019 RXB 2019 will have CALL VDPSTACK(address) so you can move it out of way for graphics changes with things like TML or other packages. Also is CALL PRAM(address) that changes the top RAM address in 32K thus expanding the Assembly space you can use without interference of XB operations. Of course this does cause a problem with some VDP address used for temp variables or VDP ROLLOUT area used for some VDP access or storage. 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.