Jump to content
atrax27407

AMSTEST Source and Program versions

Recommended Posts

On 6/3/2020 at 5:04 PM, FALCOR4 said:

Thanks!  Pretty nifty program!  I used it on a 1M board but I'm still waiting on a few parts for the 4M board.  I will report back to you once I get a chance to use it on the 4M.

Its been a while but I'm happy to say that my SAMS 4M card is up and running (thank you Ksarul!).  I had a bad DALLAS SRAM that was giving me intermittent fits so I switched to ZEROPOWER SRAM and now I'm showing the entire 4M and, it seems to be stable so far.  I've paged and written to all 1024 pages several times successfully; I'll continue to work with it and use it as my main memory expansion card.

  • Like 5
  • Thanks 1

Share this post


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

Its been a while but I'm happy to say that my SAMS 4M card is up and running (thank you Ksarul!).  I had a bad DALLAS SRAM that was giving me intermittent fits so I switched to ZEROPOWER SRAM and now I'm showing the entire 4M and, it seems to be stable so far.  I've paged and written to all 1024 pages several times successfully; I'll continue to work with it and use it as my main memory expansion card.

Someone send me the code you are using to access and run the card please

I can include SAMS 4M support in RXB 2020 when released.

 

Currently dead in water as my PC CPU (AMD 3900X) is dead and in Florida under repair.

Share this post


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

Someone send me the code you are using to access and run the card please

I can include SAMS 4M support in RXB 2020 when released.

 

Currently dead in water as my PC CPU (AMD 3900X) is dead and in Florida under repair.

Rich, I'm using some hack code just to check the card's SRAM; fill each page with the page number and reading it all back through the MG Explorer. (avoiding the space where Explorer resides).  Super simple.  But, one way to page a 4M SAMS-->  Put the page number in a word, SWAP the bytes in the word, write the word out to the SAMS register for the 4k block of the 32K memory space you're interested in presenting the page.  So, to page in page 392 (>0188) into the >2000 memory space: enable the SAMS load register bit, load the page number into a word (>0188), swap it (>8801) and write it out to >4004.

  • Like 1

Share this post


Link to post
Share on other sites
48 minutes ago, FALCOR4 said:

Rich, I'm using some hack code just to check the card's SRAM; fill each page with the page number and reading it all back through the MG Explorer. (avoiding the space where Explorer resides).  Super simple.  But, one way to page a 4M SAMS-->  Put the page number in a word, SWAP the bytes in the word, write the word out to the SAMS register for the 4k block of the 32K memory space you're interested in presenting the page.  So, to page in page 392 (>0188) into the >2000 memory space: enable the SAMS load register bit, load the page number into a word (>0188), swap it (>8801) and write it out to >4004.

Little confused Hex only handles 256 values in a single byte and 392 it a word.

Currently I write a single byte to change a page >00 to >FF pages at say >4004 for memory area space >2000 

this only works for 1 Meg of memory.

Are you writing 2 bytes to >4004 for memory area space >2000 thus this second byte can be >00 to >03 for a 4 Meg SAMS?

 

So are you putting a word >8801 in >4004 thus this would be page 136 in Decimal or >88 in Hex and >01 in second byte that selects 1 meg pages (>00 to >03)?

Edited by RXB
  • Like 1

Share this post


Link to post
Share on other sites
6 minutes ago, RXB said:

Little confused Hex only handles 256 values in a single byte and 392 it a word.

Currently I write a single byte to change a page >00 to >FF pages at say >4004 for memory area space >2000 

this only works for 1 Meg of memory.

Are you writing 2 bytes to >4004 for memory area space >2000 thus this second byte can be >00 to >03 for a 4 Meg SAMS?

 

So are you putting a word >8801 in >4004 thus this would be page 136 in Decimal or >88 in Hex and >01 in second byte that selects 1 meg pages (>00 to >03)?

Exactly, you got it.  Just another way to slice the pie.  And, BTW, you can do the same for the 1M card; write a word instead of a byte.  That way the same code can be used for both versions of the SAMS.

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites
53 minutes ago, FALCOR4 said:

Exactly, you got it.  Just another way to slice the pie.  And, BTW, you can do the same for the 1M card; write a word instead of a byte.  That way the same code can be used for both versions of the SAMS.

I re-read your question so, to be clear, you can't write-a-byte then write-a-byte.  You have to write it as a single word; MOV not MOVB, MOVB.  I can go into more detail as to the "why" but I don't think most folks would be interested.  I'm getting off course for this thread, too.  I'd be happy to talk to you some more about it if its helpful, PM?

Share this post


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

I re-read your question so, to be clear, you can't write-a-byte then write-a-byte.  You have to write it as a single word; MOV not MOVB, MOVB.  I can go into more detail as to the "why" but I don't think most folks would be interested.  I'm getting off course for this thread, too.  I'd be happy to talk to you some more about it if its helpful, PM?

RXB 2001 to RXB 2015 was just writing a Byte with GPL it left the other byte free.

So not much of a problem to change it to a word instead of a byte.

 

Does make it more easy to number pages from 0 to 1024 Decimal or >00 to >0400 Hex

