Jump to content
Omega-TI

1 Meg Super AMS Discussion Thread

Recommended Posts

Very nice.  I organized SAMS this way as well. I settled on putting the page at >3000 but it can be moved by changing one constant.

I have data working very well. The "speed" of the old 9900 starts to show when you start loading and erasing hundreds of Kbytes. :)

I am toying with the best way to compile Forth code into SAMS.

 

If you PLOAD programs in RXB2020 can you edit them just the same as normal?

 

  • Thanks 1

Share this post


Link to post
Share on other sites
7 hours ago, TheBF said:

Very nice.  I organized SAMS this way as well. I settled on putting the page at >3000 but it can be moved by changing one constant.

I have data working very well. The "speed" of the old 9900 starts to show when you start loading and erasing hundreds of Kbytes. :)

I am toying with the best way to compile Forth code into SAMS.

 

If you PLOAD programs in RXB2020 can you edit them just the same as normal?

 

Nice it gives you a easy access, that was the idea.

 

  • Like 1

Share this post


Link to post
Share on other sites

Hi everyone. I recently completed a text adventure (nothing to do with here), but I am mentioning it here as it has optional SAMS support. It probably uses the two most basic (simplist) techniques for utilizing SAMS. Hopefully it might inspire other efforts.         It requires RXB for SAMS use. Thanks.

 

Citadel of Pershu

  • Like 7

Share this post


Link to post
Share on other sites
10 hours ago, MikeV said:

Hi everyone. I recently completed a text adventure (nothing to do with here), but I am mentioning it here as it has optional SAMS support. It probably uses the two most basic (simplist) techniques for utilizing SAMS. Hopefully it might inspire other efforts.         It requires RXB for SAMS use. Thanks.

 

Citadel of Pershu

RXB 2020 will change the SAMS use and how it is used.

 

Before only Lower 8K of Assembly space was for SAMS, not all 32K pages at 4K boundaries can be saved or loaded.

 

Before only 4K pages both at Lower 8K Assembly space was used for SAMS, now all 32K of pages at 4K boundaries can be used.

 

Share this post


Link to post
Share on other sites
On 5/17/2020 at 3:12 AM, RXB said:

RXB 2020 will change the SAMS use and how it is used.

 

Before only Lower 8K of Assembly space was for SAMS, not all 32K pages at 4K boundaries can be saved or loaded.

 

Before only 4K pages both at Lower 8K Assembly space was used for SAMS, now all 32K of pages at 4K boundaries can be used.

 

Can't wait!

  • Thanks 1

Share this post


Link to post
Share on other sites

This packet contains the AEMS/ SAMS system documents in pdf format (my May 2020 project). R.A. Green, a virtuoso at composing elegant documentation for the TI99/4a system, wrote the majority of these documents and they merit preservation. As most of them require a version of the TIW Formatter and compatible printer for proper display - a conversion seemed desirable. An attempt was made to retain the original look, paging as indexed, etc. using an old printed copy from "BITD" as guide.

 

For some reason there is, what appears to be, a 5-page interpolation of material in the LINKER text as preserved on the WHT site. This in part repeats other pages from the LINKER, but as written for the older AEMS (not SAMS); hence mention of lower 8K mapping and support is wanting.

 

Coincidentally – or not so – my printed copy encountered difficulties at this precise point some 25 years ago. Sentences were truncated, random letters appeared, etc. (i.e. page 21 et seq., which resides in the current ALINKDOC3). I would like to think that the LINKER documentation is now ordered correctly. However, if anyone has a better copy, which differs from what is provided here please let us know. These interpolations are included, but were separated from the LINKER proper. I plan to post a second batch of documents for June. Thank you. MikeV.

SAMS Enabled Software.pdf AEMS Documentation.zip

  • Like 5
  • Thanks 1

Share this post


Link to post
Share on other sites

I'll compare these to what I have the next time I pull out a printed copy of them. Many thanks for the conversions!

Share this post


