Jump to content
IGNORED

RXB - Rich Extended Basic


Bones-69

Recommended Posts

Cool idea. Could you dump the results into an array versus on screen?

Yea you could do a

 

DIM F$(200)

CALL SEARCH("FUN",F,F$())

FOR X=0 TO 200 :: PRINT F$(X) :: NEXT X

 

Of course you could also do this from a XB program instead but this looked so cool from command mode.

Link to comment
Share on other sites

A very cool idea occurred to me for the TI a week ago.

1 ! WILL FIND AND RUN ANY FILE SEARCH STRING IN FILE NAME
100 DISPLAY AT(10,1)ERASE ALL:"XB GAME TO RUN:"
110 ACCEPT AT(12,1)BEEP SIZE(10):S$
120 DIM X$(200)
130 CALL SEARCH(S$,F,X$())! S$ IS THE SEARCH STRING TO FIND, F IS FILES, X$() ARRAY
140 FOR L=0 TO 200
150 P=POS(S$,F$(L),1)
160 IF P THEN CALL XBPGM(F$(L))
170 NEXT L
180 PRINT "NOT FOUND"
190 CALL KEY("",0,K,S) :: GOTO 100

I could even add a section that sees what type of file and use a smart loader to figure out the way to load it.

  • Like 1
Link to comment
Share on other sites

Got a beta to work on Classic99

100 DISPLAY AT(12,1)ERASE ALL:"SEARCH FOR:"
105 ACCEPT AT(12,13)BEEP:S$
110 D$="DSK1."
120 GOSUB 1000
130 D$="SCS1."
140 GOSUB 1000
150 D$="WDS1."
160 GOSUB 1000
170 D$="HDK1."
180 GOSUB 1000
190 END
1000 IF D$="DSK_." OR D$="SCS9." OR D$="WDS9." OR D$="HDK9." THEN RETURN
1005 ON ERROR 1130
1010 OPEN #1:D$,INPUT,RELATIVE,INTERNAL,FIXED
1020 INPUT #1:N$,T,S,F
1040 INPUT #1:N$,T,S,R
1050 IF POS(N$,S$,1)THEN PRINT D$&N$
1060 IF LEN(N$)=0 THEN 1090
1070 IF ABS(T)=6 THEN PRINT N$,"DIRECTORY"
1080 GOTO 1040
1090 CLOSE #1
1100 I=ASC(SEG$(D$,4,1))+1
1110 D$=SEG$(D$,1,3)&CHR$(I)&"."
1120 GOTO 1000
1130 RETURN 1100
Edited by RXB
Link to comment
Share on other sites

Also working on fixing the freaking horridly slow and bloated RANDOM number seed and and possible fixing RND to not be so slow in XB.

Here is the RANDOM seed:

<0363> A295 42,03,23 X2SEED BYTE >42,>03,>23,>15,>00 * =   33521, X2 INITIAL VAL
       A298 15,00
<0364> A29A 43,02,3E X1SEED BYTE >43,>02,>3E,>2A,>17 * = 2624223, X1 INITIAL VAL
       A29D 2A,17
<0365>               ***********************************************************
<0366>               *           PSEUDO-RANDOM NUMBER GENERATOR
<0367>               *      X(N+1) = (A*X(N)+C) MOD M;  RND = X/M
<0368>               *    WHERE:                 X = X2 * 1E7 + X1
<0369>               *                           A = A2 * 1E7 + A1
<0370>               *                           C = C2 * 1E7 + C1
<0371>               *                           M = 1E14
<0372>               * ASSUMPTIONS:
<0373>               *  (1) All numbers are integers; fractional parts are
<0374>               *      truncated
<0375>               *  (2) If the variables listed below start in the ranges
<0376>               *     specified. They will also end in the ranges specified
<0377>               *
<0378>               * CONSTANTS: 0 <= A2 < 5E6 ; 0 <= C2 < 1E7
<0379>               *            0 <= A1 < 5E6 ; 0 <= C1 < 1E7
<0380>               * VARIABLES: 0 <= X2 < 1E7 ; 0 <= T1 <= 1E14 ; 0 <= T2 < 1E
<0381>               *            0 <= X1 < 1E7 ; 0 <= T3 <= 1E14 ; 0 <= T4 < 1E
<0382>               *
<0383>               *        STACK USAGE:
<0384>               *            CONSTANT REFS      CONTANT REFS    CONTANT REF
<0385>               * +---------+      IN/OUT            IN/OUT          IN/OUT
<0386>               * | STACK+4 | X2*A1(F)(H)       --    ----      --    ----

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0016 
EQUATES EXEC-359
<0387>               * +---------+
<0388>               * | STACK+3 |   T2 (C)(J)       --    ----      --    ----
<0389>               * +---------+
<0390>               * | STACK+2 |   T1 (B)(D)   new X1   (E)(N)     --    ----
<0391>               * +---------+
<0392>               * | STACK+1 |old X1(A)(G)       T3   (K)(L) new X2   (M)(P)
<0393>               * +---------+
<0394>               ***********************************************************
<0395>               * COMPUTE NEW VALUE FOR X1, SAVE IT IN V@RNDX1
<0396>               *                             STACK
<0397>               *                               SREFS   FAC CONTENTS
<0398> A29F 35,00,05 NRND   MOVE 5,V@RNDX1,@FAC        FAC = X1
       A2A2 4A,A3,A5
<0399> A2A5 86,4F           CLR  @FAC5                 FAC = CLR
<0400> A2A7 87,50           DCLR @FAC6                 FAC = CLR
<0401> A2A9 0F,77           XML  VPUSH          (A)    FAC = X1
<0402> A2AB 31,00,08        MOVE 8,G@RNDA1,@ARG        ARG = A1
       A2AE 5C,A3,57
