Previous Thread
Next Thread
Print Thread
Page 3 of 420 1 2 3 4 5 419 420
Joined: Mar 2002
Posts: 1,371
Likes: 132
H
hap Offline
Very Senior Member
Very Senior Member
H Offline
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.

Code
	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
H
hap Offline
Very Senior Member
Very Senior Member
H Offline
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 smile

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
S
Very Senior Member
Very Senior Member
S Offline
Joined: May 2010
Posts: 1,051
Originally Posted by hap
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 smile

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! smile

Thanks!

Joined: May 2010
Posts: 1,051
S
Very Senior Member
Very Senior Member
S Offline
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
H
hap Offline
Very Senior Member
Very Senior Member
H Offline
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
L
Very Senior Member
Very Senior Member
L Offline
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.txt

Pinout for tmc0270 (based on a bunch of sources but no decap yet) is here:
https://dl.dropboxusercontent.com/u/79094972/TMC0271NL%20pinout%200.9h.txt

LN

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
L
Very Senior Member
Very Senior Member
L Offline
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.jpg

I'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
R
Very Senior Member
Very Senior Member
R Offline
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
S
Very Senior Member
Very Senior Member
S Offline
Joined: Oct 2006
Posts: 1,017
Likes: 21
SPEAK & SPELL!!! Let's get it done! laugh

Page 3 of 420 1 2 3 4 5 419 420

Link Copied to Clipboard
Who's Online Now
3 members (Cpt. Pugwash, 2 invisible), 193 guests, and 0 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,331
Posts122,199
Members5,077
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
Powered by UBB.threads™ PHP Forum Software 8.0.0