Jump to content

Photo

1 Meg Super AMS Discussion Thread

TI-99/4A 1MEG SAMS AMS

296 replies to this topic

#251 arcadeshopper ONLINE  

arcadeshopper

    River Patroller

  • 4,405 posts
  • Location:Portland, Oregon USA

Posted Sat Jun 2, 2018 9:41 PM

what's the total assembled so far?  


  • RXB likes this

#252 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Sun Jun 3, 2018 10:44 AM

So far, I've put 75 SAMS boards into circulation. I've personally built 51 boards from the 2016 Edition of which 46 are in the hands of other users (I have two of the 51 in my systems and three more on hand and available for sale), the others were sold through your storefront as bare boards or sent to individuals that wanted a bare board from me. Note that Mike Dudeck put another dozen or so from the last group buy into circulation within the last year as well. There are also about 200-250 boards out there from the SW99ers, Asgard, and the 2004 group buy. Lastly, there are eight that Dan Eicher and I made as test boards before the group buy. I have another 40 or so bare boards on hand, and will continue making more of them for as long as I remain with the hobby. The choice between a SAMS card and the regular 32K card is no contest--the price is about the same (when considering PEB boards), but the increased capability can't be beat.



#253 RickyDean OFFLINE  

RickyDean

    Stargunner

  • 1,141 posts

Posted Thu Aug 2, 2018 6:04 AM

Well guys, I believe I finally solved it. The board I built last year, has not been working. I have picked it up and tried going over the solder points time and again, reheating, wondering what could have gone wrong. I bought another unit to test the 612 chip and perform other tests, to determine if I had defective parts.

I finally downloaded the schematics, the other day and started doing point to point continuity tests, to see if I I had cold solder joints, starting at the led side of the board and working over. I determined last night that the signal was not making it to the ram chips at the pin 20, on the ram chips.

There was continuity between the chips, but not to pin 17 on the 74LS245, but the circuit from pin 17 to the 612 chip was good. This was about 11:15 PM last night, at 11:30 PM, after throwing on a hasty set of wires, I had the SAMS testing good on my TI. There apparently is a bad trace or via, probably during the production process, between the hole going from the negative side of the capacitor setting between the 612 and upper ram socket, to the hole, just below pins 12 and 13 on the ram chip, that service the pin 20's on both rams.

Attached Files


Edited by RickyDean, Thu Aug 2, 2018 6:12 AM.


#254 RickyDean OFFLINE  

RickyDean

    Stargunner

  • 1,141 posts

Posted Tue Aug 7, 2018 6:32 AM

       Well, last night due to being rained in, I watched BladeRunner and sat there cleaning up one of the scanned images of the Geneve layers that Paul Charlton did back in the day. I was doing this so that I could have a clearer view of the holes and traces to repair the Geneve, I recently got from the Insane one.

       While I was there I was using my high magnification specs, and found the issue with the  trace on the Sams board, shown on the prior posting. Apparently when I had added the the 32 pin Ram socket at the top, I went ahead and trimmed down a machined socket to add the additional pins for the possibility of upgrading to the full capacity of the board in the future, making 36 pins. In that trim down process I had set the 4 pin socket extension down and trimmed off some excess plastic, on the board. In that process I seem to have went down on the board and sliced the trace.

      I will post a picture tomorrow, had it on my phone, but forgot it when I came to work this morning. I had blamed the manufacturer of the board in my post above, so wanted to set the record straight. Should be repairable at the slice point, but it is so small, you can barely make it out, at least with my old eyes.



#255 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Tue Aug 7, 2018 4:57 PM

Finding a minor cut trace can be a real pain, especially when the board has been worked on several times. Ask @arcadeshopper about the weird traces I found on a disk controller board last year. There were a group of cut and shorted traces under the EPROM sockets. . .I cleaned them up and the board worked perfectly.



#256 RickyDean OFFLINE  

RickyDean

    Stargunner

  • 1,141 posts

Posted Wed Aug 8, 2018 5:57 AM

Well, I got the traces cleaned back, about an 1/8th of an inch on both sides and then soldered the trace. She's testing well, no more wires. The pic here is what I said that I was going to show yesterday... The circled area is where the trace was knicked.

Attached Files


Edited by RickyDean, Wed Aug 8, 2018 6:00 AM.


#257 --- Ω --- OFFLINE  