<0403> A2B1 0F,08           XML  FMUL                  FAC = X1*A1
<0404> A2B3 31,00,08        MOVE 8,G@RNDC1,@ARG        ARG = C1
       A2B6 5C,A3,67
<0405> A2B9 0F,06           XML  FADD               T1=FAC = X1*A1+C1
<0406> A2BB 0F,77           XML  VPUSH          (B)    FAC = T1
<0407> A2BD 31,00,08        MOVE 8,G@RNDEM,@ARG        ARG = 1/1E7
       A2C0 5C,A3,77
<0408> A2C3 0F,08           XML  FMUL                  FAC = T1/1E7
<0409> A2C5 06,00,22        CALL GRINT              T2=FAC = INT(T1/1E7)
<0410> A2C8 0F,77           XML  VPUSH          (C)    FAC = T2
<0411> A2CA 31,00,08        MOVE 8,G@RNDEP,@ARG        ARG = 1E7
       A2CD 5C,A3,6F
<0412> A2D0 0F,08           XML  FMUL                  FAC = T2*1E7
<0413> A2D2 A7,6E,00        DSUB 8,@VSPTR
       A2D5 08
<0414> A2D6 0F,0C           XML  SSUB           (D) X1=FAC = T1-T2*1E7
<0415> A2D8 35,00,05        MOVE 5,@FAC,V@RNDX1        FAC = X1 (new)
       A2DB A3,A5,4A
<0416> A2DE 0F,77           XML  VPUSH          (E)    FAC = X1
<0417>               * COMPUTE NEW VALUE FOR X2, SAVE IT IN V@RNDX2
<0418> A2E0 35,00,05        MOVE 5,V@RNDX2,@FAC        FAC = X2
       A2E3 4A,A3,A0
<0419> A2E6 86,4F           CLR  @FAC5                 FAC = CLR
<0420> A2E8 87,50           DCLR @FAC6                 FAC = CLR
<0421> A2EA 31,00,08        MOVE 8,G@RNDA1,@ARG        ARG = A1
       A2ED 5C,A3,57
<0422> A2F0 0F,08           XML  FMUL                  FAC = X2*A1
<0423> A2F2 A3,6E,00        DADD 8,@VSPTR
       A2F5 08
<0424> A2F6 0F,77           XML  VPUSH          (F)    FAC = X2*A1
<0425> A2F8 A7,6E,00        DSUB 24,@VSPTR
       A2FB 18
<0426> A2FC 0F,78           XML  VPOP           (G)    FAC = X1
<0427> A2FE A3,6E,00        DADD 32,@VSPTR
       A301 20
<0428> A302 31,00,08        MOVE 8,G@RNDA2,@ARG        ARG = A2
       A305 5C,A3,4F
<0429> A308 0F,08           XML  FMUL                  FAC = X1*A2
<0430> A30A 0F,0B           XML  SADD           (H)    FAC = X2*A1+X1*A2
<0431> A30C 31,00,08        MOVE 8,G@RNDC2,@ARG        ARG = C2
       A30F 5C,A3,5F
<0432> A312 0F,06           XML  FADD                  FAC = X2*A1+X1*A2
<0433> A314 0F,0B           XML  SADD           (J) T3=FAC = X2*A1+X1*A2
<0434> A316 A7,6E,00        DSUB 16,@VSPTR
       A319 10
<0435> A31A 0F,77           XML  VPUSH          (K)    FAC = T3

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0017 
EQUATES EXEC-359
<0436> A31C 31,00,08        MOVE 8,G@RNDEM,@ARG        ARG = 1/1E7
       A31F 5C,A3,77
<0437> A322 0F,08           XML  FMUL                  FAC = T3/1E7
<0438> A324 06,00,22        CALL GRINT              T4=FAC = INT(T3/1E7)
<0439> A327 31,00,08        MOVE 8,G@RNDEP,@ARG        ARG = 1E7
       A32A 5C,A3,6F
<0440> A32D 0F,08           XML  FMUL                  FAC = T4*1E7
<0441> A32F 0F,0C           XML  SSUB           (L) X2=FAC = T3-T4*1E7
<0442> A331 35,00,05        MOVE 5,@FAC,V@RNDX2        FAC = X2 (new)
       A334 A3,A0,4A
<0443>               * COMPUTE NEW VALUE FOR RND, LEAVE IT IN FAC
<0444> A337 31,00,08        MOVE 8,G@RNDEM,@ARG        ARG = 1/1E7
       A33A 5C,A3,77
<0445> A33D 0F,08           XML  FMUL                  FAC = X2/1E7
<0446> A33F 0F,77           XML  VPUSH          (M)    FAC = X2/1E7
<0447> A341 A3,6E,00        DADD 8,@VSPTR
       A344 08
<0448> A345 0F,78           XML  VPOP           (N)    FAC = X1
<0449> A347 0F,08           XML  FMUL                  FAC = X1/1E7
<0450> A349 0F,08           XML  FMUL                  FAC = X1/1E14
<0451> A34B 0F,0B           XML  SADD           (P)RND=FAC = (X2/1E7)+(X1/1E14)
<0452> A34D 0F,75           XML  CONT
<0453>               ***********************************************************
<0454>               * CONSTANTS FOR THE RANDOM NUMBER ROUTINE
<0455> A34F 43,01,2B RNDA2  BYTE >43,>01,>2B,>59,>52,>00,>00,>00 * = 1438982
       A352 59,52,00
       A355 00,00
<0456> A357 42,2A,08 RNDA1  BYTE >42,>2A,>08,>15,>00,>00,>00,>00 * = 0420821
       A35A 15,00,00
       A35D 00,00
