Jump to content
IGNORED

RXB - Rich Extended Basic


Bones-69

Recommended Posts

I don't quite understand how this works. Is there a command to load an E/A#5 file directly into SAMS, or do you load it normally first and then copy it to SAMS? Are you only saving and restoring the 32K or do you also save and restore the scratchpad?

Have you considered data compression? It could probably reduce the file size a lot.

First step you load the SAMS with 992K of programs example:

Load FW run it, and go back to XB command mode type: CALL SAMS("32K",2) and this loads second (2) 32K

Load DM2000 and run it, now go back to Title Screen press 2 for RXB and press SPACE BAR to bypass DSK1.LOAD and type: CALL SAMS("32K",3) and this loads third (3) 32K

Keep doing this till you get to CALL SAMS("32K',31) as this is the las bank of 32K available, or you can stop any time and save what you have.

At any time type: CALL SAMS("SAVE","DSK#.FILENAME",#) ! # is 1 to 32 banks to save.

No you only have to remember which bank has which program and what address runs that program.

For example FW would be CALL SAMS("32K",1,-7428) ! See if no address is seen after the 32K bank CALL SAMS("32K",bank,address) just assume you are not using an address yet,

thus just switched 32K banks, if it sees an address it executes that address in the 32K bank.

 

LOL how do you do data compressions on programs that are running in memory? As you can see you are not running FILES but PROGRAMS,

and a bonus is if you make changes to that program it remembers the changes as it save the memory and program in one file.

Link to comment
Share on other sites

 

Dunno, never tried it. TIPI uses FIAD, so if the program can handle the file, I don't suppose it would be an issue. Also there is no 127 file limit per folder either.

 

While the TIPI does use some overhead, a modern 64 Gigabyte SD card in a TIPI probably still gives you as much space, maybe even more, than many of those older SCSI drives.

I would also hazard to guess an RPI 3 and the P-Box TIPI will still cost less than an old used and rare SCSI card setup. Plus it gives you BBS/Internet access and mouse capability with TI-Artist too. Also, since it's actively supported and new, there is a reasonable expectation of added capabilities as well.

Well it is a single file taking up close to 10K sectors so number of files is not the issue, it may be a size issue of a single file.

 

Does TIPI give you ez access like SCSI for Volumes and SubVolumes and SubVolumes?

For example SCS.XB.XBTOOLS.XBASSM.DISKFIXER or SCSI.EA.GAMES.TIORIGINALS.Y1982.DIGDUG

 

Or do you have to switch disks much like a real TI and can not have same filenames or would cause a conflict?

 

Also how would you catalog them from XB or EA?

Link to comment
Share on other sites

Well it is a single file taking up close to 10K sectors so number of files is not the issue, it may be a size issue of a single file.

 

Does TIPI give you ez access like SCSI for Volumes and SubVolumes and SubVolumes?

For example SCS.XB.XBTOOLS.XBASSM.DISKFIXER or SCSI.EA.GAMES.TIORIGINALS.Y1982.DIGDUG

 

Or do you have to switch disks much like a real TI and can not have same filenames or would cause a conflict?

 

Also how would you catalog them from XB or EA?

 

Well, in 4A/DOS I use my TIPI just like a hard drive with sub-directories and all. Again, it depends on the program you are using.

 

You've peaked my interest for sure, so if you want, fire off the program and file (with instructions on how to use or load it) and after work tomorrow I'll toss it on the TIPI and give it a go so I can give you a definitive answer.

 

No, you don't have to switch virtual diskettes like the Nano-PEB. While I do have my TIPI setup to use DSK1,2,3 for some legacy programs, I'm NOT limited to using it as such. In fact if you use the full path IN 4A/DOS, for example: "LOAD TIPI.NET.TELNET" it'll load and run a program just fine.

 

I usually catalog my programs with 4A/DOS or DM2K and it works fine.

  • Like 1
Link to comment
Share on other sites

First step you load the SAMS with 992K of programs example:

Load FW run it, and go back to XB command mode type: CALL SAMS("32K",2) and this loads second (2) 32K

Load DM2000 and run it, now go back to Title Screen press 2 for RXB and press SPACE BAR to bypass DSK1.LOAD and type: CALL SAMS("32K",3) and this loads third (3) 32K

Keep doing this till you get to CALL SAMS("32K',31) as this is the las bank of 32K available, or you can stop any time and save what you have.

At any time type: CALL SAMS("SAVE","DSK#.FILENAME",#) ! # is 1 to 32 banks to save.

No you only have to remember which bank has which program and what address runs that program.

For example FW would be CALL SAMS("32K",1,-7428) ! See if no address is seen after the 32K bank CALL SAMS("32K",bank,address) just assume you are not using an address yet,

thus just switched 32K banks, if it sees an address it executes that address in the 32K bank.

 

LOL how do you do data compressions on programs that are running in memory? As you can see you are not running FILES but PROGRAMS,

and a bonus is if you make changes to that program it remembers the changes as it save the memory and program in one file.

 

I still don't understand how you would get back into a running program. Say I run DM2000 for a while and then quit, how would I return to it later?

 

It's the file you produce with CALL SAMS("SAVE","DSK#.FILENAME",32) that you could compress, not the running programs. You would need to decompress it again, of course, when you load it.

Link to comment
Share on other sites

 

Well, in 4A/DOS I use my TIPI just like a hard drive with sub-directories and all. Again, it depends on the program you are using.

 

You've peaked my interest for sure, so if you want, fire off the program and file (with instructions on how to use or load it) and after work tomorrow I'll toss it on the TIPI and give it a go so I can give you a definitive answer.

 

No, you don't have to switch virtual diskettes like the Nano-PEB. While I do have my TIPI setup to use DSK1,2,3 for some legacy programs, I'm NOT limited to using it as such. In fact if you use the full path IN 4A/DOS, for example: "LOAD TIPI.NET.TELNET" it'll load and run a program just fine.

 

I usually catalog my programs with 4A/DOS or DM2K and it works fine.

Try RXB 2015 catalog instead.

 

And RXB 2018 is still in BETA right now with release around end of year.

Link to comment
Share on other sites

 

I still don't understand how you would get back into a running program. Say I run DM2000 for a while and then quit, how would I return to it later?

 

It's the file you produce with CALL SAMS("SAVE","DSK#.FILENAME",32) that you could compress, not the running programs. You would need to decompress it again, of course, when you load it.

LOL you are making this way to complicated than it really is...

 

How do you exist DM1000 now?

Does DM1000 have a menu to return to XB?

Do you go back to Title Screen?

Or turn off the TI Console?

 

IF YOU DO ANY OF THE ABOVE YOU CAN FROM TITLE SCREEN RETURN RXB (XB)

(Just do not turn off the P-Box or you lose SAMS memory! And would have to reload.)

Just like you normally do after you exist ANY PROGRAM say to Title screen just press 2 for RXB and now you can change programs (SAMS 32K).

 

Look for example say DM1000 is in SAMS 32k BANK 7, so from Title Screen you type: CALL SAMS("32K",7,-7410)

 

(Note: -7410 is just a address I made up, you can find the first address using a sector editor of DM1000)

Also you can use LINK instead of ADDRESS so in DM1000 say you used a XB Load program to run DM1000, so type: CALL SAMS("32K",7,"DM1000") will work too!!!!

 

And how would you compress a file of what is memory? And WHY?

The entire point is to make a copy of what is in memory and be able to reload it, compression would just slow it to a crawl.

 

If you do not have enough storage space to save all 31 Banks then just use smaller size saves that you are limited by by your storage space limits.

I am not going to feel bad for your choices on using only 90K disks.

Edited by RXB
Link to comment
Share on other sites

Rich,

 

Doesn't ABOOT have a similar function for loading programs into SAMS at start already? You can enter those programs that you want to into the AEMSSYS (SAMS) script file and they will automatically load upon start. You can also load any individual files afterward with the "Load and Retain" option. The only limitation is that, since the RAM is volatile, they must be reloaded after the session is over. Is there a difference between that and what you are doing with RXB?

Link to comment
Share on other sites

Rich,

 

Doesn't ABOOT have a similar function for loading programs into SAMS at start already? You can enter those programs that you want to into the AEMSSYS (SAMS) script file and they will automatically load upon start. You can also load any individual files afterward with the "Load and Retain" option. The only limitation is that, since the RAM is volatile, they must be reloaded after the session is over. Is there a difference between that and what you are doing with RXB?

Yea ABOOT only loads a small number of memory and does not switch 32K at a time but instead just upper 24K >A000 to >FFFF ONLY, RXB switches entire 32K >2000 to >3FFF and >A000 to >FFFF so that is 8K more.

 

Also RXB will allow you to chain programs for 64K or 256K single programs, this is impossible with ABOOT as where in memory do you store and run ABOOT FROM????? What Address is safe?

 

See unlike ABOOT RXB resides in GPL GROM and VDP is only used for loading and saving. Where is ABOOT running from? Not Cart space as that is where XB resides.

Edited by RXB
Link to comment
Share on other sites

ABOOT runs from >2000 and starts at >2040.

EXACTLY!

1) This makes it impossible to not have CALL INIT already loaded or you can not install ABOOT

2) This makes it impossible for ABOOT to switch >2000 or >3000 pages of SAMS as you can not switch what controls the switch as you get a lock up.

 

RXB 2018

1) As GPL does not need any Assembly support to work (GPL OS is built into TI ROM/GROM) and RXB is also in GPL GROM so no CALL INIT needed ever.

2) As GPL does not care what RAM in SAMS is being changed it has no problem switching any SAMS pages ever, never a lock up as control program does not need RAM to run.

 

 

