Jump to content
IGNORED

1 Meg Super AMS Discussion Thread


Omega-TI

Recommended Posts

Thank you so much for responding! Thanks for confirming the part number I'll get it ordered right away. I'll also make a note about the misnumbering (I've done this myself so I can so relate!) I've ready that these boards don't really work above 1MB can you confirm that is true? also thanks for the diagram I was digging around for something like this to help with understanding how everything is put together. Is there any other web repository of information related to it? Thanks for designing it by the way.

  • Like 2
Link to comment
Share on other sites

On operations above 1M--the control circuitry works perfectly in 4M mode. The problem comes with the memory chips it was designed to work with. The 2M Zeropower RAM (or NVRAM) chips are super finicky, especially as the majority of them available for sale are used. The used part isn't a major problem in and of itself, as the SAMS card doesn't care if the memory is backed up or not--so a dead battery isn't a problem as long as the RAM still works. Carefully cleaning the leads and soldering the memory chip to the board without a socket seems to be the best formula for getting the board to work in 4M mode--and assums you have two good chips. We have built several of them this way. Socketing the 2M chips results in just about every chip exhibiting some kind of problems (even the four new ones I bought as reference chips).

 

The real issue is cost though. The memory chips are generally unavailable for less than about $25 each, with no guarantee they still work (used). New chips are about $120 each, directly from the manufacturer (Maxim still makes them). When I can get a pair of 512K chips for about $8 each (worst case), that makes a serious difference in total board cost without a lot of gain at this point, as almost all existing SAMS software is designed for use in 1M or less. I may eventually do a redesign that expands to 4M or even 8M using 512K chips, as that would actually be a lot easier to build and support.

 

As to online information, pretty much everything on it can be found here on AtariAge (and I haven't really taken the time to put anything on the website I own yet).

 

The board is actually a further development of the original Asgard AEMS and Southwest 99er's SAMS cards, as desgined by Jim Krych. The newest boards maintain full backwards compatibility with them. Arcadeshopper also has a sidecar variant for use by folks without a PEB. There are now enough of all SAMS variants in the wild that it is becoming a base requirement for a lot of newly developed software.

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

1 hour ago, Ksarul said:

On operations above 1M--the control circuitry works perfectly in 4M mode. The problem comes with the memory chips it was designed to work with. The 2M Zeropower RAM (or NVRAM) chips are super finicky, especially as the majority of them available for sale are used. The used part isn't a major problem in and of itself, as the SAMS card doesn't care if the memory is backed up or not--so a dead battery isn't a problem as long as the RAM still works. Carefully cleaning the leads and soldering the memory chip to the board without a socket seems to be the best formula for getting the board to work in 4M mode--and assums you have two good chips. We have built several of them this way. Socketing the 2M chips results in just about every chip exhibiting some kind of problems (even the four new ones I bought as reference chips).

 

The real issue is cost though. The memory chips are generally unavailable for less than about $25 each, with no guarantee they still work (used). New chips are about $120 each, directly from the manufacturer (Maxim still makes them). When I can get a pair of 512K chips for about $8 each (worst case), that makes a serious difference in total board cost without a lot of gain at this point, as almost all existing SAMS software is designed for use in 1M or less. I may eventually do a redesign that expands to 4M or even 8M using 512K chips, as that would actually be a lot easier to build and support.

 

As to online information, pretty much everything on it can be found here on AtariAge (and I haven't really taken the time to put anything on the website I own yet).

 

The board is actually a further development of the original Asgard AEMS and Southwest 99er's SAMS cards, as desgined by Jim Krych. The newest boards maintain full backwards compatibility with them. Arcadeshopper also has a sidecar variant for use by folks without a PEB. There are now enough of all SAMS variants in the wild that it is becoming a base requirement for a lot of newly developed software.

Thank you for all the details. I'll keep digging through the Atari Age forums for information. I'm new to the Ti99 in general so I've got lots to learn.

Link to comment
Share on other sites

I'll note that until recently no software used even the whole 1mb of a 1mb sams card.

 

Force command and RXB I believe both now will let you use as big of a Sams as you have.. RXB allows you to store data in Sams banks. Force command will let you use Sams for command history and swapping force command binaries into. I also think that the Gemini browser that comes with it also will address as much Sams as you have..

 

 

 

Sent from my Pixel 6 Pro using Tapatalk

 

 

 

 

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

3 hours ago, arcadeshopper said:

I'll note that until recently no software used even the whole 1mb of a 1mb sams card.

 

Force command and RXB I believe both now will let you use as big of a Sams as you have.. RXB allows you to store data in Sams banks. Force command will let you use Sams for command history and swapping force command binaries into. I also think that the Gemini browser that comes with it also will address as much Sams as you have..

 

Stevie also uses 1MB sams, in fact it even requires it.

SAMS is used for storing all of the editor buffer, index and backups of up to 5 TI Basic sessions.

  • Like 4
Link to comment
Share on other sites

10 hours ago, arcadeshopper said:

I'll note that until recently no software used even the whole 1mb of a 1mb sams card.

 

fbForth 2.0 allows use of as much as 32 MiB SAMS memory and, though trivial, actually uses memory locations in the top half of that memory every time it boots up.

 

...lee

  • Like 4
Link to comment
Share on other sites

The Infocom interpreter I've been updating now utilizes SAMS to load the entire gamefile into memory at startup.  But that's only 128K worth of data, so I'm not really taxing the card's capacity.   Brad Snyder's XB Packer can load multiple XB programs into the SAMS, though I don't know if the program works with the 1MB  cards or just the smaller capacity earlier cards.

  • Like 3
Link to comment
Share on other sites

  • 2 weeks later...
On 1/24/2022 at 5:32 AM, Lee Stewart said:

 

fbForth 2.0 allows use of as much as 32 MiB SAMS memory and, though trivial, actually uses memory locations in the top half of that memory every time it boots up.

 

...lee

Lee, truly amazing!  Maybe I should consider dropping X4th99 development and just use fbForth, provided I can easily learn how to use your memory manager!

 

RetroBill (FDOS)

Edited by Bill R Sullivan
added one word for clairity
  • Thanks 1
Link to comment
Share on other sites

On 1/23/2022 at 6:03 PM, arcadeshopper said:

I'll note that until recently no software used even the whole 1mb of a 1mb sams card.

 

Force command and RXB I believe both now will let you use as big of a Sams as you have.. RXB allows you to store data in Sams banks. Force command will let you use Sams for command history and swapping force command binaries into. I also think that the Gemini browser that comes with it also will address as much Sams as you have..

 

 

 

Sent from my Pixel 6 Pro using Tapatalk

 

 

 

 

Greg

You can also save Lower 8K programs like STAR, WINDYXB or other programs that use CALL LINKS.

Now TML changes the VDP STACK and runs a interrupt so ISR hook must be turned off to do this.

ORIGINAL RXB AMS DEMO 1 - YouTube

 

ORIGINAL RXB AMS DEMO 2 - YouTube

 

The demo loads and uses 52K of SAMS Lower 8K assembly the original demo was in 2001

but this demo is a video made in 2014

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, Bill R Sullivan said:

Lee, truly amazing!  Maybe I should consider dropping X4th99 and just use fbForth, provided I can easily learn how to use your memory manager!

 

RetroBill (FDOS)

 

Should not be very difficult. There are only four SAMS words in fbForth 2.0:

S0&TIB!  ( adr1 -- adr2 )  \ moves stack base (S0) and Terminal Input Buffer (TIB)
SAMS!                      \ reinitializes SAMS to startup conditions
SAMS?    ( -- flag )       \ leaves highest addressable SAMS bank (0 if no SAMS)
>MAP     ( bank adr -- )   \ maps in SAMS 4 KiB bank (bank) at address (adr)

More detail is in the spoiler below. This information supersedes the manual:

Spoiler

;[*** S0&TIB! ***       ( addr1 --- addr2 )
*
* This word is primarily for use in a SAMS environment, where it is or may be
* necessary to move the stack base and TIB buffer, both of which start up at
* the same address, viz., >FFA0.  S0&TIB! forces addr1 to >AFA0, >BFA0, >CFA0,
* >DFA0, >EFA0 or >FFA0; copies it to the User Variables, S0 and TIB, in the
* table of default values so the settings will survive COLD; and leaves the
* new address on the stack as addr2.  The lower limit is forced above >A000,
* though it should probably be forced above HERE for dictionary integrity.


;[*** >MAP ***       ( bank addr --- )
* ...originally ported from TurboForth code courtesy of Mark Wills
* ...modified to handle 128 KiB -- 32 MiB
*
* Address, addr, should be a valid address on a 4K boundary (e.g., >2000,
* >3000, >A000, >B000, >C000, >D000, >E000 or >F000). Bank should be a number
* between 0 and >1FFF. >1FFF is the top page of 4096 possible with 32 MiB SAMS.
*
* Important Notes:
*
* When a SAMS memory expansion card is fitted, the 32K of CPU RAM is actually
* taken from the SAMS memory. At startup fbForth reserves the following banks
* of SAMS memory for "standard" 32K RAM, which are the default startup banks:
*
*        Bank   Description
*        -----  -----------
*        >0002  4K @ >2000
*        >0003  4K @ >3000
*        >000A  4K @ >A000
*        >000B  4K @ >B000
*        >000C  4K @ >C000
*        >000D  4K @ >D000
*        >000E  4K @ >E000
*        >000F  4K @ >F000
*
* fbForth reserves lower RAM (>2000..>3FFF) for 4 block buffers, low-level
* support, system variables and the return stack, therefore extreme care
* should be taken when paging banks >0002 and >0003 out of >2000 and >3000,
* respectively.  The same care should be taken with upper RAM when paging
* banks >000A and >000F out of >A000 (start of User Dictionary) and >F000
* (TIB and base of parameter stack).
*
* Because the RAM portion of the dictionary grows up from >A030 and the
* parameter stack grows down from >FFA0, extreme care must be taken mapping
* SAMS memory.  It is probably advisable to limit SAMS mapping to one or two
* 4KiBb window(s) at >E000 and/or >F000.  If >E000 is used, the stack is
* limited to 2000 cells, which is probably sufficient for most programming.
*
* S0&TIB! can be used to change S0 and TIB (same address) to just below the
* the lower SAMS paging area. This will also restore the TIB and copy S0 and
* TIB to the default values table so that the settings will survive a COLD
* start. If you were to decide to use >E000 and >F000 for 2 SAMS blocks, you
* would type
*             >D000 S0&TIB!
* to set S0 and TIB to >DFA0 and to copy the old TIB contents to the new.
*
* Previous builds of fbForth assumed a 1 MiB SAMS memory card, but since build
* 13, 128 KiB -- 32 MiB SAMS cards are allowed.
*
* If a SAMS card is present, >MAP maps memory bank "bank" to address "addr"

 

 

...lee

Edited by Lee Stewart
elaboration & correction
  • Like 2
Link to comment
Share on other sites

2 hours ago, Bill R Sullivan said:

Lee, truly amazing!  Maybe I should consider dropping X4th99 development and just use fbForth, provided I can easily learn how to use your memory manager!

 

RetroBill (FDOS)

 

I have some useful structures too Bill that could be bolted onto FbForth.

 

On is like BLOCK but it's SAMS blocks. 

SBLOCK ( n -- addr)  

Pick the SAMS page and it pulls it in and returns the address where it lives.

An SBLOCK is 4K.  There are 2 alternating buffers that live in a consecutive 8K space.

You can put them where you what in memory with one constant in the code. 

But with 2 buffers you can do SAMS to SAMS transfers easier.

This is in Forth assembler so it would need a few tweaks for FbForth.

But it could also be made with >MAP in Forth and it would still be way faster than BLOCK. 

 

And then there is PAGED ( virtual-addr -- real-addr) 

You set a 64K segment of SAMS memory with:  HEX 10 SEGMENT 

Now you have a 64k address by adding PAGED to your memory operations.

: @S    ( addr -- n )  PAGE @ ;
: !S    ( n addr -- )    PAGE ! ; 
etc...

 

PAGED would not be hard to port to FbForth I think. Lee and I just have not tried. :)

So lots of possibilities with the gang here. 

 

Spoiler

\ SAMS CARD support for CAMEL99 in Forth   May 2020  B Fox
\ 16 by 64K segmented memory model for DATA
\ You can access any ADDRESS from 1 to 65535 using PAGED
NEEDS SAMSINI  FROM DSK1.SAMSINI

HERE
VARIABLE SEG     \ holds current 64K segment
VARIABLE BANK#   \ current mapped bank
HEX
3000 CONSTANT DMEM    \ CPU RAM memory block location
\ Legal values: 2000,3000,A000,B000,C000,D000,E000,F000

\ compute SAMS register based on PMEM address
DMEM 0B RSHIFT 4000 + CONSTANT DREG

HEX
: PAGED  ( virtual-addr -- real-addr)
      SEG @ 1000 UM/MOD  ( -- offset bank#)
      DUP BANK# @ -     \ different page?
      IF
        DUP BANK# !
        SAMSCARD 0SBO   \ card on, enable registers
( bank#) >< DREG !      \ swap bytes & store in SAMS register
         0SBZ           \ card off
      ELSE DROP
      THEN DMEM +       \ then add offset to paged mem block
;
\ safely set the 64K segment that you want to use
: SEGMENT ( 1..F -- ) \ don't allow segment 0
      DUP 01 10 WITHIN 0= ABORT" SAMS segment err"
      SEG ! ;

CR HERE SWAP - DECIMAL . .( bytes)
SAMS-OFF SAMSINI SAMS-ON
1 SEGMENT
CR .( SAMS card activated)
CR .( Window = ) DMEM HEX U.
CR .( Segment = ) SEG @  DECIMAL U.
CR

 

 

  • Like 4
Link to comment
Share on other sites

This reply is mainly to Lee and "The BF", as their replies have made me realize just how much I would have to do to make all my established methods work in fbForth.  Plus the fact that I will also be using these methods for my SGCPU in my SNUG TI-99/4P system which has a 16 bit 1MB SAMS!  My 80 year old brain can't deal with this change no matter how much help you guys give me.  I even considered just retiring from my TI hobby, but then considering all the time I spend in my now tiny "Man Cave" due to COVID19 lock downs I would surely end up in the psycho ward for the duration of my life.  I can only apologize for taking up your time and diverting the mainline conversation for my sake.  I will just go to my corner and think only X4th99, as it is only intended to keep my mind functional during these hectic times of the Corona Virus and it's mutations!

 

Extremely crazy old guy,

RetroBill (FDOS)

  • Like 5
Link to comment
Share on other sites

1 hour ago, Bill R Sullivan said:

I can only apologize for taking up your time and diverting the mainline conversation for my sake

 

Not any kind of problem in the least! Your questions and suggestions over the years have certainly improved my understanding of and contributions to our TI versions of Forth. Keep ’em coming. Besides, I am only a couple of years behind you. :grin:

 

...lee

  • Like 4
Link to comment
Share on other sites

25 minutes ago, Lee Stewart said:

 

Not any kind of problem in the least! Your questions and suggestions over the years have certainly improved my understanding of and contributions to our TI versions of Forth. Keep ’em coming. Besides, I am only a couple of years behind you. :grin:

 

...lee

Thank you for your very kind words.  Over the years I've been in and out of my TI hobby including the late '80's and early '90's that I spent doing Forth+ for MDOS due to the two 9640 Geneves (GenMod, PFM 512K and 2 x 2MB Memex cards).  Sure glad that confusion factor is GONE now, but it did inspire me to do X4th99; mainly for my SNUG TI-99/4P, as after the move I've not found either of my two small 1MB SAMS cards, yet.  All my best two you and the others in your efforts to help GDmike!

 

RetroBill (FDOS)

 

  • Like 1
Link to comment
Share on other sites

3 hours ago, Bill R Sullivan said:

This reply is mainly to Lee and "The BF", as their replies have made me realize just how much I would have to do to make all my established methods work in fbForth.  Plus the fact that I will also be using these methods for my SGCPU in my SNUG TI-99/4P system which has a 16 bit 1MB SAMS!  My 80 year old brain can't deal with this change no matter how much help you guys give me.  I even considered just retiring from my TI hobby, but then considering all the time I spend in my now tiny "Man Cave" due to COVID19 lock downs I would surely end up in the psycho ward for the duration of my life.  I can only apologize for taking up your time and diverting the mainline conversation for my sake.  I will just go to my corner and think only X4th99, as it is only intended to keep my mind functional during these hectic times of the Corona Virus and it's mutations!

 

Extremely crazy old guy,

RetroBill (FDOS)

I sure get the challenge of fitting Forth code from one system into another. It ain't easy.

No need to apologize. We all are doing the same thing here. Just helping each other along.

But please carry on with your Forth and if there is anytime you say "I wonder if the other guys have an idea for this",  Lee and I enjoy that kind of discussion.

 

Keep the Forth :) 

Link to comment
Share on other sites

10 minutes ago, TheBF said:

I sure get the challenge of fitting Forth code from one system into another. It ain't easy.

No need to apologize. We all are doing the same thing here. Just helping each other along.

But please carry on with your Forth and if there is anytime you say "I wonder if the other guys have an idea for this",  Lee and I enjoy that kind of discussion.

 

Keep the Forth :) 

Thanks very much for your words of encouragement, and if I have such an encounter, I will take you two upon your offer to help me with X4th99.

 

RetroBill (FDOS)

  • Like 4
Link to comment
Share on other sites

  • 2 months later...

I purchased the 2017 version blank board from atari-age. After carefully installing sockets for all chips and installing all components on board I carefully checked all solder joints for bridges checked all chips for bent or missed inserted pins. I installed board in PEB with only controller card and disk controller. Powered it up with extended basic and typed in size, nothing except memory of basic computer. so I then replace the 74LS612 with a new one because I read there were some of these bad from the supplier. Tested again same thing. I checked with meter I have a good 5 volts and regulator gets warm. I measured 5 volt path no shorts and it appears on all the right pins of the chips. In all my testing I never see the LED light. Are there any trouble shooting guides or maybe even a place I can send it to get it repaired reasonably. I do have a good multi meter and a scope if I had a guide of what I was supposed to see when I took measurements or voltages of chips. Some way to trouble shoot it. I must say I would have saved time and money if I had purchased the assembled board but I do enjoy building projects. Thanks John

  • Like 1
Link to comment
Share on other sites

1 hour ago, johnph3 said:

I purchased the 2017 version blank board from atari-age. After carefully installing sockets for all chips and installing all components on board I carefully checked all solder joints for bridges checked all chips for bent or missed inserted pins. I installed board in PEB with only controller card and disk controller. Powered it up with extended basic and typed in size, nothing except memory of basic computer. so I then replace the 74LS612 with a new one because I read there were some of these bad from the supplier. Tested again same thing. I checked with meter I have a good 5 volts and regulator gets warm. I measured 5 volt path no shorts and it appears on all the right pins of the chips. In all my testing I never see the LED light. Are there any trouble shooting guides or maybe even a place I can send it to get it repaired reasonably. I do have a good multi meter and a scope if I had a guide of what I was supposed to see when I took measurements or voltages of chips. Some way to trouble shoot it. I must say I would have saved time and money if I had purchased the assembled board but I do enjoy building projects. Thanks John

Send me a PM and we'll work on this. Apparently, about half of the last lot of boards I received from the board house had plating issues. I'm doing some checks on another batch to verify that there aren't any issues with that group before I put them into peoples' hands.

 

On troubleshooting, the four most common issues I've encountered with builds chip-wise were the 612, the 688, the 245, and the 08. I've had rare issues with a 32 or one of the 244s. That's from about 120 cards that I've built. The schematic is in the schematics thread. You want the V5 version to match your board.

  • Like 2
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...