Jump to content
IGNORED

RXB - Rich Extended Basic


Bones-69

Recommended Posts

Everything in menu is disabled I see. Guess that was the idea.

 

Normally I keep Funnelweb on DSK9 and DM2000 on DSK8 so at start up I just press 9 for FW and 8 for DM2000 or 0 (zero) for WDS1.LOAD that loads Utilities.

 

I suppose if you want to run anything just use REA instead. But requires a extra step to catalog drive first before you can run DSK9.LOAD or have to type it in.

 

RXB 2014 will be different and a compromise of the two. I never want to disable the selection of what drive to select DSK#.LOAD but the others can be hidden.

 

The DSK#.LOAD search and DSK#.LOAD selection at start up was a request from a few people so that is also disabled by your patch so can not keep everyone happy.

Link to comment
Share on other sites

Thanks Gazoo.

 

Have to try it out and see what no longer works.

 

Reading someone else's binary image of Grom code and replacing several bytes here and there is perhaps not the best approach to achieve a final result. But this appears to work. It has the same function as a normal TI EXTENDED basic compatible cartridge does as it looks for DSK1.LOAD and runs it if there, else it goes to the command prompt. The one glitch I could not get rid of is the "* Ready *" flash before the final command prompt if there is no LOAD program present. Perhaps if you were a little more cooperative, you could have achieved a better result than I did.

 

So hopefully I have shown you I'm not F'ing stupid.

 

Why don't you post a version with the same functionality, but without the * Ready * flash?

 

Gazoo

Link to comment
Share on other sites

I didn't realize I had asked before. Must have been drunk ;-).

 

Hey, I've been there, as you well know. :)

 

But I don't think it was you, so you're safe. ;)

 

I'm pretty sure it was several, or maybe many, other people. Don't know for sure, I may have been drunk. :sleep:

 

Gazoo

Link to comment
Share on other sites

So all kidding aside.

 

Rich, we're all here for the same reason, to make the TI a better thing. There's no reason for you to continue to be hardheaded about RXB being a certain way.

I've shown that I can read binary Grom code and change it to suit my needs. You have an ever-so-slight advantage in that you can actually write source code for GPL.

I have no interest in that, it's too work-intensive and time consuming. It's much easier for me to just type Grom code into a memory editor and run it.

 

So what do you think about getting everyone that has talent involved TOGETHER in making some great TI carts with this new technology we have?

 

Or would you rather keep fighting?

 

Gazoo

Link to comment
Share on other sites

 

Reading someone else's binary image of Grom code and replacing several bytes here and there is perhaps not the best approach to achieve a final result. But this appears to work. It has the same function as a normal TI EXTENDED basic compatible cartridge does as it looks for DSK1.LOAD and runs it if there, else it goes to the command prompt. The one glitch I could not get rid of is the "* Ready *" flash before the final command prompt if there is no LOAD program present. Perhaps if you were a little more cooperative, you could have achieved a better result than I did.

 

So hopefully I have shown you I'm not F'ing stupid.

 

Why don't you post a version with the same functionality, but without the * Ready * flash?

 

Gazoo

Never implied you were ever stupid in any way thank you. Stubborn maybe, but not stupid.

 

The only reason it does that flash of * READY * on the first pass it stops on second pass and defaults to the XB Editor.

 

You only partially bypassed the Search Loader.

 

So the second pass gets you to what you wanted as the first pass is clearing the Search flags then you end up in XB Editor.

 

I am writing a RXB 2014 so that will be a compromise in the future.

Link to comment
Share on other sites

So all kidding aside.

 

Rich, we're all here for the same reason, to make the TI a better thing. There's no reason for you to continue to be hardheaded about RXB being a certain way.

I've shown that I can read binary Grom code and change it to suit my needs. You have an ever-so-slight advantage in that you can actually write source code for GPL.

I have no interest in that, it's too work-intensive and time consuming. It's much easier for me to just type Grom code into a memory editor and run it.

 

So what do you think about getting everyone that has talent involved TOGETHER in making some great TI carts with this new technology we have?

 