RXB unlike all other SAMS apps requres someplace in RAM to run and change pages, this is the reason you get so few programs using SAMS, you need someplace safe to run it.

Now originally SAMS was supposed to run from a SUPERCART (AMS CARD original design idea from Chris Bobbitt), but Chris gave me a 128K AMS CARD and asked I write RXB support for it.

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

Crap ran out of GPL SPACE in RXB again.

 

Elimination of Subprograms that have been in RXB 2001 on:

 

CALL CUTDIR ~ DELETES DIRECTORIES AND SUBDIRECTORIES BUT ONLY ON SCSI DRIVES

CALL FCOPY ~ COPIES FILES FROM ANY DRIVE TO ANY DRIVE

CALL MKDIR ~ RENAMES DISKS OR DIRECTORIES ON HARD DRIVES

CALL PROTECT ~ PROTECTS OR UNPROTECTS FILES ON DISKS OR HARD DRIVES

CALL RENAME ~ RENAMES FILES ON DISK OR HARD DRIVES, ALSO WORKED FOR DIRECTORES

CALL RMDIR ~ REMOVE A SINGLE DIRECTORY, BUT MUST BE NO SUBDIRECTORIES OR FILES ON THAT DIRECTORY

CALL SCSI ~ REPORTED STATUS OF ALL SCSI DRIVES AND SCSI CONTROLLER CARD

