Jump to content
IGNORED

TI 99 4/a 32k is max ram into Classic99


atari1byte

Recommended Posts

12 minutes ago, atari1byte said:

Hi guys!!!
My ignorance about ti 99 4/a is immense!!!
Can I assign more memory to the Classic99 that I can also use from XB?
Thank you all!

Yes in Classic99 you can use SAMS memory.

 A demo of this is RXB game "IN THE DARK" that uses up to 834K of SAMS memory pages for the game.

The standard version uses about 340K of SAMS memory.

I do think this is the largest amount of SAMS memory every used for anything in TI99/4A and will run from real hardware.

(Of course you need a SCSI Hard drive or something like a Hard drive like TIPI.)

Link to comment
Share on other sites

2 minutes ago, RXB said:

Sì, in Classic99 è possibile utilizzare la memoria SAMS.

Una demo di questo è il gioco RXB "IN THE DARK" che utilizza fino a 834K di pagine di memoria SAMS per il gioco.

La versione standard utilizza circa 340K di memoria SAMS.

Penso che questa sia la più grande quantità di memoria SAMS utilizzata per qualsiasi cosa in TI99 / 4A e funzionerà da hardware reale.

(Naturalmente hai bisogno di un disco rigido SCSI o qualcosa come un disco rigido come TIPI.)

Sorry, I didn't really understand...
Do i need the scsi disk even with classic99?
if yes, how can i manage a scsi HD?

 

Link to comment
Share on other sites

On the TI, you can only use expanded memory with software that recognizes the expanded memory. Classic99 implements the SAMS memory expansion card, with a theoretical enhancement that provides 32MB of RAM. However, as far as BASICs go, I believe only RXB can access the expanded memory - all others are limited to the 32k standard.

 

Classic99 implements a file system called "FIAD" (Files In A Directory) that allows you to use your PC hard drive as storage, and this is the default and recommended approach, so in Classic99 you don't need to deal with hard drive controllers or HDD images.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Tursi said:

On the TI, you can only use expanded memory with software that recognizes the expanded memory. Classic99 implements the SAMS memory expansion card, with a theoretical enhancement that provides 32MB of RAM. However, as far as BASICs go, I believe only RXB can access the expanded memory - all others are limited to the 32k standard.

Winkler's Extended BASIC 3 can also access SAMS memory to a limited extent, but it is really finicky about it.

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

Theoretically, you could manage the SAMS manually from normal extended basic, it would just be.. Annoying.

(Making sure that your segment is proper for your variable arrays, etc... so that they properly "move" on page, with manual paging by jiggling the CRU the hard way with CALLs)

 

Having the interpreter be aware of it makes things much easier. Admittedly though, having to do it the hard way WOULD get you very intimate with the workings of the SAMS card.

Edited by wierd_w
Link to comment
Share on other sites

7 hours ago, Ksarul said:

Winkler's Extended BASIC 3 può anche accedere alla memoria SAMS in misura limitata, ma è davvero schizzinoso al riguardo.

pdf links don't work..
Where can i find xb3?
I have searched but can't find anything....
 Uff... 

Thanks a lot!!!

Link to comment
Share on other sites

22 hours ago, atari1byte said:

Sorry, I didn't really understand...
Do i need the scsi disk even with classic99?
if yes, how can i manage a scsi HD?

 

Sorry no,  that is real hardware not a emulator like Classic99

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, atari1byte said:

pdf links don't work..
Where can i find xb3?
I have searched but can't find anything....
 Uff... 

Thanks a lot!!!

RXB has had SAMS support since year 2000 and latest version supports what page of SAMS and where it is loaded.

Also has a built in loader and saver routines along with a kind of memory mapper built into RXB.

All this is controlled by the user.

XB3 does not have any of this.

Link to comment
Share on other sites

2 minutes ago, RXB said:

RXB ha il supporto SAMS dall'anno 2000 e l'ultima versione supporta quale pagina di SAMS e dove viene caricata.

Ha anche un caricatore integrato e routine di risparmio insieme a una sorta di mappatore di memoria integrato in RXB.

Tutto questo è controllato dall'utente.

XB3 non ha nulla di tutto questo.

WOW!
I m an enthusiast and not an experienced programmer Basic TI 99 4/a.
but i started and i really like it.... 
My problem is simple!
i want to manage an array of 8000 numeric elements.
can i have an example of how i can do it?
i would also like to have complete rxb documentation.
Can you help me?
Thanks!