Or would you rather keep fighting?

 

Gazoo

Sure what project do you need to do?

Link to comment
Share on other sites

So seriously Rich, my curiosity is at maximum. Please describe the bug.

Insanemultitasker and I are looking at the Boot XB Loader so here is my response about the issue:

 

Ok I see the issue right off the bat.

>63D1 is wrong!

The code in version 110 of XB or SXB or RXB at >63DO not >63D1

G63D0 CALL AUTOLD Attempt an auto-boot

Also at >6FDE here is the GPL code so what they are looking for makes no sense at all:

64DA D5,30,32 SZRUN0 DCEQ @ENLN,@STLN Refuse without program

64DD 64,EF BS ILLST

64DF BD,A3,72 DST @ENLN,V@START Defualt to beginning

64E2 32

As you can see above >64DE is bogus address as it is using >64DE is in the middle of two GPL commands?
WTF? Are you kidding me? Why use a invalid address?
This is just willy nilly and clearly have no clue how GPL works it is like they just picked a random place to start in the GPL Code!
Imagine all the crazy parts of GPL upgrades rendered useless by just using random places to access code like this?
How would I ever be able to make a 80 Column version of XB that works if the standard is full of nutty places that can not be modified?

 

If you look at GPL Source of XB you see they are jumping into XB and many pointers are not set yet, the Random Number generator

is bypassed so you can not get any normal RANDOM numbers. Address of polynomial constant is not set so you get bad values from

the DEF statements or powers, the program stack has wrong address in it so is offset incorrectly and triggers a XML COMXPT to reset.

Not to mention the program index and value stack is not correctly set or the numerous other pointers are not loaded at all.

 

Wow and you guys wonder why I am upset? And refuse to use this loader or give it a ounce of respect? It is pure JUNK!!!!

 

Maybe we should post this rant. Sorry but as the only real dedicated GPL programmer this is pretty upsetting to me.

I will never support crap software like this, badly written and oddly popular at same time.

 

I suppose a better address should be used and not one that jumps past all the initialize-rs of XB and screw up more stuff.

Here is a listing to see if you can find a couple:

[0612] ***********************************************************

.

99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0014

EDIT-359

[0613] * START OF BASIC INTERPETER

[0614] ***********************************************************

[0615] 6372 86,A3,70 TOPLEV CLR V@>0370 Initialize temp area

[0616] 6375 35,00,4D MOVE 77,V@>0370,V@>0371

6378 A3,71,A3

637B 70

[0617] 637C BE,74,05 ST 5,@KEYBD Select full keyboard

[0618] 637F 03 SCAN

[0619] 6380 8E,74 CZ @KEYBD

[0620] 6382 43,88 BR G6388 99/4A Console?

[0621] 6384 BE,A3,BB ST >01,V@CONFLG Select 99/4A console

6387 01

[0622] 6388 86,74 G6388 CLR @KEYBD

[0623] 638A BF,A3,8C DST NLNADD,V@BUFSRT Initialize edit-buffer start

638D 02,E2

[0624] 638F BF,A3,8E DST NLNADD,V@BUFEND Initialize edit-buffer end

6392 02,E2

[0625] 6394 31,00,02 MOVE 2,G@ATNZZ,@INTRIN Get address of ATNZZ

6397 38,00,32

[0626] 639A B2,38,1F AND >1F,@INTRIN Throw away the BR opcode

[0627] 639D A3,38,00 DADD >5B,@INTRIN Address of polynomial constan

63A0 5B

[0628] * RXB PATCH CODE *************

[0629] 63A1 BE,A3,71 ST >31,V@LODFLG indicate try auto-boot

63A4 31

[0630] *----------------------------------------------------------

[0631] * Add the following line for fixing "MEMORY FULL" error

[0632] * occurring during MERGE execution will leave the file open

[0633] * to disk DSR bug, 5/19/81

[0634] 63A5 86,A3,9E SZNEW CLR V@MRGPAB Initialize merged temporary

[0635] * for PAB pointer

[0636] *----------------------------------------------------------

