|
Joined: Mar 2002
Posts: 1,371 Likes: 132
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,371 Likes: 132 |
Ok, TI-30 is alive here, but with bugs due to incomplete emulation I assume (microinstructions like SSS and CME). I'm also not sure if page decoding is correct yet. Row decoding should be right though. It's the same as on TMS1000. That big lookuptable is basically a translation of the 1-of-32 selector, right? 10000 16 -> roworder[16+0]=0, roworder[16+32]=1 00000 0 -> roworder[0+32]=2, roworder[0+0]=3 00001 1 -> roworder[1+0]=4, roworder[1+32]=5 10001 17 -> roworder[17+32]=6, etc. 10010 18 00010 2 00011 3 10011 19 ... On TMS0980, the 1-of-64 selector is sequential (0,1,2,3,4,...), so decoding it is not as complex.
int lut1[2]={0,3};
int lut2[2]={1,2};
for (page=0;page<16;page++)
{
for (pc=0;pc<128;pc++)
{
for (bit=8;bit>=0;bit--)
{
int myrow=pc;
if (myrow<64) myrow=(myrow&0x3e)*2 +lut1[myrow&1];
else myrow=(myrow&0x3e)*2 +lut2[myrow&1];
int mypage=page; // TODO/verify
mypos=myrow*144+bit*16+mypage;
mybit=in_raw[mypos/8]>>(mypos&7)&1;
outpos=page*128+pc;
out_dump[outpos]=out_dump[outpos]*2+mybit;
}
}
}
|
|
|
|
Joined: Jan 2006
Posts: 3,691
Very Senior Member
|
Very Senior Member
Joined: Jan 2006
Posts: 3,691 |
thumbs up! the work so far is amazing! thanks to both of you
|
|
|
|
Joined: Mar 2002
Posts: 1,371 Likes: 132
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,371 Likes: 132 |
I wanted to be sure there are no bugs left with TMS1000/0970 emulation before starting on getting TI-30 working. I couldn't find any in the code, so I had to look for errors in the die-to-rom translation. I checked tisr16, comp4, wizatron, ti1270. sr16_raw: change offset $114 $db to $eb. change offset $3e0 $d2 to $e2. comp4: change offset $3b5 $54 to $74. wizatron: no error found. ti1270_raw(initial ver!): change offset $174 $11 to 51. change offset $3e6 $f7 to $47. ti1270 and sr16 problems i reported the other day are gone now. I hope this helps to improve your bitfinder tool. Also, maybe you can make the tool modify the image it searches to write an alpha blended mask over the found bits? This way it's much easier to see errors by eye. We should doublecheck all dumps  I'll check the ti30 image next. Boring work but I need to be certain the dump is correct when improving currently-incomplete 0980 emulation.
|
|
|
|
Joined: May 2010
Posts: 1,051
Very Senior Member
|
Very Senior Member
Joined: May 2010
Posts: 1,051 |
sr16_raw: change offset $114 $db to $eb. change offset $3e0 $d2 to $e2. comp4: change offset $3b5 $54 to $74. wizatron: no error found. ti1270_raw(initial ver!): change offset $174 $11 to 51. change offset $3e6 $f7 to $47. ti1270 and sr16 problems i reported the other day are gone now. I hope this helps to improve your bitfinder tool. Also, maybe you can make the tool modify the image it searches to write an alpha blended mask over the found bits? This way it's much easier to see errors by eye. We should doublecheck all dumps  I'll check the ti30 image next. Boring work but I need to be certain the dump is correct when improving currently-incomplete 0980 emulation. Aw, crap! I had changed those 2 bits in the SR16 raw file, but hadn't updated the reorganized ROM dump on my web site. Sorry about that! I fixed the CompIV and TI1270 bits you found. I had looked at those files several times but didn't see anything wrong. I have 2 programs that display parts of the ROM array pic overlaid with the bits from the raw dump file- one shows 8 bits at a time, and the other shows about 2000. I was hopeful that looking at them both ways would reduce the risk of missing some bits, but obviously more eyes are needed. I'll also check the 0980 dumps again. You need to double-check all the Microvision dumps now!  Thanks!
|
|
|
|
Joined: May 2010
Posts: 1,051
Very Senior Member
|
Very Senior Member
Joined: May 2010
Posts: 1,051 |
Urg- 6 bit errors in TI-30: $21C from $46 to $56 $49D from $CC to $CD $500 from $C3 to $A3 $51C from $14 to $94 $5D1 from $10 to $90 $783 from $20 to $10
5 errors in Stop Thief: $1ED from $04 to $05 $2CA from $62 to $72 $4E5 from $C0 to $C1 $87C from $55 to $D5 $8A4 from $02 to $2D
2 errors in TI Business Analyst I: $06F from $C8 to $C9 $72B from $44 to $45
No errors found in TI Programmer, but I need to check a few obscured bits.
No errors found in Code Name: Sector.
I put new raw and cooked files on my web page.
I picked up a Coleco Amaze-A-Tron; it's another Ralph Baer game that has a TMS-1100. It should be warm this weekend to get it decapped.
Last edited by seanriddle; 11/28/14 08:00 AM.
|
|
|
|
Joined: Mar 2002
Posts: 1,371 Likes: 132
Very Senior Member
|
Very Senior Member
Joined: Mar 2002
Posts: 1,371 Likes: 132 |
TI-30, yup, confirmed. Also found $6d9 from $4f to $5f.
BTW I wonder which commercial product was the 1st use of TMS1000 series mcu. That should be interesting to see if it has differences compared to newer ones. **edit**: oh, I'm reading that it was the SR-16.
TI-5025 looks curious too, it's like a 0980 but the output PLA differs.
Last edited by hap; 11/28/14 03:50 PM.
|
|
|
|
Joined: Mar 2006
Posts: 1,080 Likes: 7
Very Senior Member
|
Very Senior Member
Joined: Mar 2006
Posts: 1,080 Likes: 7 |
I'm morbidly curious about the Speak and Spell now, since afaik the TMC0270 cpu it uses is a hybrid of the cpu portion of the tms0980 (9-bit words), the VFD drivers of the tms1100 (0980 normally can only drive an LCD), a very large output PLA (handles A thru Z, 0 thru 9, ', _, +, -, and maybe one other symbol which isn't used?), and a bunch of added logic to re-use a few of the segment pla pins as a direct i/o output from the accumulator to talk to the tms5100 chip and read back speech status from it overriding the usual K input bus. The segment outputs of the PLA are listed here (from experimentation on a 1978 'test release' speak and spell which has a slightly different rom from the later ones): https://dl.dropboxusercontent.com/u/79094972/Speak%20and%20spell%20segment%20PLA.txtPinout for tmc0270 (based on a bunch of sources but no decap yet) is here: https://dl.dropboxusercontent.com/u/79094972/TMC0271NL%20pinout%200.9h.txtLN
Last edited by Lord Nightmare; 11/28/14 05:33 PM. Reason: fix links
"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
|
|
|
|
Joined: Mar 2006
Posts: 1,080 Likes: 7
Very Senior Member
|
Very Senior Member
Joined: Mar 2006
Posts: 1,080 Likes: 7 |
Also what is on the tms1000 M32018 die? http://www.visual6502.org/images/TMS1000/TMS1000_20x_1b_6500w.jpgI'm not sure what game or device that chip is from. We have another intact M32018 masked chip if anyone wants to probe it some... LN
"When life gives you zombies... *CHA-CHIK!* ...you make zombie-ade!"
|
|
|
|
Joined: Mar 2001
Posts: 17,239 Likes: 263
Very Senior Member
|
Very Senior Member
Joined: Mar 2001
Posts: 17,239 Likes: 263 |
L_N: if that's all true I imagine these guys could have one playing in MESS in like a week given a chip to decap.
|
|
|
|
Joined: Oct 2006
Posts: 1,017 Likes: 21
Very Senior Member
|
Very Senior Member
Joined: Oct 2006
Posts: 1,017 Likes: 21 |
SPEAK & SPELL!!! Let's get it done! 
|
|
|
3 members (Cpt. Pugwash, 2 invisible),
193
guests, and
0
robots. |
Key:
Admin,
Global Mod,
Mod
|
|
Forums9
Topics9,331
Posts122,199
Members5,077
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|