Link to post
Share on other sites
On 5/18/2020 at 8:10 PM, Ksarul said:

I'll compare these to what I have the next time I pull out a printed copy of them. Many thanks for the conversions!

I have not been able to locate an alternate and I am uncertain where my original diskettes currently reside. However, the paging agrees with the "Contents" table. (I also forgot to check the box at the top of this thread!)

Share this post


Link to post
Share on other sites

I know I have a copy of the SW99ers disks around here somewhere to make a comparison, but everything I've found so far was electronic copies downloaded from WHT--so they are all based on the same, potentially mixed up file you've been using. I will keep looking though.

Share this post


Link to post
Share on other sites

Here are some more AEMS/ AMS/ SAMS related docs. While the programs themselves are readily available, I would recommend logging on to the Hidden Reef BBS (718-448-9402) to easily locate them in one place (a nice surprise!)  In addition the sysop seems to have taken care to have the latest versions of the software available. A good example of this is TERM80, which had several corrections (versions). The latest - the one I used to use was v3.14, but there was considerable talk of an upcoming v4.0. Based on these listings v3.14 appears to have been the last. Lots of good terminal software is available as well.

 

There is also a very interesting paper by Bruce Harrison, AMS and You, which I had never seen. It is included with the Historical docs under Misc., but is courtesy of the Hidden Reef (Richard). One previous file - Macro Assembler Language Reference was re-edited as it was brought to my attention that it had a formatting glitch. If you find typos please let me know. It would be nice to see more SAMS software made available/ authored. Thanks.

 

 

Term80 v3_14.zip Harrison AMS.zip SAMS_MISC.zip Macro Assembler - Assembler Language Referrance.pdf

  • Like 6

Share this post


Link to post
Share on other sites

Here are some of the more interesting/ useful reviews of the AMS software collected from Micropendium. The ones by Bob Carmany & Bruce Harrison are of particular interest as they illustrate that the AEMS software was not quite as straight forward/ complete as it could have been. This was probably the result of Asgard abandoning the project in its infancy. If you are familiar - please ignore.

Micropendium 1994_7.pdf Micropendium 1995_7.pdf Micropendium 1995_9.pdf Micropendium 1996_9&10.pdf Micropendium 1998_9&10.pdf

  • Like 6

Share this post


Link to post
Share on other sites

A question on the AMS/SAMS card. I've read the reasons Chris Bobbitt did not go the DSR route with his AMS card, but do not have the background to know if this was the best choice. However, was it absolutely necessary to make it incompatible with existing Myarc, CorComp and Foundation cards by also incorporating the standard 32K? Back in the DOS days the EMS cards (similar to SAMS I think) were generally add-ons, but were compatible with existing on-board memory. Does this have something to do with data transfer rates between two cards vs one, etc.?

 

For example, if SAMS and Myarc were compatible, RXB might have evolved supporting both (more usable memory). In addition, ramdisks are always useful. Thanks.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

In the case of the SAMS card, it was always intended as a replacement for the 32K, as the card is swapping memory banks into and out of that 32K memory space. It NEEDS that space to work in a way that is useful to the programmer and the user, as only a 32K window of memory is visible at any one point in time. The TI just doesn't have a large enough memory map to do it any other way. It does not prevent the use of RAM Disks either, as it works fine with the Horizon RAM Disk (any flavor), the SNUG HRD 16, or the Australian Quest 200. The CorComp, Myarc, Atronic, and Foundation cards were other solutions intended to replace the 32K, but as the system can only have one 32K solution in it at a time, they aren't possible to use in combination with a SAMS card. One note, some later Horizon boards also have an option to fill the 32K space--and that option needs to be disabled with a SAMS board installed.

  • Like 4

Share this post


Link to post
Share on other sites
16 hours ago, Ksarul said:

In the case of the SAMS card, it was always intended as a replacement for the 32K, as the card is swapping memory banks into and out of that 32K memory space. It NEEDS that space to work in a way that is useful to the programmer and the user, as only a 32K window of memory is visible at any one point in time. The TI just doesn't have a large enough memory map to do it any other way. It does not prevent the use of RAM Disks either, as it works fine with the Horizon RAM Disk (any flavor), the SNUG HRD 16, or the Australian Quest 200. The CorComp, Myarc, Atronic, and Foundation cards were other solutions intended to replace the 32K, but as the system can only have one 32K solution in it at a time, they aren't possible to use in combination with a SAMS card. One note, some later Horizon boards also have an option to fill the 32K space--and that option needs to be disabled with a SAMS board installed.

You if anyone would know the answer to SAMS design/ configuration. So the memory map? I am still not totally clear on why, if its a direct swap or overlay in 4K chunks, this all needs to be performed in the same physical card vs one card to another. That must be where the DSR would come into play.

 

But then again, if what I just said were possible someone would have figured out how to do this with a ramdisk in the first place? Thanks Ksarul.

Share this post


Link to post
Share on other sites
3 hours ago, MikeV said:

You if anyone would know the answer to SAMS design/ configuration. So the memory map? I am still not totally clear on why, if its a direct swap or overlay in 4K chunks, this all needs to be performed in the same physical card vs one card to another. That must be where the DSR would come into play.

 

But then again, if what I just said were possible someone would have figured out how to do this with a ramdisk in the first place? Thanks Ksarul.

"I am still not totally clear on why, if its a direct swap or overlay in 4K chunks, this all needs to be performed in the same physical card vs one card to another. "

 

You are correct in that it COULD be done with a 32K card and another expanded memory card but... the 32K card would still need some circuitry to disable sections of itself.

That is much simpler to implement on one card and  anyway the normal 32K card does not have that circuitry.

 

If I read between the lines I think what you are struggling with how memory works behind the curtain.

 

Let's try this analogy:  (I had some fun with it)

 

1. Think of each storage location in memory as little houses on a very long street 

2. Each house has an address number assigned to it.

3. Now imagine that the city planner has been told by city hall that they can never use address numbers bigger than 32,767

 

That is the situation for addresses for memory with the 9900 CPU.  It only can count houses (memory locations) from 0 to 32,767. (HEX 7FFF)

Each location on the 9900 can hold one 16 bit integer. That's it. That's all there is. 

You could also think of this as double the number (65536) of bytes for our purposes here.

 

The TI-99 design also limits our "RAM" houses to the addresses from HEX 2000 to 3FFF  and HEX A000 to FFFF.  The other parts of the street are zoned "non-residential".  :) 

 

So the designers of the SAMS card use a method that was common in the early days of computing called page swapping.

The card allows the programmer to replace a 4K "block" of  houses (RAM) with different houses but all the addresses on that block must be the same as the "houses" it replaced because that's the law on our street. :) 

-----

 

"That must be where the DSR would come into play."

A DSR could have been created but it would have solidified the usage of the expanded memory to one way.

That would be short-sighted since nobody can imagine what another programmer might imagine.

 

Rich has made some good decisions on how to use SAMS memory with RXB.  That is probably the simplest way to to use it for BASIC programming.

In Assembler or Forth it is more free form and you design your application to use SAMS as needed.

I believe there is C support as well. (not sure)

 

I hear some frustration in your comments and it is fair.  All that potential but it is so hard to get at.

Paging has never been ideal which is why we moved to 32 bit computers that could count a much bigger number of addresses (~4B) but then that wasn't enough either so we went to 64 bits and now *we can put an address on a house on every star in our galaxy. (I think)

 

My apologies if you already knew this stuff.

 

*EDIT:  And these kids today will probably still figure out how to fill 2^64 memory locations. (old guy rant) :) 

 

  • Like 2

Share this post


Link to post
Share on other sites

RXB 2020 supports up to a 32Meg SAMS now. (Of course only Classic99 could supports this.)

Pages can range in decimal from 0 to 65535 so EXAMPLE: CALL SAMS(3,16383) would put 4K page 16383 into >3000 address.