[0637] 63A8 BE,73,88 ST RSTK,@SUBSTK Load base of subroutine stack

[0638] 63AB 06,69,17 CALL CHRTA2 Load character table

[0639] 63AE 86,45 CLR @FLAG Initialize flag byte

[0640] 63B0 87,46 DCLR @BUFLEV Initialize crunch buffer leve

[0641] 63B2 06,80,12 CALL CLSALL Close all open files

[0642] 63B5 86,34 CLR @DATA Initialize READ/DATA pointer

[0643] 63B7 BF,6E,09 DST VRAMVS,@VSPTR Initialize base of value stac

63BA 58

[0644] 63BB BD,24,6E DST @VSPTR,@STVSPT Save in permanent base

[0645] 63BE BD,A3,88 DST @VSPTR,V@SAVEVP

63C1 6E

[0646] 63C2 06,68,C3 CALL INITPG Initialize program & s.t.

[0647] 63C5 06,A0,18 CALL INTRND Initialize random number

[0648] 63C8 8E,A3,71 CZ V@LODFLG

[0649] 63CB 63,D3 BS TOPL02 If need auto-boot

[0650] * RXB PATCH CODE *************

[0651] * CLR V@LODFLG Won't ever need to do again

[0652] 63CD 05,63,D0 B G63D0

[0653] 63D0 06,64,8E G63D0 CALL AUTOLD Attempt an auto-boot

[0654] * Label TOPL02 is used by auto-boot in detection of err

[0655] 63D3 ERRRDY EQU $

[0656] 63D3 06,6A,84 TOPL02 CALL G6A84 Say READY

[0657] 63D6 00 BYTE 0 * returns to TOPL15

[0658] 63D7 06,68,C3 TOPL05 CALL INITPG Initialize program space

[0659] 63DA 06,68,DC TOPL10 CALL KILSYM Kill the symbol table

[0660] * RXB PATCH CODE *************

[0661] * TOPL15 AND >F7,@FLAG If error in UDF execution

[0662] 63DD 05,69,AA TOPL15 B MYSRCH

[0663] 63E0 BE,74,05 G63E0 ST 5,@KEYBD Select full keyboard

[0664] 63E3 03 SCAN

[0665] 63E4 86,74 CLR @KEYBD

[0666] 63E6 BE,73,88 TOPL20 ST RSTK,@SUBSTK Initialize subroutine stack

.

99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0015

EDIT-359

[0667] 63E9 BF,20,02 TOPL25 DST NLNADD,@VARW Screen addr = lower left corn

63EC E2

[0668] 63ED 86,80,89 CLR @RAMFLG Clear the RAMFLG

[0669] 63F0 86,44 CLR @PRGFLG Make sure not in program mode

[0670] * Check for auto-num mode

[0671] 63F2 DA,45,01 CLOG >01,@FLAG If auto-num on

[0672] 63F5 64,1E BS TOPL35

[0673] 63F7 A1,14,0E DADD @CURINC,@CURLIN Generate new line number

[0674] 63FA D2,14,00 CGE 0,@CURLIN >32767?

[0675] 63FD 64,05 BS TOPL30

[0676] 63FF B2,45,FE AND >FE,@FLAG If out of range->exit auto-nu

[0677] 6402 05,64,1E B TOPL35 Merge in below

[0678] * Must be a long branch!!

[0679] 6405 D5,30,32 TOPL30 DCEQ @ENLN,@STLN Line might exist

[0680] 6408 64,12 BS G6412

[0681] 640A BD,4A,14 DST @CURLIN,@FAC Ready for program search

[0682] 640D 0F,7E XML SPEED

[0683] 640F 03 BYTE SEETWO * Search for existence of line

[0684] 6410 65,1D BS EDTZ05 COND set = line found

[0685] 6412 0F,83 G6412 XML SCROLL Scroll to the next line

[0686] 6414 BD,5E,14 DST @CURLIN,@ARG2 New line #

[0687] 6417 06,6A,7C CALL G6A7C Display the line number

[0688] 641A 91,20 DINC @VARW Following by a space

[0689] 641C 44,20 BR G6420

