Jump to content
IGNORED

32K expansion question


AtariNostalgia

Recommended Posts

48 minutes ago, AtariNostalgia said:

TI Extended BASIC is so underrated outside the TI community that it angers me. I think it's one of the best and most complete BASIC's out there.

I think maybe it was hampered by running back through GROM for interpretation and not being open sourced and upgradeable. Not sure.

Link to comment
Share on other sites

1 hour ago, HOME AUTOMATION said:

IIRC ...each array element's default length is 10 chars. 

 

Ah, an un-dimensioned array's default is a set of 10 elements.

 

An array of numbers takes 8 bytes for each element. Numbers in TI Basic and TI Extended Basic are radix-100 floating point numbers—even numbers you may think are integers.

 

...lee

  • Like 3
Link to comment
Share on other sites

That sounds about right, considering...

 

topmem.thumb.png.ca32404392456f9a422c6eee28167664.png

 

I only recall using one or two string arrays.


As I recall... Because each TI BASIC statement takes some time to execute. My touch tone dialer subprogram would have uneven delays between digits, while decoding a dialing string... as a different number of IF/THEN statements would execute for different numerals, as well as when establishing the tone pairs. So, I would store the frequency pairs in an array or two and than let CALL SOUND process the elements. This gave proper speed and even delays!

 

The square waves from the generator were yet another issue, as only the least tolerant decoders(local) could differentiate them properly.

  • Like 2
Link to comment
Share on other sites

16 hours ago, mizapf said:

It is in fact an issue with the console (video) RAM for the installed TI BASIC, as there is no command for checking the available RAM. Extended BASIC adds the SIZE command (which is not available in programs, only on the command line).

Hmmm RXB has COMMAND LINE in RXB you can do a line 190 CALL SIZE and it works the same as in Edit Mode.

 

RXB 2020 SIZE - YouTube

Link to comment
Share on other sites

10 hours ago, AtariNostalgia said:

I love my TIs, but this is convoluted. So If the first 16K is shared with the video ram, the longer the BASIC program it is, the less video RAM is available, which in theory, would make colors and sprites to start disappearing.

No, they would not disappear. The system reserves space in RAM for whatever it needs prior to allowing you to enter BASIC commands. Once you have filled up your part of video RAM, you get the MEMORY FULL error. TI BASIC and TI Extended BASIC uses video RAM differently, so your available memory will be of different size.

If you add a disk controller, it uses some of video RAM for buffers. It has to, since there isn't CPU RAM available for that if your machine doesn't have the expansion. Thus your BASIC program has less memory available.

 

TI Extended BASIC uses different memory areas for different purposes. The video RAM is used for strings and stacks. The 24 K RAM is used for code and numeric variables. The 8 K RAM is availalbe for assembly language support to TI Extended BASIC.

If you use TI BASIC, then you can use the entire 32 K memory expanison for assembly support, provided you have something to support loading the programs there. The first solutions were the Editor/Assembler and Mini Memory modules. The Mini Memory module added 4 K RAM inside itself, so you could get CPU RAM of any significant size in the bare console.

 

Other environments use memory differently. The P-code system uses the video RAM for video, primary code pool and disk controller buffers. 8 K RAM is used for the 80 column screen, interrupt service and various system functions that can't be on the p-code card, since the p-code card shares address space with all other peripheral cards. The 24 K RAM is used for the heap, stack and as a secondary code pool.

 

Regarding the advertisements for the TI 99/4A, and the amount of memory they claimed, that was the combined memory of the largest things they had all put into the machine at the same time.

They counted all RAM (video, expansion and Mini Memory). They also counted all ROM and GROM, in the console and in the modules. Max 8 GROM gave 48 K, bank switched ROM in modules 12 K, for a total of 60 K. If they then counted the separate 60 K on the p-code card too, then that's 120 K already. Not that you can run Extended BASIC and p-code at the same time, but the hardware can be in the machine at the same time.

 

They don't seem to get that far in the ad in this thread. Perhaps they didn't count the p-code and Extended BASIC at the same time, then.

 

Yes, the built-in BASIC and Extended BASIC only supports the SIZE command in immediate mode. With knowledge about where some memory pointers are located in memory, you can calculate something similar. Now you can use RXB, as pointed out above.

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

11 hours ago, AtariNostalgia said:

TI Extended BASIC is so underrated outside the TI community that it angers me. I think it's one of the best and most complete BASIC's out there.