But you get the added feature in RXB 2020 to be able to change any 4K page in the 32K now.

 

 

Share this post


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

RXB 2001 to RXB 2015 was just writing a Byte with GPL it left the other byte free.

So not much of a problem to change it to a word instead of a byte.

 

Does make it more easy to number pages from 0 to 1024 Decimal or >00 to >0400 Hex

But you get the added feature in RXB 2020 to be able to change any 4K page in the 32K now.

 

On the numbering convention, I don't know; maybe leave that to the community that is writing software for SAMS (hey guys, pick one!)?  I know that sounds like a cop out.  Maybe it depends on which language you're using for the application you're writing?.  Also, slight edit if I may (don't hate me); 0 to 1023d and >0000 to >03FF.  To be technically correct. 

 

I like the added feature for the 4K pages in all the 32K space, that was a great change that offers more flexibility!  The card can do it, might as well be able to use it!

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites
6 hours ago, FALCOR4 said:

I like the added feature for the 4K pages in all the 32K space, that was a great change that offers more flexibility!  The card can do it, might as well be able to use it!

Can you elaborate on that? Does that mean the DSR space on the SAMS 4MB card can be accessed as well?

Share this post


Link to post
Share on other sites
On 8/17/2020 at 9:31 PM, retroclouds said:

Can you elaborate on that? Does that mean the DSR space on the SAMS 4MB card can be accessed as well?

The 4M SAMS has the same address space as the 1M SAMS; >2000->3FFF, >A000->FFFF.

Edited by FALCOR4
Clarification
  • Like 1

Share this post


Link to post
Share on other sites

Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it.

 

JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4.

 

I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs.

Share this post


Link to post
Share on other sites
10 minutes ago, atrax27407 said:

Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it.

 

JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4.

 

I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs.

Nobody willing has hardware or emulation support to fiddle with AMSTEST4.  

 

The reason my test program is painfully slow, is because AMSTEST4 was insufficient as a test. I have experience with it passing on bad hardware. It is not a proper test program in my opinion. It is only a quick inventory check.

 

If there is demand for a fast test... well I'm just going to say that is not really a test... if there is desire for a size detection mode just reset the 4A after my test tells you your memory card size... It will have read, written, and read to every page to determine the capacity.

 

The current interation (1.7) of my test should handle up to the full 16Meg, but I haven't received confirmation from @FALCOR4 who has the only SAMS above 1Meg, as far as I can tell. It is now using the same paging instructions as documented on Thiery's TI-Tech-Pages website, after a discussion with @FALCOR4 - I have not heard if he has tested this version. 

 

 

  • Like 1

Share this post


Link to post
Share on other sites
39 minutes ago, atrax27407 said:

Part of the reason that I initially posted the source code for AMSTEST4 was the hope that one of the talented A/L programmers on this forum would "take the ball and run with it". That is, extend the checking to 4 Megs (and beyond). We do currently have a 4 Meg SAMS card that works. The problem is that we don't have a proper test program for it.

 

JEDIMATT's program (which is excellent by the way) will not currently go beyond 2 Megs (I am reliably informed) and uses a different algorithm than AMSTEST4. Besides, in its current iteration, is painfully slow. It takes 29+ minutes to test a 1 Meg SAMS as opposed to 8 Minutes for AMSTEST4.

 

I hope someone will take up the challenge to extend AMSTEST4 to at least 4 Megs.

Well in 5 days I will get my (3900X) CPU back from AMD in Florida and I was one of the first ever to support the AMS and SAMS.

Share this post


Link to post
Share on other sites
8 minutes ago, jedimatt42 said:

Nobody willing has hardware or emulation support to fiddle with AMSTEST4.  

 

The reason my test program is painfully slow, is because AMSTEST4 was insufficient as a test. I have experience with it passing on bad hardware. It is not a proper test program in my opinion. It is only a quick inventory check.

 

If there is demand for a fast test... well I'm just going to say that is not really a test... if there is desire for a size detection mode just reset the 4A after my test tells you your memory card size... It will have read, written, and read to every page to determine the capacity.

 

The current interation (1.7) of my test should handle up to the full 16Meg, but I haven't received confirmation from @FALCOR4 who has the only SAMS above 1Meg, as far as I can tell. It is now using the same paging instructions as documented on Thiery's TI-Tech-Pages website, after a discussion with @FALCOR4 - I have not heard if he has tested this version. 

 

 

My 4M SAMS only has 2M installed right now because of a bad SRAM but, 1.7 found it, ID'd it as 2M and seems to have tested it successfully.  I've also done some hack code testing on my board and the 2M seems to be good.  I will tell you (and I mentioned it to you during one of our conversations, @Jetimatt42), there is a very nefarious possible error in the SRAMs that I don't believe every test program will find.  I speculate that it has something to do with the internal addressing architecture of the SRAM in the way it addresses rows and columns of bit cells.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Anyone besides me want Classic99 to support a SAMS up to 4Meg and possibly 16Meg?

I would be delighted to release RXB 2020 with support for that and of course would work with REAL IRON!

  • Like 2
  • Thanks 1

Share this post


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