[0690] 641E 0F,83 TOPL35 XML SCROLL Scroll the screen

[0691] 6420 BE,A2,E1 G6420 ST >9E,V@NLNADD-1 Display the prompt character

6423 9E

[0692] 6424 06,6A,76 CALL G6A76 Read in a line

[0693] 6427 06,D0,AF CALL SAVLIN Save input line for recall

[0694] * Crunch the input line

[0695] 642A 86,22 CLR @ERRCOD Assume no-error return

[0696] 642C BF,0A,08 DST CRNBUF,@RAMPTR Initialize crunch pointer

642F 20

[0697] 6430 0F,7F XML CRUNCH CRUNCH the input line

[0698] 6432 00 BYTE 0 * Normal crunch mode

[0699] 6433 8A,23 TOPL42 CASE @ERRCOD+1

[0700] 6435 44,45 BR TOPL45 No error detected

[0701] 6437 49,7C BR ERRSYN *SYNTAX ERROR

[0702] 6439 49,90 BR ERRBLN *BAD LINE NUMBER

[0703] 643B 49,94 BR ERRLTL *LINE TOO LONG

[0704] 643D 49,86 BR ERRNTL *NAME TOO LONG

[0705] 643F 49,80 BR ERRNQS *UNMATCHED QUOTES

[0706] 6441 49,9A BR ERRCIP *COMMAND ILLEGAL IN PROGRAM

[0707] 6443 49,A4 BR ERRIVN *UNRECOGNIZED CHARACTER

[0708] 6445 8F,4A TOPL45 DCZ @FAC Line # present

[0709] 6447 64,62 BS TOPL55

[0710] 6449 DA,45,01 CLOG >01,@FLAG Not AUTONUM

[0711] 644C 44,5B BR G645B

[0712] 644E D6,75,0D CEQ >0D,@RKEY Must be up or down

[0713] 6451 64,5B BS G645B

[0714] 6453 D6,42,01 CEQ >01,@CHAT Start EDIT mode

[0715] 6456 44,5B BR G645B

[0716] 6458 05,D0,00 B EDTZZ0

[0717] 645B 06,66,CF G645B CALL EDITLN EDIT the line into the progra

[0718] 645E 63,E9 BS TOPL25 If didn't change the line

[0719] 6460 43,DA BR TOPL10

[0720] * Jump always

[0721] 6462 D6,42,01 TOPL55 CEQ >01,@CHAT If blank line - ignore

[0722] 6465 63,E9 BS TOPL25

[0723] 6467 D6,A8,20 CEQ >EB,V@CRNBUF

646A EB

[0724] 646B 65,C9 BS SZSIZE

[0725] 646D C6,A8,20 CH >08,V@CRNBUF If imperative

6470 08

.

99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0016

EDIT-359

[0726] * GKXB Branch code for new commands DEL, COPY, and MOVE.

[0727] 6471 77,59 BS NEWCMD Go here to test for new

[0728] * keywords

[0729] 6473 BF,2C,08 DST CRNBUF+1,@PGMPTR Anticipate usage of PGMCHR

6476 21

[0730] 6477 0F,79 XML PGMCHR Prepare CHAT for OLD and SAVE

[0731] 6479 8A,A8,20 CASE V@CRNBUF Select the keyword

[0732] 647C 43,A5 BR SZNEW NEW 0

[0733] 647E 45,20 BR SZCONT CONTINUE 1

[0734] 6480 45,BE BR SZLIST LIST 2

[0735] 6482 45,BA BR SZBYE BYE 3

[0736] 6484 45,60 BR SZNUM NUMBER 4

[0737] 6486 45,B7 BR SZOLD OLD 5

[0738] 6488 46,25 BR SZRES RESEQUENCE 6

[0739] 648A 45,AF BR SZSAVE SAVE 7

[0740] 648C 45,C6 BR SZMERG MERGE 8

[0741] * AUTO-BOOT - attempt a ----> RUN "DSK1.LOAD"

[0742] 648E 31,00,0B AUTOLD MOVE 11,G@DSCLOD,V@CRNBUF