<0457> A35F 43,02,0B RNDC2  BYTE >43,>02,>0B,>20,>30,>00,>00,>00 * = 2113248
       A362 20,30,00
       A365 00,00
<0458> A367 43,06,36 RNDC1  BYTE >43,>06,>36,>05,>13,>00,>00,>00 * = 6540519
       A36A 05,13,00
       A36D 00,00
<0459> A36F 43,0A,00 RNDEP  BYTE >43,>0A,>00,>00,>00,>00,>00,>00 * = 1E7
       A372 00,00,00
       A375 00,00
<0460> A377 3C,0A,00 RNDEM  BYTE >3C,>0A,>00,>00,>00,>00,>00,>00 * = 1/1E7
       A37A 00,00,00
       A37D 00,00
<0461>               ***********************************************************
<0462>               *                   RANDOMIZE STATEMENT
<0463>               ***********************************************************
<0464> A37F 06,6A,78 NRNDMZ CALL CHKEND            Seed provider?
<0465> A382 63,C0           BS   RNDM1             No
<0466>               * RANDOMIZE given a see value
<0467>               * (99,000,000,000,001 possible starting positions)
<0468>               * (Place-value is ignored in the input number)
<0469> A384 0F,74           XML  PARSE             Parse the seed
<0470> A386 83              BYTE TREMZ           * Up to end of statement
<0471> A387 06,A3,ED        CALL CKSTNM
<0472> A38A 8F,4A           DCZ  @FAC              Check FAC for zero
<0473> A38C 63,B6           BS   GA3B6
<0474> A38E BE,4A,46        ST   >46,@FAC          0 < FAC < 1E14
<0475> A391 0F,77           XML  VPUSH             Let FAC = X2*1E7+X1
<0476> A393 31,00,08        MOVE 8,G@RNDEM,@ARG        ARG = 1/1E7
       A396 5C,A3,77
<0477> A399 0F,08           XML  FMUL                  FAC = X2+X1/1E7
<0478> A39B 06,00,22        CALL GRINT                 FAC = X2
<0479> A39E 35,00,05        MOVE 5,@FAC,V@RNDX2        FAC = X2
       A3A1 A3,A0,4A
<0480> A3A4 31,00,08        MOVE 8,G@RNDEP,@ARG        ARG = 1E7

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0018 
EQUATES EXEC-359
       A3A7 5C,A3,6F
<0481> A3AA 0F,08           XML  FMUL                  FAC = X2*1E7
<0482> A3AC 0F,0C           XML  SSUB                  FAC = X1
<0483> A3AE 35,00,05        MOVE 5,@FAC,V@RNDX1        FAC = X1
       A3B1 A3,A5,4A
<0484> A3B4 0F,75           XML  CONT                  FAC = X1
<0485> A3B6 BD,A3,A0 GA3B6  DST  @FAC,V@RNDX2          FAC = 0
       A3B9 4A
<0486> A3BA BD,A3,A5        DST  @FAC,V@RNDX1          FAC = 0
       A3BD 4A
<0487> A3BE 0F,75           XML  CONT
<0488>               * RANDOMIZE given number seed value (use GPL RAND function)
<0489>               * (16K possible starting positions)
<0490> A3C0 BF,4A,42 RNDM1  DST  >4201,@FAC            FAC = >4201
       A3C3 01