My father bought our TI console in June 1982; then I went through the manuals, and three months later in September we already got the Extended Basic module. I did not spend too much time with the console BASIC.

  • Like 4
Link to comment
Share on other sites

Speed isn't the major benefit from TI Extended BASIC. But very rarely did you see anybody complaining about that other contemporary BASIC versions didn't have the named subprograms TI supported. Probably because most of the testers grew up with a massive amount of PEEK and POKE, so they didn't even know what a program should look like.

  • Like 2
Link to comment
Share on other sites

You're not wrong. I remain amazed that for all it's vaunted audiovisual capabilities, the C64 provides no way to USE them other than PEEK'n'POKE, and people to this day think there's nothing wrong with that

  • Like 3
Link to comment
Share on other sites

5 hours ago, JB said:

You're not wrong. I remain amazed that for all it's vaunted audiovisual capabilities, the C64 provides no way to USE them other than PEEK'n'POKE, and people to this day think there's nothing wrong with that

You might as well start using assembly at that point. PeeknPoke BASIC users who like it are in denial or just don't know better.

  • Like 1
Link to comment
Share on other sites

On 3/2/2021 at 5:32 PM, GDMike said:

I think maybe it was hampered by running back through GROM for interpretation and not being open sourced and upgradeable. Not sure.

Hmmm RXB has been upgradable and updated since 1997 so no that is incorrect!

Currently released is RXB 2020 so it has been sources and upgradable since 1997 you can find it on FTP and here on Atariage!

 

Also RXB can run TI BASIC but without EA support and runs most TI BASIC programs faster as a bonus.

Link to comment
Share on other sites

20 minutes ago, apersson850 said:

Sorry, I should have been more detailed. I meant in a real TI 99/4A. But then I know that a GRAM kracker is one way. Does it stay within TI Extended BASIC's limitation of 12 K ROM and 5*6 K GROM?

Also from UberGROM or FinalGROM99 carts.

Edited by Asmusr
  • Like 2
Link to comment
Share on other sites

Yea RXB has been made for TI99/4A by Western Horizon, Asgard, Competition Computers, C.A.D.D., and many others.

Both on disk for GRAM devices or actual hardware carts since RXB 2000 and I think the most made was RXB 2012 in all.

Link to comment
Share on other sites

On 3/3/2021 at 2:22 AM, apersson850 said:

 

TI Extended BASIC uses different memory areas for different purposes. The video RAM is used for strings and stacks. The 24 K RAM is used for code and numeric variables. The 8 K RAM is availalbe for assembly language support to TI Extended BASIC.

If you use TI BASIC, then you can use the entire 32 K memory expanison for assembly support, provided you have something to support loading the programs there. The first solutions were the Editor/Assembler and Mini Memory modules. The Mini Memory module added 4 K RAM inside itself, so you could get CPU RAM of any significant size in the bare console.

 

Yes, the built-in BASIC and Extended BASIC only supports the SIZE command in immediate mode. With knowledge about where some memory pointers are located in memory, you can calculate something similar. Now you can use RXB, as pointed out above.

RXB works with or without a memory expansion of 32K or SAMS any size.

RXB can run TI Basic programs slightly faster most of time then TI Basic does, and you can add sprites to programs as a bonus.

The RXB version of SIZE gives you overkill on a report of memory and used locations:

SIZE REPORT CHANGE
----------------------------------------------------------------
RXB has a major change to SIZE routine not just adding CALL SIZE
but the report itself is extensivily more useful.
>SIZE press enter
Screen advances and you see:
>SIZE
11840 Bytes of Stack Free
24488 Bytes of Program Free
8192 Bytes of Assembly Free
256 Pages 1024 K SAMS
2 Page = Address >2000
3 Page = Address >3000
10 Page = Address >A000
11 Page = Address >B000
12 Page = Address >C000
13 Page = Address >D000
14 Page = Address >E000
15 Page = Address >F000
>37D7 VDP Free Address
>0958 VDP STACK Address
>FFE7 Program Free Address
>A040 Program End Address
>2000 RAM Free Address
>4000 RAM End Address
>cursor flashing
As you can see much more information then you are used to
seeing about memory of XB and system. Note first off the
display of Assembly Free memory and if you have a SAMS.
If you have a SAMS you also see the pages used and at the
address in Hex where it resides. Next is address of first
free VDP Address and below that you VDP Stack location.
For XB itself you also see the XB program first free
address and the End Address for XB program space. Lastly
the first free RAM in Assembly lower 8k and last address
used by Assembly.

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