6491 A8,20,63

6494 51

[0743] 6495 BF,2C,08 DST CRNBUF,@PGMPTR DSK1.LOAD is in crunch buffer

6498 20

[0744] * RXB PATCH CODE *************

[0745] * BR SZRUNL Go to the RUN "NAME" CODE

[0746] 6499 5A,97 BR MYRUN

[0747] ********************************* RUN *********************

[0748] 649B D6,42,C7 SZRUN CEQ >C7,@CHAT Ready for 'RUN "NAME" ----

[0749] 649E 44,BF BR G64BF

[0750] 64A0 BD,58,2C SZRUNL DST @PGMPTR,@FAC14 Save pointer to name

[0751] 64A3 0F,79 XML PGMCHR Get the length of the string

[0752] 64A5 BC,57,42 ST @CHAT,@FAC13 Put it in FAC13

[0753] 64A8 86,56 CLR @FAC12 Make it a double byte

[0754] 64AA A1,2C,56 DADD @FAC12,@PGMPTR Skip the string

[0755] 64AD 0F,79 XML PGMCHR To see there is line no. ahea

[0756] 64AF 06,80,24 CALL G8024 Only RUN "NAME" ?

[0757] 64B2 49,7C BR ERRSYN No - junk on end so error

[0758] 64B4 BE,42,C7 ST STRINZ,@CHAT Prepare for LOAD routine

[0759] 64B7 BD,2C,58 DST @FAC14,@PGMPTR Restore the saved PGMPTR

[0760] 64BA 06,80,26 CALL OLD1 Load the program

[0761] 64BD 44,DA BR SZRUN0 Go ahead from here

[0762] * No RUN "NAME" : just run the

[0763] * current program in memory

[0764] 64BF D6,42,C9 G64BF CEQ >C9,@CHAT Is there a line # after RUN?

[0765] 64C2 44,D5 BR G64D5

[0766] 64C4 0F,79 XML PGMCHR Get the line number

[0767] 64C6 BC,4A,42 ST @CHAT,@FAC Put it in FAC for SEETWO

[0768] 64C9 0F,79 XML PGMCHR

[0769] 64CB BC,4B,42 ST @CHAT,@FAC1

[0770] 64CE 0F,79 XML PGMCHR Should be EOS now

[0771] 64D0 06,80,24 CALL G8024 Is it?

[0772] 64D3 64,EA BS SZRUN2 Yes - Go ahead from here

[0773] * Just 'RUN'

[0774] 64D5 06,80,24 G64D5 CALL G8024 Should be EOS now

[0775] 64D8 49,7C BR ERRSYN No-SYNTAX ERROR

[0776] 64DA D5,30,32 SZRUN0 DCEQ @ENLN,@STLN Refuse without program

[0777] 64DD 64,EF BS ILLST

[0778] 64DF BD,A3,72 DST @ENLN,V@START Defualt to beginning

64E2 32

[0779] 64E3 A7,A3,72 DSUB 3,V@START Offset into the table

64E6 00,03

[0780] 64E8 45,02 BR SZRUN1 Merge in below

[0781] * Jump always

[0782] 64EA D5,30,32 SZRUN2 DCEQ @ENLN,@STLN Refuse without program

[0783] 64ED 44,F9 BR G64F9

.

99/4 GPL-ASSEMBLER (Pass 3) correct PAGE 0017

EDIT-359

[0784] 64EF 0F,83 ILLST XML SCROLL Scroll the screen for message

[0785] 64F1 86,44 CLR @PRGFLG Prevent line # printing

[0786] 64F3 06,6A,82 WRNNPP CALL G6A82

[0787] 64F6 1D BYTE 29 * NO PROGRAM PRESENT

[0788] 64F7 43,DD BR TOPL15

[0789] * Condition can never be set since line 0 is prohibited

[0790] 64F9 0F,7E G64F9 XML SPEED

[0791] 64FB 03 BYTE SEETWO * Find the line in the program

[0792] 64FC 49,8C BR ERRLNF * LINE NOT FOUND