<0491> A3C4 86,4E           CLR  @FAC4                 FAC4= >00
<0492> A3C6 06,A3,D2        CALL RNDMZ
<0493> A3C9 03,A5           DATA RNDX1
<0494> A3CB 06,A3,D2        CALL RNDMZ             Set up seed
<0495> A3CE 03,A0           DATA RNDX2
<0496> A3D0 0F,75           XML  CONT              Continue on
<0497> A3D2 88,52    RNDMZ  FETCH @FAC8            Fetch address of seed (high b
<0498> A3D4 88,53           FETCH @FAC9            Fetch address of seed (low by
<0499> A3D6 02,63           RAND 99                GPL Randomize
<0500> A3D8 BC,4C,78        ST   @RANDOM,@FAC2     >00<=FAC+2<=FF
<0501> A3DB E6,4C,02        SRL  2,@FAC2           >00<=FAC+2<=3F
<0502> A3DE 02,63           RAND 99                GPL Randomize
<0503> A3E0 BC,4D,78        ST   @RANDOM,@FAC3     >00<=FAC+3<=FF
<0504> A3E3 E6,4D,02        SRL  2,@FAC3           >00<=FAC+3<=3F
<0505> A3E6 35,00,05        MOVE 5,@FAC,V*FAC8     Put in seed
       A3E9 B0,52,4A
<0506> A3EC 00              RTN
<0507> A3ED D6,4C,65 CKSTNM CEQ  >65,@FAC2
<0508> A3F0 6D,BE           BS   ERRSNM
<0509> A3F2 00              RTN
<0510> A3F3 40,01,00 FLT1   BYTE >40,>01,>00,>00,>00,>00,>00,>00
       A3F6 00,00,00
       A3F9 00,00

Why would TI make it so freaking complicated and bloated?

What problem were they attempting to solve?

It looks like TI was attempting to create a new version of math for RANDOM numbers!

 

P.S.

I am thinking of making a IRND that is integer based only version of RND unlike the Floating Point version.

Also a IRANDOM seed that is a Integer based only version of RANDOM seed unlike the Floating Point version.

Edited by RXB
  • Like 1
Link to comment
Share on other sites

Rich-

I was wondering- how hard would it be to allow MIN and MAX to have 'unlimited' arguments, rather than the standard two? For example, it would be cool if you had a numeric array, A and could find the minimum value with something like:

150 B=MIN(A())

similar to MATLAB, which checks the entire vector, rather than just two scalars. Just something to think about since you're preparing a new release of RXB ;).

Link to comment
Share on other sites

Rich-

I was wondering- how hard would it be to allow MIN and MAX to have 'unlimited' arguments, rather than the standard two? For example, it would be cool if you had a numeric array, A and could find the minimum value with something like:

150 B=MIN(A())

similar to MATLAB, which checks the entire vector, rather than just two scalars. Just something to think about since you're preparing a new release of RXB ;).

I do no think something like that would get much use. As it is now, I am looking at removing some stuff from RXB that sees no use at all.

 

I was hoping to get some feedback from people on the RANDOMIZE (seed) and RND for a better faster version.

Link to comment
Share on other sites

As it is now, I am looking at removing some stuff from RXB that sees no use at all.

 

Well, you left yourself open there. And I'm jumping in - with both feet!

 

How about a version of RXB that doesn't use the menu? Just start it up like all the other XBs do.

The menu is of no use to me.

Search for DSK1.LOAD and if it doesn't find that, go to the command line. Or press the spacebar to bypass the search.

I for one would LOVE something like that. YOU HAVE NO IDEA HOW MUCH!!!!! PLEASE DO IT!!!!!!!!!

And I'll bet I'm not the only one that feels like this. Well, I know, because I've talked to a few people about it, I don't have to bet. :)

Take a poll if you want, I'll bet you find a lot of people in my camp.

 

You don't have to abandon the menu, just make 2 versions, one with the menu and one without.

 

:( But I've mentioned this before a few times, and you didn't like the idea. Shame. :(

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

I do no think something like that would get much use. As it is now, I am looking at removing some stuff from RXB that sees no use at all.

 

I was hoping to get some feedback from people on the RANDOMIZE (seed) and RND for a better faster version.

 

Myarc's Advanced BASIC for the Geneve is written in assembly. It might be worth a look for some code to help you speed things up. I don't know how much if any of it was based on the original XB code, you would be a better judge of that.

 

I know how you feel about bugs and all, but I think a 2nd version with the auto-load and FCTN-8 restored would be nice to have. Or maybe you'll free up space to make things optional for those whose only "complaint" is these more prominent differences.

  • Like 1
Link to comment
Share on other sites

 

Well, you left yourself open there. And I'm jumping in - with both feet!

 

How about a version of RXB that doesn't use the menu? Just start it up like all the other XBs do.

The menu is of no use to me.

Search for DSK1.LOAD and if it doesn't find that, go to the command line. Or press the spacebar to bypass the search.

I for one would LOVE something like that. YOU HAVE NO IDEA HOW MUCH!!!!! PLEASE DO IT!!!!!!!!!

And I'll bet I'm not the only one that feels like this. Well, I know, because I've talked to a few people about it, I don't have to bet. :)

Take a poll if you want, I'll bet you find a lot of people in my camp.

 

You don't have to abandon the menu, just make 2 versions, one with the menu and one without.

 

:( But I've mentioned this before a few times, and you didn't like the idea. Shame. :(

 

Gazoo

Hmm RXB does do DSK1.LOAD by default and goes to command line, just press the spacebar.

 

It will find LOAD on any of the 9 drives so I guess it is too much effort to just press the spacebar to go to command line?

 

(Unless you are using a old 2001 version that had the Auto start, then after drive 9 would go back to start over, but again just press the spacebar for command line.)

 

So what would be the point of removing the menu as it does not interfere with anything at all?

 

Works exactly the same as XB or XB 2.7 or SXB or GKXB so other then you do not want to look at the menu makes zero difference in performance.

 

The complaint is basically that it is not Extended Basic 110 or XB 2.7 so you are free to use those.

(But of course no built in Editor Assembler, or SAMS or Disk/Hard Drive support.)

Link to comment
Share on other sites

 

Myarc's Advanced BASIC for the Geneve is written in assembly. It might be worth a look for some code to help you speed things up. I don't know how much if any of it was based on the original XB code, you would be a better judge of that.

 

I know how you feel about bugs and all, but I think a 2nd version with the auto-load and FCTN-8 restored would be nice to have. Or maybe you'll free up space to make things optional for those whose only "complaint" is these more prominent differences.

 

Here's a message sent to my personal inbox:

 

Gazoo said: "Search for DSK1.LOAD and if it doesn't find that, go to the command line. Or press the spacebar to bypass the search.

I for one would LOVE something like that. YOU HAVE NO IDEA HOW MUCH!!!!! PLEASE DO IT!!!!!!!!!"

 

And the Anonymous reply was: "#1 reason I AVOID RXB like the plague! I cannot stand that @#$%ing menu getting in my way."

 

C'mon dude, help a brother out. :)

 

Sincerely,

 

Gazoo

Link to comment
Share on other sites

Hmm RXB does do DSK1.LOAD by default and goes to command line, just press the spacebar.

 

It will find LOAD on any of the 9 drives so I guess it is too much effort to just press the spacebar to go to command line?

 

(Unless you are using a old 2001 version that had the Auto start, then after drive 9 would go back to start over, but again just press the spacebar for command line.)

 

So what would be the point of removing the menu as it does not interfere with anything at all?

 

Works exactly the same as XB or XB 2.7 or SXB or GKXB so other then you do not want to look at the menu makes zero difference in performance.

 

The complaint is basically that it is not Extended Basic 110 or XB 2.7 so you are free to use those.

(But of course no built in Editor Assembler, or SAMS or Disk/Hard Drive support.)

 

"So what would be the point of removing the menu as it does not interfere with anything at all?"

 

That question makes no sense as the menu interferes with the normal startup sequence of XB. Some people like that, you've changed the behavior.

 

All we're asking for is an alternate version with the same wonderful routines contained within RXB that doesn't have the distasteful aspects (to some) of the menu. Can you explain exactly what the harm in that would be?

 

"Works exactly the same as XB or XB 2.7 or SXB or GKXB so other then you do not want to look at the menu makes zero difference in performance."

 

No it doesn't work the same. As it's been stated, perhaps not so eloquently, "The menu gets in the way."

 

What's wrong with having the version you like and also having one that's compatible with TI Extended Basic and all the other versions? You can only gain more acceptance in doing so. Isn't that the desire of any software author? Or is it "This is the way I'm going to do it and tough $hit if you don't like it."? Seems that your belief is the latter.

 

Sorry, but I don't live that way. Constructive criticism can only serve to make things better. If you don't believe in that principle, then continue on your present course.

 

I prefer to improve the software I've released based on the reviews (good and bad) and the suggestions of people that actually use it. But 'To each his own."

 

If it only took a tiny little bit of effort on your part (maybe a few minutes) to have an alternate version of RXB that a lot more people would use, what exactly would be the downside of that?

 

Gazoo

Edited by Gazoo
Link to comment
Share on other sites

 

"So what would be the point of removing the menu as it does not interfere with anything at all?"

 

That question makes no sense as the menu interferes with the normal startup sequence of XB. Some people like that, you've changed the behavior.

 

All we're asking for is an alternate version with the same wonderful routines contained within RXB that doesn't have the distasteful aspects (to some) of the menu. Can you explain exactly what the harm in that would be?

 

"Works exactly the same as XB or XB 2.7 or SXB or GKXB so other then you do not want to look at the menu makes zero difference in performance."

 

No it doesn't work the same. As it's been stated, perhaps not so eloquently, "The menu gets in the way."

 

What's wrong with having the version you like and also having one that's compatible with TI Extended Basic and all the other versions? You can only gain more acceptance in doing so. Isn't that the desire of any software author? Or is it "This is the way I'm going to do it and tough $hit if you don't like it."? Seems that your belief is the latter.

 

Sorry, but I don't live that way. Constructive criticism can only serve to make things better. If you don't believe in that principle, then continue on your present course.

 

I prefer to improve the software I've released based on the reviews (good and bad) and the suggestions of people that actually use it. But 'To each his own."

 

If it only took a tiny little bit of effort on your part (maybe a few minutes) to have an alternate version of RXB that a lot more people would use, what exactly would be the downside of that?

 

Gazoo

What does the menu stop you from from doing?

What does the menu GET IN THE WAY OF?

How does it interfere with any programs other then you must push the spacebar to bypass DSK1.LOAD?

Really how freaking hard is it to push the spacebar?

This is just a way to gimp the options RXB has:

 

PERIOD KEY instant access to EA Cart.

ANY KEY for instant DSK#.LOAD off any disk.

ENTER KEY instant run of EA5 programs named UTIL1 off of any disk. (In the EA Cart environment)

COMMA instant batch file processor runs off disk.

 

So basically you want to me take out all the options that RXB has to make it a XB 2.7 version or Version 110 XB gimped look alike.

Or you want to hide all the things RXB can do like this is would be a improvement?

How is gimping my RXB a improvement?

I could give a blank screen like Verizon 110 but then all the extra features are no longer seen or known!

(That is like painting over the Mona Lisa smile with a happy face.)

 

If you do not want to use RXB I have no issue with this at all.

The RXB Loader is faster and better then the Boot or FW loader or anyone elses LOAD program loader.

10 CALL XBPGM("WDS.FUNNELWEB.FW") ! This single line is easy to modify and takes less disk space also will load any EA 5 program.

If it makes people happy I can blank the screen after menu, but not during.

 

I do not tell you how to write XB 2.7 or anything else do I?

I see a hidden agenda here as all these people you talk about have never ever sent me a single message or request like this about the menu in over 13 years.

Edited by RXB
Link to comment
Share on other sites

I'm getting an odd bug with RXB 2012, at least in MESS. If I have a program in memory, type SIZE, then type LIST, the screen goes haywire, and I have to hard reset.

Sounds like a corrupt version of RXB or are you using the old normal XB ROMs.

If you use the normal XB ROMs then LIST will crash RXB or GKXB as both have 2 bytes modified.

*
* Code for new commands DEL, COPY, and MOVE
*
* NOTICE !!!!!
* RAM BANK 2 CHANGED AS FOLLOWS-----
* 7D1B changed from >08 to >0B
* 7D35 changed from >08 to >0C
*
********************************************************************************

Here is a copy of the one I use in MESS let me know if you still get the problem.

rxb_2012.zip

Edited by RXB
Link to comment
Share on other sites

What does the menu stop you from from doing?

What does the menu GET IN THE WAY OF?

How does it interfere with any programs other then you must push the spacebar to bypass DSK1.LOAD?

Really how freaking hard is it to push the spacebar?

This is just a way to gimp the options RXB has:

 

PERIOD KEY instant access to EA Cart.

ANY KEY for instant DSK#.LOAD off any disk.

ENTER KEY instant run of EA5 programs named UTIL1 off of any disk. (In the EA Cart environment)

COMMA instant batch file processor runs off disk.

 

So basically you want to me take out all the options that RXB has to make it a XB 2.7 version or Version 110 XB gimped look alike.

Or you want to hide all the things RXB can do like this is would be a improvement?

How is gimping my RXB a improvement?

I could give a blank screen like Verizon 110 but then all the extra features are no longer seen or known!

(That is like painting over the Mona Lisa smile with a happy face.)

 

If you do not want to use RXB I have no issue with this at all.

The RXB Loader is faster and better then the Boot or FW loader or anyone elses LOAD program loader.

10 CALL XBPGM("WDS.FUNNELWEB.FW") ! This single line is easy to modify and takes less disk space also will load any EA 5 program.

If it makes people happy I can blank the screen after menu, but not during.

 

I do not tell you how to write XB 2.7 or anything else do I?

I see a hidden agenda here as all these people you talk about have never ever sent me a single message or request like this about the menu in over 13 years.

 

So you didn't understand any of the things I mentioned. That's too bad. :(

 

Just so you know, I had a number of requests along the years for changes in my XB, and honored them all, or kindly explained why the request wasn't possible to do.

That's how it progressed from XBPATCH to XB v2.1 and up to v2.7. That's part of being a programmer, meeting the users requests and suggestions to make the software better for THEM, not YOU.

 

You don't have to understand why someone wants a particular option, only that it makes the software more useful for them. If you choose to ignore that fact, then so be it.

But that's extremely closed-minded, don't you see?

 

No hidden agenda, just a request for an improvement that would be preferable to many. And the request was for having the menu as an option, you don't have to remove it for the few that prefer it. I DO want to use RXB as I like many of the commands in it, but can't currently because of the way it starts. :(

 

Gazoo

Link to comment
Share on other sites

Rich, could the solution be something as simple as adding an option to the TI start Menu?

 

1 TI BASIC

2 RXB With MENU

3 RXB Without MENU

 

Then everyone would be happy--and more people would play with the goodness that is RXB.

I agree. I have started liking RXB as of recent but not too fond of the start menu.

  • Like 2
Link to comment
Share on other sites

 

You don't have to understand why someone wants a particular option, only that it makes the software more useful for them. If you choose to ignore that fact, then so be it.

 

Although I agree with the rest of your post, this statement is not necessarily true. You should always try to understand the reason behind a particular request, it's unlikely that an end-user can come up with the best solution for a given problem, so you understanding the reason behind the feature request could allow you to propose an even better/easier solution.

 

Although all of the above of course assumes that the developer is interested in listening to his/her users to begin with, so the point is probably moot in this discussion.

Edited by TheMole
  • Like 1
Link to comment
Share on other sites

Rich, could the solution be something as simple as adding an option to the TI start Menu?

 

1 TI BASIC

2 RXB With MENU

3 RXB Without MENU

 

Then everyone would be happy--and more people would play with the goodness that is RXB.

 

XB should also have an option to turn off the auto loader. Or is there a shortcut I'm not aware of?

Link to comment
Share on other sites

 

"So what would be the point of removing the menu as it does not interfere with anything at all?"

 

That question makes no sense as the menu interferes with the normal startup sequence of XB. Some people like that, you've changed the behavior.

 

All we're asking for is an alternate version with the same wonderful routines contained within RXB that doesn't have the distasteful aspects (to some) of the menu. Can you explain exactly what the harm in that would be?

 

"Works exactly the same as XB or XB 2.7 or SXB or GKXB so other then you do not want to look at the menu makes zero difference in performance."

 

No it doesn't work the same. As it's been stated, perhaps not so eloquently, "The menu gets in the way."

 

What's wrong with having the version you like and also having one that's compatible with TI Extended Basic and all the other versions? You can only gain more acceptance in doing so. Isn't that the desire of any software author? Or is it "This is the way I'm going to do it and tough $hit if you don't like it."? Seems that your belief is the latter.

 

Sorry, but I don't live that way. Constructive criticism can only serve to make things better. If you don't believe in that principle, then continue on your present course.

 

I prefer to improve the software I've released based on the reviews (good and bad) and the suggestions of people that actually use it. But 'To each his own."

 

If it only took a tiny little bit of effort on your part (maybe a few minutes) to have an alternate version of RXB that a lot more people would use, what exactly would be the downside of that?

 

Gazoo

Well the problem is not RXB it is Boot and FW and some of these loaders do not use a standard address to access XB but instead exploit a XB bug that I would have to re install.

 

RXB does include the SOURCE CODE and you can make your own version pretty easy as the ALL THE TOOLS are in the package.

 

You could even make your own version of XB as I label every single line of RXB in the source code for you to see:

<0209>               ***********************************************************
<0210>                      COPY 'DSK8.SRXB3-C'
<0001>               ***********************************************************
<0002>               *            START OF BASIC INTERPETER
<0003>               ***********************************************************
<0004>                      AORG >0372
<0005> 6372 86,A3,70 TOPLEV CLR  V@>0370           Initialize temp area
<0006> 6375 35,00,4D        MOVE 77,V@>0370,V@>0371
       6378 A3,71,A3
       637B 70
<0007>               * RXB MODULE PATCH CODE FOR RXB MODULE ********************
<0008>               *      ST   5,@KEYBD          Select full keyboard
<0009>               *      SCAN
<0010>               *      CZ   @KEYBD
<0011>               *      BR   G6388             99/4A Console?
<0012>               * RXB HARDWARE CARTRIDGE PATCH
<0013>               *      CALL CART              * RXB PATCH CODE FOR CARTRIDE
<0014> 637C BE,A3,BB        ST   >01,V@CONFLG      Select 99/4A console
       637F 01
<0015> 6380 86,74    G6388  CLR  @KEYBD
<0016>               * RXB MODULE PATCH CODE FOR RXB MODULE ********************
<0017>               *      DST  NLNADD,V@BUFSRT   Initialize edit-buffer start
<0018>               *      DST  NLNADD,V@BUFEND   Initialize edit-buffer end
<0019> 6382 31,00,02        MOVE 2,G@ATNZZ,@INTRIN Get address of ATNZZ
       6385 38,00,32
<0020> 6388 B2,38,1F        AND  >1F,@INTRIN       Throw away the BR opcode
<0021> 638B A3,38,00        DADD >5B,@INTRIN       Address of polynomial constan
       638E 5B
<0022>                
<0023>               * RXB PATCH CODE *************
<0024> 638F BE,A3,71        ST   >31,V@LODFLG      indicate try auto-boot
       6392 31
<0025> 6393 05,63,A5        B    SZNEW
<0026>                      AORG >03A4
<0027> 63A4 00              RTN                    Byte to even address
<0028>               *----------------------------------------------------------
<0029>               * Add the following line for fixing "MEMORY FULL" error
<0030>               * occurring during MERGE execution will leave the file open
<0031>               * to disk DSR bug, 5/19/81
<0032> 63A5 86,A3,9E SZNEW  CLR  V@MRGPAB          Initialize merged temporary
<0033>               *                              for PAB pointer
<0034>               *----------------------------------------------------------
<0035> 63A8 BE,73,88        ST   RSTK,@SUBSTK      Load base of subroutine stack
<0036> 63AB 06,69,17        CALL CHRTA2            Load character table
<0037> 63AE 86,45           CLR  @FLAG             Initialize flag byte
<0038> 63B0 87,46           DCLR @BUFLEV           Initialize crunch buffer leve
<0039> 63B2 06,80,12        CALL CLSALL            Close all open files
<0040> 63B5 86,34           CLR  @DATA             Initialize READ/DATA pointer
<0041> 63B7 BF,6E,09        DST  VRAMVS,@VSPTR     Initialize base of value stac
       63BA 58
<0042> 63BB BD,24,6E        DST  @VSPTR,@STVSPT    Save in permanent base
<0043> 63BE BD,A3,88        DST  @VSPTR,V@SAVEVP
       63C1 6E
<0044> 63C2 06,68,C3        CALL INITPG            Initialize program & s.t.
<0045> 63C5 06,A0,18        CALL INTRND            Initialize random number
<0046> 63C8 8E,A3,71        CZ   V@LODFLG
<0047> 63CB 63,D3           BS   TOPL02            If need auto-boot
<0048>               * RXB PATCH CODE *************
<0049>               *      CLR  V@LODFLG          Won't ever need to do again
<0050> 63CD 43,D0           BR   G63D0
<0051>               * RXB PATCH CODE ******************************************
<0052>                      AORG >03D0

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0015 
EDIT-359
<0053> 63D0 06,64,8E G63D0  CALL AUTOLD            Attempt an auto-boot
<0054>               *     Label TOPL02 is used by auto-boot in detection of err
<0055> 63D3          ERRRDY EQU  $
<0056> 63D3 06,6A,84 TOPL02 CALL G6A84             Say READY
<0057> 63D6 00              BYTE 0               *  returns to TOPL15
<0058> 63D7 06,68,C3 TOPL05 CALL INITPG            Initialize program space
<0059> 63DA 06,68,DC TOPL10 CALL KILSYM            Kill the symbol table
<0060>               * RXB PATCH CODE *************
<0061>               * TOPL15 AND  >F7,@FLAG         If error in UDF execution
<0062> 63DD 05,7E,49 TOPL15 B    MYSRCH
<0063> 63E0 BE,74,05 G63E0  ST   5,@KEYBD          Select full keyboard
<0064> 63E3 03              SCAN
<0065> 63E4 86,74           CLR  @KEYBD
<0066> 63E6 BE,73,88 TOPL20 ST   RSTK,@SUBSTK      Initialize subroutine stack
<0067> 63E9 BF,20,02 TOPL25 DST  NLNADD,@VARW      Screen addr = lower left corn
       63EC E2
<0068> 63ED 86,80,89        CLR  @RAMFLG           Clear the RAMFLG
<0069> 63F0 86,44           CLR  @PRGFLG           Make sure not in program mode
<0070>               * Check for auto-num mode
<0071> 63F2 DA,45,01        CLOG >01,@FLAG         If auto-num on
<0072> 63F5 64,1E           BS   TOPL35
<0073> 63F7 A1,14,0E        DADD @CURINC,@CURLIN   Generate new line number
<0074> 63FA D2,14,00        CGE  0,@CURLIN         >32767?
<0075> 63FD 64,05           BS   TOPL30
<0076> 63FF B2,45,FE        AND  >FE,@FLAG         If out of range->exit auto-nu
<0077> 6402 05,64,1E        B    TOPL35            Merge in below
<0078>               * Must be a long branch!!
<0079> 6405 D5,30,32 TOPL30 DCEQ @ENLN,@STLN       Line might exist
<0080> 6408 64,12           BS   G6412
<0081> 640A BD,4A,14        DST  @CURLIN,@FAC      Ready for program search
<0082> 640D 0F,7E           XML  SPEED
<0083> 640F 03              BYTE SEETWO          * Search for existence of line
<0084> 6410 65,1D           BS   EDTZ05            COND set = line found
<0085> 6412 0F,83    G6412  XML  SCROLL            Scroll to the next line
<0086> 6414 BD,5E,14        DST  @CURLIN,@ARG2     New line #
<0087> 6417 06,6F,BA        CALL DISO              Display the line number
<0088> 641A 91,20           DINC @VARW             Following by a space
<0089> 641C 44,20           BR   G6420
<0090> 641E 0F,83    TOPL35 XML  SCROLL            Scroll the screen
<0091> 6420 BE,A2,E1 G6420  ST   >9E,V@NLNADD-1    Display the prompt character
       6423 9E
<0092> 6424 06,6A,76        CALL G6A76             Read in a line
<0093> 6427 06,D0,AF        CALL SAVLIN            Save input line for recall
<0094>               *    Crunch the input line
<0095> 642A 86,22           CLR  @ERRCOD           Assume no-error return
<0096> 642C BF,0A,08        DST  CRNBUF,@RAMPTR    Initialize crunch pointer
       642F 20
<0097> 6430 0F,7F           XML  CRUNCH            CRUNCH the input line
<0098> 6432 00              BYTE 0              *  Normal crunch mode
<0099> 6433 8A,23    TOPL42 CASE @ERRCOD+1
<0100> 6435 44,45           BR   TOPL45            No error detected
<0101> 6437 49,7C           BR   ERRSYN            *SYNTAX ERROR
<0102> 6439 49,90           BR   ERRBLN            *BAD LINE NUMBER
<0103> 643B 49,94           BR   ERRLTL            *LINE TOO LONG
<0104> 643D 49,86           BR   ERRNTL            *NAME TOO LONG
<0105> 643F 49,80           BR   ERRNQS            *UNMATCHED QUOTES
<0106> 6441 49,9A           BR   ERRCIP            *COMMAND ILLEGAL IN PROGRAM
<0107> 6443 49,A4           BR   ERRIVN            *UNRECOGNIZED CHARACTER
<0108> 6445 8F,4A    TOPL45 DCZ  @FAC              Line # present
<0109> 6447 64,62           BS   TOPL55
<0110> 6449 DA,45,01        CLOG >01,@FLAG         Not AUTONUM
<0111> 644C 44,5B           BR   G645B
<0112> 644E D6,75,0D        CEQ  >0D,@RKEY         Must be up or down
<0113> 6451 64,5B           BS   G645B

99/4 GPL-ASSEMBLER (Pass 3) correct                                   PAGE 0016 
EDIT-359
<0114> 6453 D6,42,01        CEQ  >01,@CHAT         Start EDIT mode
<0115> 6456 44,5B           BR   G645B
<0116> 6458 05,D0,00        B    EDTZZ0
<0117> 645B 06,66,CF G645B  CALL EDITLN            EDIT the line into the progra
<0118> 645E 63,E9           BS   TOPL25            If didn't change the line
<0119> 6460 43,DA           BR   TOPL10
<0120>               *    Jump always
<0121> 6462 D6,42,01 TOPL55 CEQ  >01,@CHAT         If blank line - ignore
<0122> 6465 63,E9           BS   TOPL25
<0123> 6467 D6,A8,20        CEQ  >EB,V@CRNBUF
       646A EB
<0124> 646B 65,C9           BS   SZSIZE
<0125> 646D C6,A8,20        CH   >08,V@CRNBUF      If imperative
       6470 08
<0126>               * GKXB Branch code for new commands DEL, COPY, and MOVE.
<0127> 6471 77,59           BS   NEWCMD            Go here to test for new
<0128>               *                              keywords
<0129> 6473 BF,2C,08        DST  CRNBUF+1,@PGMPTR  Anticipate usage of PGMCHR
       6476 21
<0130> 6477 0F,79           XML  PGMCHR            Prepare CHAT for OLD and SAVE
<0131> 6479 8A,A8,20        CASE V@CRNBUF          Select the keyword
<0132> 647C 43,A5           BR   SZNEW             NEW                 0
<0133> 647E 45,20           BR   SZCONT            CONTINUE            1
<0134> 6480 45,BE           BR   SZLIST            LIST                2
<0135> 6482 45,BA           BR   SZBYE             BYE                 3
<0136> 6484 45,60           BR   SZNUM             NUMBER              4
<0137> 6486 45,B7           BR   SZOLD             OLD                 5
<0138> 6488 46,25           BR   SZRES             RESEQUENCE          6
<0139> 648A 45,AF           BR   SZSAVE            SAVE                7
<0140> 648C 45,C6           BR   SZMERG            MERGE               8
<0141>               *    AUTO-BOOT - attempt a ---->   RUN "DSK1.LOAD"
<0142> 648E 31,00,0B AUTOLD MOVE 11,G@DSCLOD,V@CRNBUF
       6491 A8,20,63
       6494 51
<0143> 6495 BF,2C,08        DST  CRNBUF,@PGMPTR    DSK1.LOAD is in crunch buffer
       6498 20
<0144>               * RXB PATCH CODE *************
<0145>               *      BR   SZRUNL            Go to the RUN "NAME" CODE
<0146> 6499 5A,97           BR   MYRUN

Take out these and you have a plain out of the Box XB. Of course you lose the RXB Menu and that does not put the REDO back in.

 

I type in programs with a Text Editor in TI Writer (FW) or Classic99 then use my RXB CALL USER to make programs instead. (Faster and I can see the more of the code in 40/80 columns)

Link to comment
Share on other sites

Rich, could the solution be something as simple as adding an option to the TI start Menu?

 

1 TI BASIC

2 RXB With MENU

3 RXB Without MENU

 

Then everyone would be happy--and more people would play with the goodness that is RXB.

Sorry not enough room left in RXB for this even if I eliminate the Menu it does not give enough space left for both at same time.

I include the Source Code and all tools so anyone that wants to modify it for themselves is perfectly free to do so but do not distribute a broken version please.

Link to comment
Share on other sites

Same behaviour with this new one - indeed I didn't do anything with the original rpk I had, other than downloading it from whtech ;).

 

 

Here's a program:

crash0.png

 

 

Type SIZE:

crash1.png

 

 

Then type LIST:

crash2.png

Hey send me a private message with this code it may have something in it causing this. I will take a look to figure it out.

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...