CALL SECTOR ~ SECTOR COPY/READ/WRITE FOR DISKS AND HARD DRIVES....SAD FACE THIS TOOK A LOT OF WORK TO MAKE.

 

The above removed from RXB 2018 will give more space for other SAMS and F18 subprograms.

Edited by RXB
Link to comment
Share on other sites

Yea with Emulators on the rise and other devices guess except for File Count I can just get rid of the Sector Count and size now.

 

Thanks for you input and will adjust RXB 2018 in response.

 

 

Also looking at creation of a new Save / Load routine for SAMS similar to RXB 2015 BSAVE / BLOAD in Program Image format.

 

12K Sector size of SAMS >2000 to >3FFF and >A000 to >AFFF for first file

12K Sector size of SAMS >B000 to >DFFF for second file

12K Sector size of SAMS >C000 to >FFFF for third file, may include ALL VDP from >0000 to >1000 which is screen and all graphics memory in VDP at SAVE point.

Link to comment
Share on other sites

It can also directory. DSK___ 1-3 if the folders are set in TIPICFG' which is necessary for some software to function.

If I dump the File Size and Free space line I can add another line to the Directory on screen for 20 lines of programs instead of current 19 now in 2015 EA.

Also if I do that to RXB CAT it would give one extra line for listing.