--- Ω ---

    Hexacorerunner

  • Topic Starter
  • 14,016 posts
  • Location:82.102.25.76

Posted Wed Aug 8, 2018 7:55 AM

I'm envious of those with younger eyes,  I simply would never have found the problem.  It's actually irritating not being able to tackle projects once taken for granted.



#258 RickyDean OFFLINE  

RickyDean

    Stargunner

  • 1,141 posts

Posted Wed Aug 8, 2018 8:39 AM

I'm envious of those with younger eyes,  I simply would never have found the problem.  It's actually irritating not being able to tackle projects once taken for granted.

I'm probably older than you, born 1959.  :-D



#259 --- Ω --- OFFLINE  

--- Ω ---

    Hexacorerunner

  • Topic Starter
  • 14,016 posts
  • Location:82.102.25.76

Posted Wed Aug 8, 2018 8:58 AM

I'm probably older than you, born 1959.  :-D

 

Yeah, you got me beat, but not by much. 



#260 chue OFFLINE  

chue

    Moonsweeper

  • 373 posts

Posted Wed Aug 8, 2018 9:17 AM

I'm envious of those with younger eyes,  I simply would never have found the problem.  It's actually irritating not being able to tackle projects once taken for granted.

 

I use a couple of tools to help me work on boards.

 

One is a USB microscope ($30), which I use for soldering.  The only trick is that it doesn't give me 3D vision so it's hard to tell where my soldering iron is sometimes. 

 

The other tool I use is a proper digital camera.  I take photos of boards and then view (inspect) the results on my large monitor.

 

The attached photo is a shot from my microscope.  Just to give you a sense of scale, the grey squares on the left are 5 x 5 millimeters each.

Attached Files


Edited by chue, Wed Aug 8, 2018 9:55 AM.


#261 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Wed Aug 8, 2018 6:30 PM

That's really nice for fine-pitch soldering. As to the age thing, I have Ricky Dean beaten, but also not by much. What's a year between friends?  LOLOL



#262 atrax27407 OFFLINE  

atrax27407

    Stargunner

  • 1,272 posts

Posted Wed Aug 8, 2018 6:42 PM

Young "whipper-snappers"!



#263 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Mon Feb 18, 2019 7:30 PM

Tonight I finished testing a batch of ten 1MB SAMS boards. Four of them are already spoken for, so I have six left for anyone else interested in getting one. Current price is $85 shipped to a US address--and for non-US orders, the additional postage necessary to ship to your country.



#264 --- Ω --- OFFLINE  

--- Ω ---

    Hexacorerunner

  • Topic Starter
  • 14,016 posts
  • Location:82.102.25.76

Posted Mon Feb 18, 2019 8:16 PM

Is there a list of programs that use this?  I'm only aware of two, "In The Dark" by RXB and "TI-Monopoly".



#265 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Mon Feb 18, 2019 8:27 PM

Most of the programs that use SAMS are utilities. Harrison's MIDI Master, RAG MacroAssembler, Clint Pulley's Small c compiler, RXB, Turbo Forth, FB Forth, and several games in various stages of development. I've definitely missed a few more, I just don't recall them at the moment.



#266 Opry99er OFFLINE  

Opry99er

    Quadrunner

  • 10,744 posts
  • Location:Hustisford, WI

Posted Mon Feb 18, 2019 8:29 PM

Dungeons of Asgard is well on its way.

#267 Iwantgames:) ONLINE  

Iwantgames:)

    River Patroller

  • 2,490 posts

Posted Mon Feb 18, 2019 9:30 PM

Is there a list of programs that use this?  I'm only aware of two, "In The Dark" by RXB and "TI-Monopoly".


Is In The Dark playable on a real machine? I only ever got it to run on emulator

Edited by Iwantgames:), Mon Feb 18, 2019 9:31 PM.

  • RXB likes this

#268 RXB OFFLINE  

RXB

    River Patroller

  • 3,602 posts
  • Location:Vancouver, Washington, USA

Posted Mon Feb 18, 2019 11:26 PM

Is In The Dark playable on a real machine? I only ever got it to run on emulator

Yes tested it on my TI with SAMS 1 meg card.



#269 Iwantgames:) ONLINE  

Iwantgames:)

    River Patroller

  • 2,490 posts

Posted Mon Feb 18, 2019 11:29 PM

