+RXB Posted April 6, 2022 Share Posted April 6, 2022 RXB 2022 RELEASED... RXB 2022.zip 18 7 Quote Link to comment Share on other sites More sharing options...
+XLERB Posted July 4, 2022 Share Posted July 4, 2022 On 4/6/2022 at 6:00 PM, RXB said: RXB 2022 RELEASED Outstanding! The full-page ad should say: "RXB 2022: Not one byte is wasted!" Lots of hard work went into this, and thanks! Can't wait to try out all the SAMS capabilities. And I really appreciate the little hidden jokes - "But if the ALPHALOCK key is on numeric-variable will be non-zero i.e. -26294 just for giggles that is hex >994A." 3 Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted July 5, 2022 Share Posted July 5, 2022 Hey Rich, Is there any way RXB can be made to be recognized by JJ's BOOT program? Or can BOOT be modified to recognize RXB? I use BOOT exclusively as a start menu and have for many years. Using the "[ get menu" and "] put menu" I have ALL the software I use to compose Yesterday's News available very quickly. I also have many other menus I page in when needed. For me, it's the greatest. Quote Link to comment Share on other sites More sharing options...
+RXB Posted July 5, 2022 Author Share Posted July 5, 2022 2 hours ago, sparkdrummer said: Hey Rich, Is there any way RXB can be made to be recognized by JJ's BOOT program? Or can BOOT be modified to recognize RXB? I use BOOT exclusively as a start menu and have for many years. Using the "[ get menu" and "] put menu" I have ALL the software I use to compose Yesterday's News available very quickly. I also have many other menus I page in when needed. For me, it's the greatest. JJ's BOOT I used to use called MENU and it is hard coded to XB version 110 starting line at hex >633B and that is an issue for RXB newest versions as this fails initialization for VDP STACK and RAM locations can be modified in RXB. You see never use hard coded address for carts as this assumes there never will be an upgrade to that cart. What should be done is see the address in the menu of that cart and go to that address. If you look at the main menu you see the second title screen of a cart and that screen also has the starting address of cart. RXB points to a much different address like RXB 2022D and 2022E the one I am working on has >7E63 but that could change later. I would look for >633B in JJ's BOOT and change it to >7E63 to use RXB 2022D or 2022E. The problem is in JJ's BOOT that assumed no changes to XB cart. 2 Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted July 5, 2022 Share Posted July 5, 2022 Thanks Rich I'll give that a shot tomorrow morning and report my findings. 2 Quote Link to comment Share on other sites More sharing options...
sparkdrummer Posted July 8, 2022 Share Posted July 8, 2022 Well, no success - I used John Birdwell's Disk Utilities and searched in BOOT and BOOU for 633B in hex and found nothing. Quote Link to comment Share on other sites More sharing options...
+RXB Posted July 8, 2022 Author Share Posted July 8, 2022 3 hours ago, sparkdrummer said: Well, no success - I used John Birdwell's Disk Utilities and searched in BOOT and BOOU for 633B in hex and found nothing. Yea ran into this before like Funnelweb was a problem that uses a oddball GPL address in XB to jump into XB and would crash RXB. All software should use the address in Cartridge Menu Header of GPL to get the start address, never use a hardcoded address. The Cartridge Menu Header will never be wrong, a hard coded address never allows changes or updates. Quote Link to comment Share on other sites More sharing options...
+InsaneMultitasker Posted July 8, 2022 Share Posted July 8, 2022 Try >6372. Some of the boot/menu programs check this address and assume the cart is NOT xb if it is different. Long ago, this was a simple, consistent validation check. Sample code from MENU: XBPROG LI R1,>6372 C R1,@CARTAD JEQ RUNXB LI R7,6 'no xb' B @PUTERR 2 Quote Link to comment Share on other sites More sharing options...
+RXB Posted July 8, 2022 Author Share Posted July 8, 2022 2 hours ago, InsaneMultitasker said: Try >6372. Some of the boot/menu programs check this address and assume the cart is NOT xb if it is different. Long ago, this was a simple, consistent validation check. Sample code from MENU: XBPROG LI R1,>6372 C R1,@CARTAD JEQ RUNXB LI R7,6 'no xb' B @PUTERR Yea assumed that the XB cart never ever is updated or changed. Nice suggestion but RXB >6372 is same command not changed. I seem to remember many years ago I ran into this, and they were using some really oddball address that was not even a GPL command like between GPL commands. Anyway this is the RXB GPL Code at >6372: *********************************************************** * START OF BASIC INTERPETER *********************************************************** * GROM Address >6372 TOPLEV AORG >0372 TOPLEV CLR V@LODFLG Initialize temp area * RXB PATCH CODE USER ************************************* * MOVE 77,V@LODFLG,V@LODFLG+1 * ST 5,@KEYBD Select full keyboard * SCAN * CZ @KEYBD * BR G6388 99/4A Console? * ST >01,V@CONFLG Select 99/4A console CALL SET24K B G6388 ****** NEW RXB TITLE SCREEN LOCATION >C000 **************** RXBRUN EQU >D100 RUNRXB B RXBRUN *********************************************************** AORG >0388 * G6388 CLR @KEYBD DST NLNADD,V@BUFSRT Initialize edit-buffer start DST NLNADD,V@BUFEND Initialize edit-buffer end MOVE 2,G@ATNZZ,@INTRIN Get address of ATNZZ AND >1F,@INTRIN Throw away the BR opcode DADD >5B,@INTRIN Address of polynomial constan ST >31,V@LODFLG indicate try auto-boot *---------------------------------------------------------- * Add the following line for fixing "MEMORY FULL" error * occurring during MERGE execution will leave the file open * to disk DSR bug, 5/19/81 SZNEW CLR V@MRGPAB Initialize merged temporary * for PAB pointer *---------------------------------------------------------- ST RSTK,@SUBSTK * Load base of subroutine stack CALL CHRTA2 * Load character table CLR @FLAG * Initialize flag byte DCLR @BUFLEV * Initialize crunch buffer level CALL CLSALL * Close all open files CLR @DATA * Initialize READ/DATA pointer * RXB PATCH CODE VDP STACK LOCATION * DST VRAMVS,@VSPTR * Initialize base of value stack DST @>836E,@VSPTR * Initialize base of value stack DST @VSPTR,@STVSPT * Save in permanent base DST @VSPTR,V@SAVEVP CALL INITPG * Initialize program & s.t. CALL INTRND * Initialize random number CZ V@LODFLG BS TOPL02 If need auto-boot * RXB PATCH CODE ************* * CLR V@LODFLG Won't ever need to do again BR G63D0 * RXB PATCH CODE ****************************************** AORG >03D0 G63D0 CALL AUTOLD Attempt an auto-boot * Label TOPL02 is used by auto-boot in detection of err ERRRDY EQU $ TOPL02 CALL G6A84 Say READY BYTE 0 * returns to TOPL15 TOPL05 CALL INITPG Initialize program space TOPL10 CALL KILSYM Kill the symbol table * RXB PATCH CODE ************* * TOPL15 AND >F7,@FLAG If error in UDF execution TOPL15 B MYSRCH G63E0 ST 5,@KEYBD Select full keyboard SCAN CLR @KEYBD TOPL20 ST RSTK,@SUBSTK Initialize subroutine stack TOPL25 DST NLNADD,@VARW Screen addr = lower left corn CLR @RAMFLG Clear the RAMFLG CLR @PRGFLG Make sure not in program mode * Check for auto-num mode CLOG >01,@FLAG If auto-num on BS TOPL35 DADD @CURINC,@CURLIN Generate new line number CGE 0,@CURLIN >32767? BS TOPL30 AND >FE,@FLAG If out of range->exit auto-nu B TOPL35 Merge in below * Must be a long branch!! TOPL30 DCEQ @ENLN,@STLN Line might exist BS G6412 DST @CURLIN,@FAC Ready for program search XML SPEED BYTE SEETWO * Search for existence of line BS EDTZ05 COND set = line found G6412 XML SCROLL Scroll to the next line DST @CURLIN,@ARG2 New line # CALL DISO Display the line number DINC @VARW Following by a space BR G6420 TOPL35 XML SCROLL Scroll the screen G6420 ST >9E,V@NLNADD-1 Display the prompt character CALL G6A76 Read in a line CALL SAVLIN Save input line for recall * Crunch the input line CLR @ERRCOD Assume no-error return DST CRNBUF,@RAMPTR Initialize crunch pointer XML CRUNCH CRUNCH the input line BYTE 0 * Normal crunch mode TOPL42 CASE @ERRCOD+1 BR TOPL45 No error detected BR ERRSYN *SYNTAX ERROR BR ERRBLN *BAD LINE NUMBER BR ERRLTL *LINE TOO LONG BR ERRNTL *NAME TOO LONG BR ERRNQS *UNMATCHED QUOTES BR ERRCIP *COMMAND ILLEGAL IN PROGRAM BR ERRIVN *UNRECOGNIZED CHARACTER TOPL45 DCZ @FAC Line # present BS TOPL55 CLOG >01,@FLAG Not AUTONUM BR G645B CEQ >0D,@RKEY Must be up or down BS G645B CEQ >01,@CHAT Start EDIT mode BR G645B B EDTZZ0 G645B CALL EDITLN EDIT the line into the progra BS TOPL25 If didn't change the line BR TOPL10 * Jump always TOPL55 CEQ >01,@CHAT If blank line - ignore BS TOPL25 CEQ >EB,V@CRNBUF BS SZSIZE CH >08,V@CRNBUF If imperative * GKXB Branch code for new commands DEL, COPY, and MOVE. BS NEWCMD Go here to test for new * keywords DST CRNBUF+1,@PGMPTR Anticipate usage of PGMCHR XML PGMCHR Prepare CHAT for OLD and SAVE CASE V@CRNBUF Select the keyword BR SZNEW NEW 0 BR SZCONT CONTINUE 1 BR SZLIST LIST 2 BR SZBYE BYE 3 BR SZNUM NUMBER 4 BR SZOLD OLD 5 BR SZRES RESEQUENCE 6 BR SZSAVE SAVE 7 BR SZMERG MERGE 8 * AUTO-BOOT - attempt a ----> RUN "DSK1.LOAD" AUTOLD MOVE 11,G@DSCLOD,V@CRNBUF DST CRNBUF,@PGMPTR DSK1.LOAD is in crunch buffer * RXB PATCH CODE ************* * BR SZRUNL Go to the RUN "NAME" CODE BR RUNRXB ********************************* RUN ********************* SZRUN CEQ STRINZ,@CHAT Ready for 'RUN "NAME" ---- BR G64BF SZRUNL DST @PGMPTR,@FAC14 Save pointer to name XML PGMCHR Get the length of the string ST @CHAT,@FAC13 Put it in FAC13 CLR @FAC12 Make it a double byte DADD @FAC12,@PGMPTR Skip the string XML PGMCHR To see there is line no. ahea CALL G8024 Only RUN "NAME" ? BR ERRSYN No - junk on end so error ST STRINZ,@CHAT Prepare for LOAD routine DST @FAC14,@PGMPTR Restore the saved PGMPTR CALL OLD1 Load the program BR SZRUN0 Go ahead from here * No RUN "NAME" : just run the * current program in memory G64BF CEQ >C9,@CHAT Is there a line # after RUN? BR G64D5 XML PGMCHR Get the line number ST @CHAT,@FAC Put it in FAC for SEETWO XML PGMCHR ST @CHAT,@FAC1 XML PGMCHR Should be EOS now CALL G8024 Is it? BS SZRUN2 Yes - Go ahead from here * Just 'RUN' G64D5 CALL G8024 Should be EOS now BR ERRSYN No-SYNTAX ERROR SZRUN0 DCEQ @ENLN,@STLN Refuse without program BS ILLST DST @ENLN,V@START Defualt to beginning DSUB 3,V@START Offset into the table BR SZRUN1 Merge in below * Jump always SZRUN2 DCEQ @ENLN,@STLN Refuse without program BR G64F9 ILLST XML SCROLL Scroll the screen for message CLR @PRGFLG Prevent line # printing WRNNPP CALL G6A82 BYTE 29 * NO PROGRAM PRESENT BR TOPL15 * Condition can never be set since line 0 is prohibited G64F9 XML SPEED BYTE SEETWO * Find the line in the program BR ERRLNF * LINE NOT FOUND DST @EXTRAM,V@START Program run starts here<<<<<<<<<< * GKXB RUN code for color change. SZRUN1 BR RUNPAT Change colors. G6504 CALL CLSALL Close any open files DEC @PRGFLG Put it back in execution ST @RAMTOP+1,@RAMFLG Set/reset RAMFLG flag -- when DCLR V@SEXTRM in program mode & ERAM exist DCLR V@ERRLN Disallow CONTINUE after RUN CALL KILSYM Reset ERR handling to defualt ST RSTK,@SUBSTK Set the stack empty * RXB PATCH CODE ************ Turn off DSK#.LOAD search * SZRUN4 B G6A70 SZRUN4 B SCHOFF Turn off search first then G6 EDTZ05 B EDTZ00 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.