Jump to content

Photo

BXB (routine to use charsets 15-16 in XB) help


23 replies to this topic

#1 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • 737 posts
  • Location:Toledo, OH

Posted Mon Apr 29, 2019 10:46 PM

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.

 

Attached File  bxb.JPG   78.72KB   5 downloads


Edited by InfernalKeith, Mon Apr 29, 2019 11:20 PM.


#2 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 737 posts
  • Location:Toledo, OH

Posted Mon Apr 29, 2019 11:47 PM

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.  


  • RXB likes this

#3 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Tue Apr 30, 2019 1:02 PM

You can use Characters set 15 and still use character set 16 for a sprite in same RXB programs.



#4 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 408 posts

Posted Tue Apr 30, 2019 6:52 PM

XB256 also lets you use the full character set range



#5 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Tue Apr 30, 2019 8:40 PM

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?



#6 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 408 posts

Posted Tue Apr 30, 2019 11:27 PM

XB256 is a version of Extended Basic.



#7 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Wed May 1, 2019 5:44 PM

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 by RXB, Wed May 1, 2019 5:51 PM.


#8 LASooner OFFLINE  

LASooner

    Moonsweeper

  • 408 posts

Posted Wed May 1, 2019 6:45 PM

Ok Rich, I didn't know trying to help was frowned upon around here.



#9 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Wed May 1, 2019 7:04 PM

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 by RXB, Wed May 1, 2019 7:28 PM.


#10 senior_falcon ONLINE  

senior_falcon

    Stargunner

  • 1,516 posts
  • Location:Lansing, NY, USA

Posted Wed May 1, 2019 7:34 PM

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 by senior_falcon, Wed May 1, 2019 7:40 PM.


#11 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,526 posts

Posted Wed May 1, 2019 7:55 PM

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: Attached File  BXB.bin   896bytes   5 downloads



#12 senior_falcon ONLINE  

senior_falcon

    Stargunner

  • 1,516 posts
  • Location:Lansing, NY, USA

Posted Wed May 1, 2019 7:56 PM

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 by senior_falcon, Thu May 2, 2019 8:37 AM.


#13 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Thu May 2, 2019 12:13 AM

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.



#14 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Thu May 2, 2019 12:15 AM

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 by RXB, Thu May 2, 2019 12:19 AM.


#15 senior_falcon ONLINE  

senior_falcon

    Stargunner

  • 1,516 posts
  • Location:Lansing, NY, USA

Posted Thu May 2, 2019 5:06 AM

Wow, you seem pretty touchy about something that was an attempt at humor. My apologies.  I have edited my post accordingly. 


  • RXB likes this

#16 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Thu May 2, 2019 2:07 PM

Very Gracious of you, you can not tell a smile from angry from sad in text.



#17 jrhodes OFFLINE  

jrhodes

    Moonsweeper

  • 328 posts

Posted Thu May 2, 2019 5:33 PM

:?: That was the whole idea behind emoticons, no? Maybe try using them to better express yourself :P? Just saying :D!


Edited by jrhodes, Thu May 2, 2019 5:37 PM.


#18 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 737 posts
  • Location:Toledo, OH

Posted Thu May 2, 2019 9:38 PM

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.



#19 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Fri May 3, 2019 4:46 PM

:?: That was the whole idea behind emoticons, no? Maybe try using them to better express yourself :P? Just saying :D!

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 by RXB, Fri May 3, 2019 4:46 PM.


#20 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 737 posts
  • Location:Toledo, OH

Posted Sat May 4, 2019 12:56 PM

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.

 

Attached Files



#21 Lee Stewart ONLINE  

Lee Stewart

    River Patroller

  • 3,990 posts
  • Location:Silver Run, Maryland

Posted Sat May 4, 2019 4:43 PM

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



#22 InfernalKeith OFFLINE  

InfernalKeith

    Dragonstomper

  • Topic Starter
  • 737 posts
  • Location:Toledo, OH

Posted Sat May 4, 2019 11:31 PM

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.



#23 senior_falcon ONLINE  

senior_falcon

    Stargunner

  • 1,516 posts
  • Location:Lansing, NY, USA

Posted Sun May 5, 2019 7:55 AM

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 by senior_falcon, Sun May 5, 2019 12:04 PM.

  • RXB likes this

#24 RXB OFFLINE  

RXB

    River Patroller

  • 3,601 posts
  • Location:Vancouver, Washington, USA

Posted Sun May 5, 2019 10:13 PM

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.






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users