[0793] 64FE BD,A3,72 DST @EXTRAM,V@START Program run starts here

6501 2E

[0794] * GKXB RUN code for color change.

[0795] 6502 57,74 SZRUN1 BR RUNPAT Change colors.

[0796] 6504 06,80,12 G6504 CALL CLSALL Close any open files

*********************************************************************************************************************************

 

I should add that I am attempting to re-write RXB 2012 for RXB 2014 and have removed the Search function, but will retain the PRESS A KEY for DSK#.LOAD or 0 (ZERO key) WDS1.LOAD

As I loved pressing the A key for DSKA.LOAD to run from RAMDISK. You see I had drives A to G for my RAMDISKs besides disks 1 to 9 also.

With MESS I will retain this super cool set up along with 3 Hard Drives too. (I hate having to type in RUN "DSKA.LOAD" when a single key could do the same thing instantly.)

 

By the way this method makes BOOT virtually completely worthless to use.

What can it do that this RXB method can not do? (16 drives and 3 Hard Drive instant LOAD or UTIL1 access)

 

 

Link to comment
Share on other sites

 

Completely false statement. And extremely offensive.

ded·i·cat·ed
ˈdediˌkātid/
adjective
adjective: dedicated
  1. (of a person) devoted to a task or purpose; having single-minded loyalty or integrity.
    "a team of dedicated doctors"
    synonyms: committed, devoted, staunch, firm, steadfast, resolute, unwavering, loyal,faithful, true, dyed-in-the-wool; More
    antonyms: indifferent
    • (of a thing) exclusively allocated to or intended for a particular service or purpose.
      "investing in dedicated bike lanes will encourage more bicycle commuters"
      synonyms: exclusive, custom built, customized
      "data is accessed by a dedicated machine"

      Others may use and write GPL but not dedicated exclusively to GPL. Maybe that better describes it.

Link to comment
Share on other sites

Tell me what the bug is in twenty words or less and ill tell you who or what Tim is :-).

It does not initialize memory properly so pointers needed for XB are not set properly.

Random Number generation is not initialized as it bypasses all the start up code that does this housekeeping.

 

If you look at the code you see BOOT jumps into a invalid address that does not exist.

 

Simply put it is junk!

Link to comment
Share on other sites

Rich Gilbertson said: "By the way this method makes BOOT virtually completely worthless to use. What can it do that this RXB method can not do? (16 drives and 3 Hard Drive instant LOAD or UTIL1 access)"

 

I assume you're completely unfamiliar with BOOT or you would not have made that statement, or you're nuts. I, and many others, am not sure which of the 2 options it is at this point.

 

BOOT allows complete configuration of the name on the menu as well as the pathname. Any pathname can be used. Perhaps you are not aware, but TI files can have different names other than LOAD or UTIL1. They might be named MDM5, or DM2K, or DSKU. Let me know if I lose you anywhere along the way, ok?

 

BOOT also doesn't care if it's an XB or EA program that it's loading, give it the filename and it'll figure it out on it's own. That's why a version of XB that complies to TI standards must be present. There's only one version out in the wild that doesn't fit that bill. I wonder which one that may be? Are you still with me?

 

The TI community is not "The World According To Rich". Get over yourself and try to get along with people. You called 'Me" stubborn????? I know a story about a pot and a kettle that may apply here.

 

Wake up, Dude.


Link to comment
Share on other sites

Ok thought what could be done to fix BOOT.

 

Here is a simple solution that would be 100% compaible and make more sense for a XB loader.

 

Load VDP with the GPL normal startup for XB and execute it with a NTRC so it ends the GPL running from VDP.

Then jump into GPL using the GROM into the XB module at the correct address.

 

Everything should work exactly like it should at this point.

Link to comment
Share on other sites

Talk to Insanemultitasker, maybe he will share my rant and why.

I believe you shared the rant. I have not had any spare clock cycles to review FW/Boot code to come to any conclusions. Appears we have the RXB menu and the LOAD problems. I do not know if Tony's modded RXB addresses either issue, if at all. Not much more I can say at this point.

Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...