Link to comment
Share on other sites

3 minutes ago, atari1byte said:

WOW!
I m an enthusiast and not an experienced programmer Basic TI 99 4/a.
but i started and i really like it.... 
My problem is simple!
i want to manage an array of 8000 numeric elements.
can i have an example of how i can do it?
i would also like to have complete rxb documentation.
Can you help me?
Thanks!

RXB 2022D.zip

This is the RXB version you see in Classic99, it also works in the FINALGROM cartridge.

  • Like 2
Link to comment
Share on other sites

16 hours ago, TheBF said:

Hey Rich, does RXB let you use DIM for bigger arrays of number and strings in SAMS or does it use some other commands?

 

Sorry no, RXB is backwards compatible with XB 110 and TI Basic.

SAMS support was put into RXB as a request from Asgard back in 1999

But SAMS support has evolved over time, just like RXB has changed over the years.

One version had over 240 commands, but slowed down RXB due to so many commands.

 

  • Like 3
  • Thanks 2
Link to comment
Share on other sites

1 hour ago, RXB said:

Sorry no, RXB is backwards compatible with XB 110 and TI Basic.

SAMS support was put into RXB as a request from Asgard back in 1999

But SAMS support has evolved over time, just like RXB has changed over the years.

One version had over 240 commands, but slowed down RXB due to so many commands.

 

Thanks Rich.  It's one the things I am struggling how best to do on my system. I was hoping you had the "secret sauce".  :)

 

  • Like 2
Link to comment
Share on other sites

19 hours ago, TheBF said:

Hey Rich, does RXB let you use DIM for bigger arrays of number and strings in SAMS or does it use some other commands?

 

I today just thought of a new command that will make your task and some SAMS XB programs much more easy to use.

The biggest issue with SAMS is getting variables like numeric and strings into SAMS memory and indexing them.

Say you have 1 to 8001 in an array, of course this will never fit in Basic or XB as 3000 pushes the limit, let alone 8001

Now if you use a for next loop for DIM this will solve that issue then add in a memory address indexer:

FOR DIM=0 TO 8001 :: MEMADDS=MEMADDS+8 ! 8 as it takes 8 bytes per floating point number.

This would count your fake dimensions and MEMADDS is the address in SAMS.

 

Ok now all you need is the address of the variable in each DIM  to be moved to SAMS MEMADDS locations.

So now I have a new command in RXB names CALL ASSIGN(numeric-variable,address) and this tells you where in memory that variable is so you can move it from RXB to SAMS.

Example: CALL ASSIGN(X,HEREITIS) :: CALL MOVES("RR",8,HEREITIS,MEMADDS)

You can do this with ASSIGN fetches the X variable address and HEREITIS is that address, MOVES would move Ram to Ram 8 bytes from HEREITIS to MEMADDS in SAMS memory.

 

Bingo now you have a way to create 0 to 8001 diminsions in SAMS, of course still need to use CALL SAMS to switch 4K pages at a time too.

  • Like 3
Link to comment
Share on other sites

Ya that sounds like it will get it done. 

I don't have trouble indexing of course since Forth actually treats variables more like an Assembly label. They are just an address. (not very fancy)

 

I am interested in making arrays bigger than 64K bytes.

I have a function that does 64K chunks of SAMS but I want bigger indexes just to see what it will take. 

 

For what it's worth here is what I have now. Maybe it would be useful in RXB. (?)

 

I have a variable called SEG  that sets the 64K "segment" that is accessible. 

 

SEG=0  means SAMS pages 0 to 15 are accessible.

SEG=1 means SAMS page 16 to 31 are accessible and so on.

 

The word PAGED  takes an address from 0 to 65535 and does this:

  • Combine the given address into a big address by doing  BIGADDRESS=ADDRESS+(SEG*65536)
  • Modulo divide BIGADDRESS by 4096 to get a SAMS page number to use.
  • Pull in that SAMS page.
  • Divide (normal) BIGADDRESS by 4096 to get an offset.
  • Add this offset to the CPU RAM buffer where the SAMS page is pulled in.
  • Return this new number to the program.

 

So the programmer does something like. (don't beat me up for the syntax. I never use this) :)

CALL PAGED( 4, 34567, ADDR) REM   Where 4 is the SEG argument 
CALL LOAD(ADDR,99)

 

And ADDR in SAMS now contains 99.

 

No idea if this practical or not but there it is.

 

 

 

 

 

 

 

Edited by TheBF
math mistake
  • Like 4
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...