and of course would work with REAL IRON!

A good thing! Because using a real 99/4A is assuredly more exiting than emulators.

Edited by fabrice montupet
  • Like 6
  • Thanks 1

Share this post


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

Anyone besides me want Classic99 to support a SAMS up to 4Meg and possibly 16Meg?

I would be delighted to release RXB 2020 with support for that and of course would work with REAL IRON!

It might already - My memory test detected 16Meg and so far well beyond 2Meg is passing.  I originally thought this was an error, because I was printing the 'K' overtop the last digit. IDK if Classic99 does more... my test only examines up to 4096 pages.

 

Screenshot_082220_040152_PM.thumb.jpg.7b7edba7f5938472b7972e647826cb76.jpg

 

I get some questions about how to read the output here.... My memory test examines 32K at a time. 

So for SAMS, I page in 8 4K pages, then test the entire 32K address range. 

For other memory cards, they page 32k at a time... 

 

The 'addresses' on the screen are within the 9900 64K address range. 

 

 

  • Like 3
  • Thanks 1

Share this post


Link to post
Share on other sites

I got up to 32MB(>1F), before the lower-byte caused a roll-over(>20=>00).

 

So, 8192 pages!:grin:

 

1679370474_32kmm1.thumb.JPG.dcc05a60c26c056e6de35e5fed06a4ab.JPG

952208976_32kmm2c.thumb.JPG.6208b4f12375971cb42ba07d870723aa.JPG

 

This wouldn't work on version QI372. Hmm.

Edited by HOME AUTOMATION
Trimmed second image, for better readability.
  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites

My compliments, Matt! Your "Quick Test" benchmark speed test scanned the full 1 Meg SAMS in just under 40 seconds!!

  • Like 5

Share this post


Link to post
Share on other sites

I can't match under 40 seconds but I have one that do it 58 seconds and let you set the fill pattern interactively.

This is using a little routine to convert a virtual-address to the real address in the paged buffer at >3000. (that stuff is all in DSK1.SAMS)

 

For anyone who wants to use this you have to transfer the DV80 FILE in the zip file to your local disk, start CAMEL99 and type

 

 INCLUDE DSK?.SAMSTEST

(? Is your disk) 

 

The program will auto start after it compiles. (~9 seconds)

 

 

It does not test the 1st 64K, the pass thru memory.

Spoiler
\ test sams card in 64K segments

MARKER /SAMSTEST   \ command to remove everything when you are done.

NEEDS COMPARE FROM DSK1.COMPARE
NEEDS ELAPSE FROM DSK1.ELAPSE
NEEDS PAGED  FROM DSK1.SAMS
NEEDS U.R    FROM DSK1.UDOTR

HEX
7FFF CONSTANT 32K
FFFF CONSTANT 64K
1000 CONSTANT 4K

CREATE PBUFFER   4K ALLOT  \ holds the pattern we are testing

\ : ERASE    0 FILL ;
\ : BLANKS  BL FILL ;

CODE MOVE16 ( addr1 addr2 len -- ) \ fast move 16bit cells
    C036 , C076 , C104 , 1306 , 0584 ,
    0244 , FFFE , CC31 , 0644 , 15FD ,
    C136 ,
NEXT,
ENDCODE

: BINARY   2 BASE ! ;

: SETPATTERN ( char -- )
             CR ." Bit Pattern = " BINARY DUP 8 .R
             PBUFFER 4K ROT FILL
             CR ;

\ move pattern-buffer into entire segment
: FILLSEG ( seg# -- )
           SEGMENT \ set the segment
           64K 0
           DO
             PBUFFER  I PAGED  4K MOVE16
           4K +LOOP ;

: TESTSEG ( seg# -- )
          CR ." Fill 64K seg# " DUP .  ." with" PBUFFER [email protected] HEX 4 .R
          FILLSEG
           64K 0
              DO
              CR ." Address" HEX I 5 U.R  ."  ... "
              PBUFFER 4K I PAGED 4K COMPARE
              IF   ." FAIL"
              ELSE ." PASS"
              THEN ?TERMINAL ABORT" *HALTED*"
           4K +LOOP ;
DECIMAL
: SAMSTEST
      PAGE
      CR ." SAMS Card memory test"
      CR ." ---------------------"
      16 1
      DO CR
         CR ." *SEGMENT*" DECIMAL I  3 .R
         CR I TESTSEG
      LOOP ;  ( 58 secs)

\ do the test now
HEX AA SETPATTERN
ELAPSE SAMSTEST

 

 

 

SAMSTEST.zip

Edited by TheBF
failed video upload
  • Like 1

Share this post


Link to post
Share on other sites

Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear.

 

Share this post


Link to post
Share on other sites

Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear.

 

  • Like 3

Share this post


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

Yes, Classic99 has a 32MB AMS that was added on request, but I still haven't got around to fixing the configuration so you can set it to anything else (AMSTEST bombs on out it as a result). It's encouraging to hear that code works with the test programs for the actual cards that starting to appear.

 

Cool as soon as I get my CPU back I can make a RXB 2020 test for up to 32 Meg or more.

  • Like 1

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