Jump to content

Photo

RXB - Rich Extended Basic


808 replies to this topic

#801 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,487 posts

Posted Wed Apr 11, 2018 8:03 PM

Rich, you could always try and recode the routines you're pulling out in Assembly and put them into additional banks of ROM. The UberGROM board would allow you to continue growth for quite some time using that particular expansion trick.



#802 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Thu Apr 12, 2018 3:53 AM

Rich, you could always try and recode the routines you're pulling out in Assembly and put them into additional banks of ROM. The UberGROM board would allow you to continue growth for quite some time using that particular expansion trick.

Thanks but who is using SCSI and Hard drives now? 

I use mostly Clasic99 and sometime PC99 and MESS.

 

As I am not a hardware guy upkeep of the TI99/4A equipment can be expensive and time consuming.

 

i only removed those commands no one is really using at all including me when using my hard-drive.

 

I DO PLAN ON ADDING A UBERGROM BOARD VERSION.

Honestly why call it UBERGROM when it is not GROM but ROM?

This is like calling VDP is RAM, clearly they are not the same thing.


Edited by RXB, Thu Apr 12, 2018 3:54 AM.


#803 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Thu Apr 12, 2018 4:22 AM

UPDATE on RXB new features:

 

SIZE in RXB is going to have a new feature:

 

Not only does it report SAMS size and number of pages, but Assembly space and VDP in RXB.

 

But a new feature is going to show ranges of memory used in report.

Example:

VDP RAM >0B00 = 2816 to >37D7 = 14295 

Assemby RAM >2000 = 8192 to >3FFF = 16383

RXB RAM >A000 = -24476 to >FFE7 = -25

 

This gives you a memory map of how much and where memory is being used.

 

I could also add a memory map of SAMS but a to determine if being used would have to look at all ZEROS (0)  to decide if empty or not and a 4 MEG version would take a few seconds.


Edited by RXB, Thu Apr 12, 2018 4:24 AM.


#804 Ksarul OFFLINE  

Ksarul

    River Patroller

  • 4,487 posts

Posted Thu Apr 12, 2018 5:15 AM

It is called the UberGROM because it has 120K of simulated GROM on an AVR (which can be divided into as many as 15 GROM bases, but with no more than 40K of GROM in any one GROM base). The board also happens to have 512K of bank-switched ROM. It is flexible, in that software needing GROM can be permanently loaded into the AVR--and the ROM only needs to be present if needed by the software. Using RXB as an example, it uses all five available GROM slots in a single GROM base along with two banks of ROM, but the cartridge still has 10 available GROM slots that could be assigned to additional GROM bases and 62 additional ROM banks.

 

As to no one using hard disks anymore, I don't agree--it is true that not everyone out there has a system with a SCSI hard disk, but there are a number of us who DO have them (and we use them too). One of the nice things about RXB is its built-in support for a number of third-party hardware expansions. That support is a very good thing in my eyes, as it makes that third-party hardware much more useful.

 

Maybe you could expand to use of multiple GROM bases and keep everything while still having room to expand? Just a thought on my part, as I like the added functionality of RXB and that would increase your available headroom.



#805 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Thu Apr 12, 2018 6:27 AM

That was the long term plan, I already released (before these new carts were created like UBERGROM)

a version of RXB that used a GPL command called SWAP GROM that switches banks of GROM 

so say >9806 is RXB and >980C is REA (Rich Editor Assembler).

 

The really cool thing about this was it could find the other GROM once booted, so say you go to REA

and press period key to switch to RXB it would page thru all 16 pages of GROM looking for RXB and 

opposite is if in RXB press the period key it would do the same looking for REA.

 

This would allow RXB to take up 80K in GROM thus really free up from the lack of memory.

 

The ROM approach would also be used later to expand like say put XB PLOT like SXB cart had in it.



#806 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Fri Apr 13, 2018 3:16 PM

Been side tracked with recent changes to RXB. 

 

I have moved all the slower commands and up to end of search list.

 

Example is CALL VERSION(numeric-variable) is now at end of list. 

 

Commands moved are:

CALL BYE

CALL INIT (reason is it is not called often enough to be at first of list)

CALL NEW

CALL BASIC

CALL XB

CALL FCOPY("path.filename","path.filename")

CALL FILES(numeric-variable) 

CALL MKDIR("path.","directory-name")

CALL QUITON

CALL QUITOFF

CALL RENAME("path.","old-filename","new-filename")

 

Also changing command list search in RXB to be different then normal XB.

Yea I know the difference in speed will not be much, but over all efficiency will be increased.

 

People are going to use CALL LOAD or CALL LINK much more often then CALL INIT or CALL VERSION.



#807 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Sat Apr 14, 2018 8:44 PM

OK DEMO OF JOYMOTION:

 

 

In the video I did not notice that PRINT X;Y,XX,YY

would drop down a line and I forgot I only had one Joystick plugged in.



#808 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Mon Apr 16, 2018 8:48 AM

Ok now working on

 
CALL JOYLOCATE(keyunit,X,Y,INDEX,#sprite,drow,dcol)   
or  
CALL JOYLOCATE(keyunit,X,Y,INDEX,#sprite,drow,dcol,KEY)  
 or
CALL JOYLOCATE(keyunit,X,Y,iNDEX,#sprite,drow,dcol,KEY)   GOTO line-number                                         *
 
But there is a difference in that as INDEX comes before LOCATE you can not use anything but
numeric variables as the values for Dot-Row and Dot-Column are updated and returned.
If you put numbers there instead of numeric variables it will crash.
In order to set up location you need to either use CALL SPRITE or CALL LOCATE to place
a Sprite at a location. 
This was the result of a simple fact that I would have to have fetched the values then backtracked
to update the values again, thus really slowing down the results or moving sprites with Joysticks.

Edited by RXB, Mon Apr 16, 2018 8:48 AM.


#809 RXB OFFLINE  

RXB

    River Patroller

  • 2,992 posts
  • Location:Vancouver, Washington, USA

Posted Tue Apr 17, 2018 5:41 AM

Hello again....

Had to modify and update JOYMOTION as was not always useful due to restriction of INDEX 

for both Row Velocity and Column Velocity duplicated by one value,

thus new version of JOYMOTION allows for either Row-index or Column-index to be a 0 (zero)

And this allows for scroll of sprite in only horizontal or vertical movements now.

 

 
CALL JOYMOTION(keyunit,X,Y,#sprite,Row-index,Column-index)
or
CALL JOYMOTION(keyunit,X,Y,#sprite,Row-index,Column-index,KEY)
or 
CALL JOYMOTION(keyunit,X,Y,#sprite,Row-index,Column-index,KEY) GOTO line-number  
 
This allows movement of Joystick Sprite Motion up and down or left and right only.
 
(Discovered this when testing games using JOYMOTION to replace JOYST & KEY)

Edited by RXB, Tue Apr 17, 2018 5:43 AM.





0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users