Link to comment
Share on other sites

Well update on CALL SAMS("SAVE","DSK#.FILENAME",number of 32K banks)

 

It is just to big for most disks and just takes to freaking long to save or load a DF255 file format.

 

So looking at making a 12K Program Image SAVER/LOADER instead that would break the 32K bank into 3 files of 48 Sectors.

 

Tests show it is much faster at loading and saving 32K banks, and 93 Files in total.

 

The name of the files indicate the bank they reside into, making it much more simple to keep track of where and what is loaded into SAMS RAM.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Ok so far tried DF 255, IF 255, 48 sector Program Image files saving two 12K segments then a 8K segment for 32K.

 

All of these create huge issues either with one size file being over 10K sectors DF255 or IF255, or 93 Program Image files of two different sizes again taking up over 10K of disk space.

 

So I guess I have to come up with a different format to combat this.

 

RXB since 2001 has had BSAVE and BLOAD to save and load lower 8K memory, this requires 8K of free VDP. (B is for Binary)

 

Example: CALL SAMS(lower-page-number,upper-page-number) :: CALL BSAVE("DSK2.FILENAME") ! This saves two 4K SAMS pages from lower 8K RAM to disk.

 

So RXB 2018 I guess going with CALL PSAVE and PLOAD to save and load 4K memory, this requires 4K of free VDP. (P is for page)

 

example: CALL PSAVE(page-number,memory,"DSK3.FILENAME") ! This saves any SAMS page number from memory (2,3,A,B,C,D,E,F) to disk.

 

Of course CALL BLOAD and CALL PLOAD does exactly the opposite and load instead of save.

 