Also loading a page from Disk or Hard Drive EXAMPLE: CALL PLOAD(3,"DSK2.16383PAGE") would put 4K page file 16383PAGE into >3000 address.

 

You can see with CALL SAMS and CALL PLOAD you can swap pages and load them.  Additionally you can use CALL PSAVE to save pages same way.

Edited by RXB
  • Like 2

Share this post


Link to post
Share on other sites
In the case of the SAMS card, it was always intended as a replacement for the 32K, as the card is swapping memory banks into and out of that 32K memory space. It NEEDS that space to work in a way that is useful to the programmer and the user, as only a 32K window of memory is visible at any one point in time. The TI just doesn't have a large enough memory map to do it any other way. It does not prevent the use of RAM Disks either, as it works fine with the Horizon RAM Disk (any flavor), the SNUG HRD 16, or the Australian Quest 200. The CorComp, Myarc, Atronic, and Foundation cards were other solutions intended to replace the 32K, but as the system can only have one 32K solution in it at a time, they aren't possible to use in combination with a SAMS card. One note, some later Horizon boards also have an option to fill the 32K space--and that option needs to be disabled with a SAMS board installed.
Note only the 32k Corcomp memory card replaces the ti 32k the other two Corcomp memory cards 256/512k and sidecars are proprietary ram disks only and can coexist with any other memory card because they don't do the 32k

Sent from my LM-V600 using Tapatalk

Share this post


Link to post
Share on other sites
10 hours ago, RXB said:

RXB 2020 supports up to a 32Meg SAMS now. (Of course only Classic99 could supports this.)

Though there are also a very small number of 4M SAMS test cards in circulation now. That number is not likely to climb all that much though, as the price for the memory chips it uses have doubled in the last year, making it uneconomical to purchase them at nearly $50 per chip--especially since one chip in three is defective on delivery. That alone would increase board costs by about $150, as a number of the chip sellers are carefully timing their shipments to arrive beyond the date where refunds are possible (and COVID delays aren't helping either). All future SAMS boards will be built to take advantage of them if present, but the user will have to find their own upgraded memory chips if they desire that change. I had enough chips to build my test boards (and the rest of the good chips I have will be installed on new boards to test full functionality of each board as I build it, before replacing them with a pair of standard 512K chips for delivery). I plan to have about a dozen of the upgrade-ready boards complete before Christmas. . .assuming life cooperates. I don't plan to take orders for them until the boards are ready though. . .more to follow when they are ready.

  • Like 4

Share this post


Link to post
Share on other sites
22 hours ago, TheBF said:

You are correct in that it COULD be done with a 32K card and another expanded memory card but... the 32K card would still need some circuitry to disable sections of itself. That is much simpler to implement on one card and  anyway the normal 32K card does not have that circuitry.

 

If I read between the lines I think what you are struggling with how memory works behind the curtain.

 

So the designers of the SAMS card use a method that was common in the early days of computing called page swapping.

The card allows the programmer to replace a 4K "block" of  houses (RAM) with different houses but all the addresses on that block must be the same as the "houses" it replaced because that's the law on our street. :) 

 

"That must be where the DSR would come into play."

A DSR could have been created but it would have solidified the usage of the expanded memory to one way.

That would be short-sighted since nobody can imagine what another programmer might imagine.

 

My apologies if you already knew this stuff.

 

*EDIT:  And these kids today will probably still figure out how to fill 2^64 memory locations. (old guy rant) :) 

 

Thank you for the explanation.  I certainly did not know that stuff at least in any usable, coherent fashion. How memory works, or is addressed on computers is a bit nebulous to me. However, the street address example was quite good, thanks for that. More memory is usually better.

 

Circuits are generally on or off. When SAMS memory is accessed, does the identical memory address (and its contents) in SAMS overwrite its counterpart in the 32K, or is the circuit (pathway) simply rerouted to its SAMS counterpart and the 32K address then ignored? What do the 'mappers' actually do?

 