Yes tested it on my TI with SAMS 1 meg card.


Cool, i really like it but never play much as i prefer to play on the real thing vs emulators. Looks like ill be trying to figure out getting it setup to play this weekend :)
  • RXB likes this

#270 adamantyr OFFLINE  

adamantyr

    Stargunner

  • 1,529 posts

Posted Tue Feb 19, 2019 12:45 AM

You'll need one of these to play my CRPG on iron! There are currently 187 monsters so far... ;)

#271 retroclouds OFFLINE  

retroclouds

    Stargunner

  • 1,705 posts
  • Location:Germany

Posted Tue Feb 19, 2019 7:18 AM

My - currently in development- programmers editor TiVi is designed for using SAMS. See the programming subsection for details.

#272 TheBF OFFLINE  

TheBF

    Stargunner

  • 1,046 posts
  • Location:The Great White North

Posted Tue Feb 19, 2019 7:43 AM

I just found this thread.  I bought a SAMS 1M card (thanks Arcadeshopper) and I love it.

 

I took the approach of creating a single paged block at >3000. 

I use the card as selectable 64K "segments" kind of like the old 8086 segmented model.

It's not idea but it means I don't need 32 bit pointers to access the data.

 

Then I wrote just 4 routines:

  1. write integer to SAMS segment
  2. read integer from SAMS segment
  3. write byte to SAMS segment
  4. read byte from SAMS segment

 

This is all written in Forth Assembler, but it's not hard to translate it to TI ASM.

 

I will post it here when I get some time.

 

Its already on GITHUB:  https://github.com/b...IB.ITC/SAMS.FTH

 

The machine code is used so I don't need to load the assembler to run this code, but the ALC is in the comments.

If it all seems too Forthy, just ask and I can explain.


Edited by TheBF, Tue Feb 19, 2019 7:46 AM.


#273 Ksarul OFFLINE  

Ksarul

    Quadrunner

  • 5,319 posts

Posted Tue Feb 19, 2019 6:21 PM

That makes three Forth flavors with SAMS support!  :) Lots of nice software bubbling through the development phases too. I think this piece of hardware is finally getting the community awareness it should have had more than 20 years ago.  :) 



#274 TheBF OFFLINE  

TheBF

    Stargunner

  • 1,046 posts
  • Location:The Great White North

Posted Wed Feb 20, 2019 6:29 PM

 

 

Well what do you know?

I created my SAMS segment control by making 2 Forth assembler words and then I let Forth sequence them together. like this:

CODE >BANK  ( addr -- offset bank# )
       0200 , 4K ,    \ R0  4K LI,      \ 4K divisor ->R0
       C144 ,         \ TOS R5 MOV,     \ address to r5
       C120 , SEG ,   \ SEG @@ TOS MOV, \ segment to TOS
       3D00 ,         \ R0 TOS DIV,     \ unsigned division
       0646 , C585 ,  \ R5 PUSH,
       NEXT,          \ 16 bytes, 204 cycles
       ENDCODE

CODE ?MAP ( offset bank# -- )
       8804 , CD90 ,  \ TOS BANK# @@ CMP,
       1602 ,         \ EQ IF,
       C136 ,         \     TOS POP,
       100A ,         \ ELSE, ( *THE MAPPER* )
       C804 , CD90 ,  \    TOS BANK# @@ MOV,
       06C4 ,         \    TOS SWPB,
       020C , 1E00 ,  \    R12 1E00 LI,
       1D00 ,         \    0 SBO,
       C804 , 4006 ,  \    TOS 4006 @@ MOV,
       1E00 ,         \    0 SBZ,
       C136 ,         \    TOS POP,
                      \ ENDIF,
       0224 , PMEM ,  \ TOS PMEM AI,
       NEXT,
       ENDCODE

: PAGED  ( addr -- addr') >BANK ?MAP ;

I thought the speed to call one forth word and then another would be insignificant (56 cycles) and it is if you  swap in a 4K page and do a big block fill or something like that.

BUT!  That extra call between >BANK and ?MAP multiplied 64,000 times or so makes a real difference!

 

Here is the test I used.

FFFF CONSTANT 64K
1000 CONSTANT 4K
 
\ 64k single byte writes to paged memory      \ OLD       NEW
: 64KBYTES    64K 0 DO  I     I C!P    LOOP ; \ 47 secs  30.5

By simply gluing the two pieces of code together as the new PAGED routine it's almost 2X faster.  Gotta love that.

 

But it still takes 20.7 seconds to erase 960K bytes on the SAMS card.  :-D

CODE PAGED  ( addr -- offset bank# )
       0200 , 4K ,    \ R0  4K LI,      \ 4K divisor ->R0
       C144 ,         \ TOS R5 MOV,     \ address to R5
       C120 , SEG ,   \ SEG @@ TOS MOV, \ segment to TOS
       3D00 ,         \ R0 TOS DIV,     \ unsigned division
       0646 , C585 ,  \ R5 PUSH,
       8804 , CD90 ,  \ TOS BANK# @@ CMP,
       1602 ,         \ EQ IF,
       C136 ,         \     TOS POP,
       100A ,         \ ELSE, ( *THE MAPPER* )
       C804 , CD90 ,  \    TOS BANK# @@ MOV,
       06C4 ,         \    TOS SWPB,
       020C , 1E00 ,  \    R12 1E00 LI,
       1D00 ,         \    0 SBO,
       C804 , 4006 ,  \    TOS 4006 @@ MOV,
       1E00 ,         \    0 SBZ,
       C136 ,         \    TOS POP,
                      \ ENDIF,
       0224 , PMEM ,  \ TOS PMEM AI,
       NEXT,
       ENDCODE

Edited by TheBF, Wed Feb 20, 2019 6:31 PM.


#275 TheBF OFFLINE  

TheBF

    Stargunner

  • 1,046 posts
  • Location:The Great White North

Posted Thu Feb 21, 2019 3:15 PM

Comment correction:

 

PAGED takes a 16 bit address in R4 (Camel Forth's TOS register) and returns a 16bit address in R4.

The difference is that if the address is NOT in the current SAMS page, it swaps in the page and computes the address in the page for the input address.

The variable SEG controls which 64K segment is used.

 

Forth Assembler For TI-Assember coders:

  •  CODE just makes a label (ie: name of the sub-routine)
  • Put the 9900 op code on the other side to make something that looks more familiar. :)
  • Variables in Forth are like a LABEL and a DATA statement wrapped together.
  • TOS in the code is an alias for R4
  • The phrase " EQ IF,"  is just a JNE  to the "ELSE," location.
  • "ELSE,"  is just a JMP instruction to "ENDIF," location. 
  • NEXT, returns to the Forth internal sequencer . Think of it like  B *R11
  • @@ is for indirect addressing mode on a memory location (like a variable for example)
  • PMEM is an EQU. I used  PMEM EQU >3000 in this case
  • \ is a full line comment.  (  ) are inline comments

Once you translate this cryptic code it should let you read/write data in SAMS from Assembler by setting  SEG to a value from 1 to >000F and calling PAGED and the address you need will be in R4.

I know you can do it!

 

Edit once you are in a 4K page, you can move around just like normal but you have to be careful if you go outside the boundaries of the 4K page. (scary music here)

CODE PAGED  ( addr -- addr' )
       0200 , 4K ,    \ R0  4K LI,      \ 4K divisor ->R0
       C144 ,         \ TOS R5 MOV,     \ address to R5
       C120 , SEG ,   \ SEG @@ TOS MOV, \ segment to TOS
       3D00 ,         \ R0 TOS DIV,     \ unsigned division
       0646 , C585 ,  \ R5 PUSH,
       8804 , CD90 ,  \ TOS BANK# @@ CMP,
       1602 ,         \ EQ IF,
       C136 ,         \     TOS POP,
       100A ,         \ ELSE, ( *THE MAPPER* )
       C804 , CD90 ,  \    TOS BANK# @@ MOV,
       06C4 ,         \    TOS SWPB,
       020C , 1E00 ,  \    R12 1E00 LI,
       1D00 ,         \    0 SBO,
       C804 , 4006 ,  \    TOS 4006 @@ MOV,
       1E00 ,         \    0 SBZ,
       C136 ,         \    TOS POP,
                      \ ENDIF,
       0224 , PMEM ,  \ TOS PMEM AI,
       NEXT,
       ENDCODE

Edited by TheBF, Thu Feb 21, 2019 3:17 PM.






Also tagged with one or more of these keywords: TI-99/4A, 1MEG, SAMS, AMS

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users