Now for 24K using PSAVE you can still save whatever was in memory like FW or whatever and run them using CALL SAMS("24K',pageA,pageB,pageC,pageD,pageE,pageF)

 

Oh and CALL PLOAD will like PSAVE can load to any memory in the 32K.

 

Now this still does use a insane amount of DISK SPACE, but hoping new devices can handle this in the future like Classic99 or MESS or Win99 can presently.

 

May drop BSAVE and BLOAD in favor of CALL SAMS("8K",page2,page3) for lower 8K SAMS pages.

 

This would allow a line like CALL SAMS("8K",page2,page3,"24K",pageA,pageB,pageC,pageD,pageE,pageF) ! entire 32K changed in one line.

Edited by RXB
Link to comment
Share on other sites

RXB 2018 format for using SAMS cards:

*****************************************************
* CALL SAMS("PASS",...)                             *
* CALL SAMS("MAP",...)                              *
* CALL SAMS("OFF",...)                              *
* CALL SAMS("ON",...)                               *
* CALL SAMS(SAVE,page,"PATH.FILENAME",...)          *
* CALL SAMS(OLD,page,"PATH.FILENAME",...)           *
* CALL SAMS(RUN,ADDRESS)                            *
* CALL SAMS(RUN,LINKNAME)                           *  
* CALL SAMS(2,page,3,page,A,page,B,page,C,page,     * 
* D,page,E,page,F,page,...)                         * 
* Numbers 2 is >2000, 3 is >3000                    *
* Letters A is >A000, B is >B000, C is >C000        *
* Letter  D is >D000, E is >D000, F is >F000        *
* BLOAD and BSAVE are replaced with SAMS routines   *
*****************************************************

As the new format uses VDP 4K buffer instead of the old VDP 8K buffer loading can be slower with more files, but larger XB programs can be created and used.

Also multiple commands can be done in a single editor mode or program mode lines.

EXAMPLE:

CALL SAMS(OLD,page,"DSK3.FILENAME1",OLD,page,"DSK3.FILENAME2",RUN,address)

This would be the same as RXB 2015

CALL BLOAD("DSK3.FILENAME") :: CALL EXECUTE(address)

 

But the new RXB 2018 can now load Upper 24K or Lower 8K too.

 

Now switching RAM in upper 24K from program mode could crash especially if you change SAMS memory address >E000 or >F000 where a XB program is running from currently.

Thus if well thought out easy for a 8K XB program to have Lower 8K assembly along with 16K of assembly in Upper 24K.

 

This also makes RXB 2018 very backwards compatible with RXB 2001 to RXB 2015 with just a few modification to XB programs being updated by editing.

 

Almost anything you want to do now is much more easy to do with SAMS now in RXB 2018.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Gave up on a loader for 24K or 32K save/load RXB subroutine in RXB 2018

 

All of them way too complicated to use and the speed increase was so small as to not warrant all the effort.

 

Now just went with changing BLOAD and BSAVE into new routines called PLOAD and PSAVE, (P means page for 4K boundaries)

 

CALL BSAVE(2,"DSK4.P2",3,"DSK4.P3",A,"DSK4.PA",B,"DSK5.PB",C,"DSK4.PC",D,"DSK4.PD",E,"DSK4.PE",F,"DSK4.PF")

or

CALL BLOAD(2,"DSK4.P2",3,"DSK4.P3",A,"DSK4.PA",B,"DSK5.PB",C,"DSK4.PC",D,"DSK4.PD",E,"DSK4.PE",F,"DSK4.PF")

 

This allows you do SAVE or LOAD entire 32K in a single line of RXB XB code.

 

Now to switch entire 32K pages use SAMS use:

 

CALL SAMS(2,16,3,17,A,18,B,19,C,20,D,21,E,22,F,23)

 

This would swap out all 4K pages in current memory to pages 16 to 23 now of course you can not do this from a running XB program, but using RXB CALL USER you can this also works from EDIT mode.

 

See both EDIT MODE and CALL USER both run from VDP only so swapping out entire RAM has no effects on them.

 

Just to explain CALL USER("DSK2.BATCHFILE") runs from a DV80 file on disk and is like running everything in RXB from a batch file just like you typed in the commands.

Link to comment
Share on other sites

  • 4 weeks later...
  • 2 months later...

Been looking for Errors in XB source code by Texas Instruments or bad programming errors.

 

Was looking for a usable 2 byte address to put my new storage for a routine to change size of upper 24K memory.

 

Currently it is set to >A040 (If you are wondering why 64 bytes are not used from >A000 to >A03F it was for a TI Tester/Debugger REGISTERS)

 

Anyway the idea is a new routine CALL PMEMORY(ADDRESS) allows you to change XB memory size.

 

Say you want to load an Assembly program at >A000 to >BF00 and run it from XB...well use CALL PMEMORY(-16639) THAT IS >BF01 in decimal.

 

Thus the new RXB verision will have CALL VDPSTACK( address) and CALL PMEMORY(address) so you can modify any program and string space.

 

Also a new updated SIZE will report all types of memory and where address being used or free.

 

This should make for all kinds of cool things to be done in RXB.

 

Oh almost forgot found this bug in XB source:

MRGPAB >039E was only used for MERGE command so a waste of 2 bytes from a running program.

Thus folded MRGPAB into SIZXPT EQU >03B8 Save XPT in SIZE when "try again"

 

After all you can not MERGE a file from a Running program so the ACCEPT SIZE(value) AT: variable can only run from program mode now.

Edited by RXB
  • Like 1
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...