ChrisB. said more or less the same thing about a DSR approach. However, over the last 30 years or so, ramdisks (which have DSRs) have been used many thousands of times in conjunction with TIs. SAMS - not so much. I am puzzled why this flexibility has not proven itself and become commonplace by now.

Share this post


Link to post
Share on other sites
21 hours ago, RXB said:

You can see with CALL SAMS and CALL PLOAD you can swap pages and load them.  Additionally you can use CALL PSAVE to save pages same way.

Once I finally figured out the BLOAD/ BSAVE command (a lot of experimentation) I really liked it. Not certain 'how' it worked, but it did (now replaced with PLOAD/ PSAVE). CALL SAMS seems to add  more flexibility, but will require some study. (Good examples always help!)

  • Thanks 1

Share this post


Link to post
Share on other sites
16 minutes ago, MikeV said:

Circuits are generally on or off. When SAMS memory is accessed, does the identical memory address (and its contents) in SAMS overwrite its counterpart in the 32K, or is the circuit (pathway) simply rerouted to its SAMS counterpart and the 32K address then ignored? What do the 'mappers' actually do?

Maybe this helps: The SAMS card doesn't have 32K in addition to 1M. The 32K you see with a SAMS card consists of some banks of the 1M mapped into the 32K memory space.

  • Like 1

Share this post


Link to post
Share on other sites
20 hours ago, arcadeshopper said:

Note only the 32k Corcomp memory card replaces the ti 32k the other two Corcomp memory cards 256/512k and sidecars are proprietary ram disks only and can coexist with any other memory card because they don't do the 32k
 

I had the CorComp 512K specifically in mind when I posted the initial question. It turns on/ off as a 32K, as necessary, without any to do. So I wondered why couldn't SAMS do this? It lives well with SAMS, can be used to load and run all the old TI Basic cassette programs, which are too long for a disk system. No CALL FILES required, etc.

Share this post


Link to post
Share on other sites
2 minutes ago, Asmusr said:

Maybe this helps: The SAMS card doesn't have 32K in addition to 1M. The 32K you see with a SAMS card consists of some banks of the 1M mapped into the 32K memory space.

It certainly does help. I was definitely looking at it as 32K + 1M (or 32K + 256K in my instance). Thank you!

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, MikeV said:

I had the CorComp 512K specifically in mind when I posted the initial question. It turns on/ off as a 32K, as necessary, without any to do. So I wondered why couldn't SAMS do this? It lives well with SAMS, can be used to load and run all the old TI Basic cassette programs, which are too long for a disk system. No CALL FILES required, etc.

Ahh I never had the pbox card version, the sidecar did not provide 32k..  based on the manual here: http://ftp.whtech.com/datasheets and manuals/Hardware/CorComp/corcomp 256-512k memory plus card manual.pdf   that TAKES AWAY the 32k from the memory card memory and dedicates it to 32k expansion. ALSO it does NOT increase program space beyond 32k.   It's only a RAM disk.. PERIOD   

 

1948828883_Screenshot2020-11-24084606.thumb.png.c8888d9c426cd01bb36adddd86431aa6.png

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
3 hours ago, MikeV said:

I had the CorComp 512K specifically in mind when I posted the initial question. It turns on/ off as a 32K, as necessary, without any to do. So I wondered why couldn't SAMS do this? It lives well with SAMS, can be used to load and run all the old TI Basic cassette programs, which are too long for a disk system. No CALL FILES required, etc.

CALL FILES is only needed to fit more program into a space taken up by files access buffers. 

Thus when you do a CALL FILES(1) you are deleting the two extra buffers not used by the current program you are loading.

See the normal default set up for XB or Basic is CALL FILES(3) so more memory is available using CALL FILES(1) 

RXB 2020 has a new feature of CALL FILES(0) that opens up even more memory, of course you can not use OPEN any more.

(Well you can but you will get some strange results as it messes up temporary variables sometimes.)

Share this post


Link to post
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.

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