Previous Thread
Next Thread
Print Thread
Page 1 of 418 1 2 3 417 418
Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
Originally Posted by hap
Hmm, wizatron issue could also be due to how the digit leds work. They obviously should take some time to decay so strobing them doesn't look like a flickering disco. Maybe related to that.

TI-1270: do you have the post-acid pic? I can see the microinstructions, but barely see the output pla and main opcode pla.
Yeah, the change to SETR and removal of RSTR may have something to do with it. I still haven't read enough to understand that change yet. I don't have any working TMS-0970s left, but I have a couple of TMS-0980s, which likely output the same. I could do some logic captures if you think it might help.

I uploaded the TI-1270 post-acid pic.

Last edited by R. Belmont; 11/23/14 12:30 AM.
Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
I looked at the Stop Thief output PLA and found 0-9, C, d, F, G, t and blank. But the game also displays - and r. Do you know how? The TMS1x00 output PLA used the 4-bit accumulator and the status flag to index into a 20-byte table of outputs, but I only see 16 outputs on the Stop Thief die.

Joined: Mar 2002
Posts: 1,368
Likes: 120
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,368
Likes: 120
It doesn't work the same way as TMS1000. Instead of outputting all segments at once, it updates digits per-segment. This way, it's possible to make a digit partially blank.

It's not that simple. There are 2 PLAs involved, the segment PLA and output PLA. The chip checks for a coincidence between the two to determine whether or not a digit should be updated.

For details, see TI-30 patent description of fig.13

Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
OK, so you could tell it to display 8, but only segments e and g, and that would display r?

Stop Thief's segment decoder has different patterns for several digits- 6 and 9 don't have the "tail" segment (a for 6 and d for 9), and 1 is scooted to the left, using segments e and f instead of b and c. It also has a C (adef), d (abcdg), F (aefg), G (acdef), and t (defg). The game also displays - and r which aren't in the segment decoder.

I uploaded ROM dumps for TI Programmer and Business Analyst I, and updated the pinout files and output PLA info. I need to clean the output PLA of TI Programmer to transcribe it, although I think we know enough to reconstruct it if need be. Along with 0-9, it displays A b C d E and F.

Joined: Mar 2002
Posts: 1,368
Likes: 120
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,368
Likes: 120
"OK, so you could tell it to display 8, but only segments e and g, and that would display r?"
Yes I believe so. Though I don't have anything with TMS0980 emulated yet to confirm it (I only have TI-30 hooked up, but it gets stuck in a loop very quickly).

BTW I forgot to ask before: could you also post your script (or description with pseudo code) to convert a raw dump to tms1000-order dump?

Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
Here's the pseudocode. It's just a few loops around the code I posted before:

Code
roworder[]={
  3  4 11 12 19 20 27 28 35 36 43 44 51 52 59 60
  0  7  8 15 16 23 24 31 32 39 40 47 48 55 56 63
  2  5 10 13 18 21 26 29 34 37 42 45 50 53 58 61
  1  6  9 14 17 22 25 30 33 38 41 46 49 54 57 62
}
  
rx=0
for chapter=0 TO 1	// TMS1100 has 2x ROM
  for page=0 TO 15	// 16 pages in each row
    for pc=0 TO 63	// 64 rows = program counter
      for bit=7 to 0 step -1
        if page<8
          rawbitindex=chapter*8192+roworder[pc]*128+bit*16+page
        else
          rawbitindex=chapter*8192+roworder[pc]*128+bit*16+23-page
        endif
        rom[rx]=rom[rx]*2+rawbits[rawbitindex]
      next
      rx=rx+1
    next
  next
next

Joined: Mar 2002
Posts: 1,368
Likes: 120
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,368
Likes: 120
Ah, right.
Anyway, buttons (1/x), (x^2), and 3,6,9 don't work right on my ti1270 emulation. I checked the bits on the die pic under the smudge for faults. I found 1 bad bit! But frown seems to have no effect at all on the emulation.

ti1270raw.bin offset $174, change $11 to $51.

Joined: Mar 2002
Posts: 1,368
Likes: 120
H
hap Offline
Very Senior Member
Offline
Very Senior Member
H
Joined: Mar 2002
Posts: 1,368
Likes: 120
Status update of tms0980.c rewrite:
- microvsn, merlin, simon: work as good as before
- tisr16: boots, can input numbers, but lots of bugs and can't do calculations. If it's an emulation problem it's strange, since others with tms1xxx work well. I see black lines on the die pic, is it possible your rom extract algorithm gets confused there?

- wizatron: works
- comp4: works
- cnsector: at first glance, it works. Still need to flesh out the MESS driver.
- ti1270: boots, can input numbers and some calculations, but some buttons don't work (see above, it's as if they function as RCL and STO)

- ti30, tiprog, tibusan1, stopthie(also the patent one): execute nonsense code and get stuck in a loop quick. Either CPU emu problem or the word/bit order is different.

Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
Originally Posted by hap
Ah, right.
Anyway, buttons (1/x), (x^2), and 3,6,9 don't work right on my ti1270 emulation. I checked the bits on the die pic under the smudge for faults. I found 1 bad bit! But frown seems to have no effect at all on the emulation.

ti1270raw.bin offset $174, change $11 to $51.
D'oh- sorry about that bit. I just checked the full die again and I didn't notice any other errors.

That's a weird collection of buttons not to work- I'd expect a full row or column, not a mix of buttons on 3 different columns and 4 different rows.

Joined: May 2010
Posts: 1,051
S
Very Senior Member
OP Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
Originally Posted by hap
Status update of tms0980.c rewrite:
- microvsn, merlin, simon: work as good as before
- tisr16: boots, can input numbers, but lots of bugs and can't do calculations. If it's an emulation problem it's strange, since others with tms1xxx work well. I see black lines on the die pic, is it possible your rom extract algorithm gets confused there?

- wizatron: works
- comp4: works
- cnsector: at first glance, it works. Still need to flesh out the MESS driver.
- ti1270: boots, can input numbers and some calculations, but some buttons don't work (see above, it's as if they function as RCL and STO)

- ti30, tiprog, tibusan1, stopthie(also the patent one): execute nonsense code and get stuck in a loop quick. Either CPU emu problem or the word/bit order is different.
Cool!
The SR16 die got stuck on the metal frame and cracked, which are the lines you see. I thought everything was readable, but I'll double-check.
Maybe the Stop Thief patent code is in LFSR order, not execution order. I reordered the raw 0980 bits to match it, so that would explain why they all wouldn't work.

Page 1 of 418 1 2 3 417 418

Link Copied to Clipboard
Who's Online Now
3 members (AJR, Dorando, belegdol), 52 guests, and 1 robot.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,308
Posts121,697
Members5,070
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Forum hosted by www.retrogamesformac.com