RobertLM78 Posted October 27, 2013 Share Posted October 27, 2013 I was about to do some Early Learning Fun with my three year old son on his TI machine, when we were greeted with this mess: The last two images are from TI BASIC; the last one showing the cursor position after having typed a bunch of characters - that didn't get displayed. Anyone have an idea as to what might be wrong? Thanks for reading! Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted October 27, 2013 Share Posted October 27, 2013 I would guess that a VRAM chip has gone bad. 1 Quote Link to comment Share on other sites More sharing options...
Willsy Posted October 27, 2013 Share Posted October 27, 2013 Yes I'd agree with that. Looks like a faulty VRAM. Should be able to get a replacement on Ebay. 1 Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 27, 2013 Share Posted October 27, 2013 Approved within MESS. This is the result of changing the linem_vram_space->write_byte(m_Addr, data);tom_vram_space->write_byte(m_Addr, data & 0x7f); The VDP uses 8 RAM circuits and spreads each byte over all 8 circuits. This means the MSB (2^7) VRAM is broken. 8 Quote Link to comment Share on other sites More sharing options...
+retroclouds Posted October 27, 2013 Share Posted October 27, 2013 Approved within MESS. This is the result of changing the line m_vram_space->write_byte(m_Addr, data); to m_vram_space->write_byte(m_Addr, data & 0x7f); The VDP uses 8 RAM circuits and spreads each byte over all 8 circuits. This means the MSB (2^7) VRAM is broken. Very impressive! So where is that specific VRAM chip located on the motherboard ? Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 27, 2013 Share Posted October 27, 2013 Following the schematics of the TI-99/4A, I would say this must be the VRAM chip whose pin 14 is connected to the VDP's pin 32. 3 Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 27, 2013 Share Posted October 27, 2013 Is there an option in any emulator to simulate failures? Might be kind-of neat to have a check box of bits to simulate VRAM 0-7 failures, or PAD RAM failure, data line failures, etc. 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 I would guess that a VRAM chip has gone bad. Yes I'd agree with that. Looks like a faulty VRAM. Should be able to get a replacement on Ebay. I knew it was a video problem - I thought maybe the computer's boot strap program wasn't completing itself. Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 Approved within MESS. This is the result of changing the line m_vram_space->write_byte(m_Addr, data); to m_vram_space->write_byte(m_Addr, data & 0x7f); The VDP uses 8 RAM circuits and spreads each byte over all 8 circuits. This means the MSB (2^7) VRAM is broken. As Retroclouds said - "Very impressive!" :thumbsup: A thousand thanks Michael! Could you point me to the appropriate schematic? Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 So what do I look for on ebay, MSB VRAM Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 27, 2013 Share Posted October 27, 2013 MSB just means "most significant bit"; there are 8 chips on the board, and this one holds the leftmost bit of each byte. The RAM is a TMS 4116 16Kx1 DRAM. You can find the schematics on WHTech. Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 MSB just means "most significant bit"; there are 8 chips on the board, and this one holds the leftmost bit of each byte... LOL - I can't believe I forgot that.. (MSB) . The RAM is a TMS 4116 16Kx1 DRAM. You can find the schematics on WHTech. Cool - I'll have a lookout for that DRAM. Are these the schematics you're talking about? Thank you Michael! Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 I think I may have found one: http://www.ebay.com/itm/4116-ITT-16K-x-1-DRAM-Dynamic-RAM-/121069969561?pt=LH_DefaultDomain_0&hash=item1c30552099 Interesting, there are some TMS4416s showing up, and some of them say 16K x 4.... Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 27, 2013 Share Posted October 27, 2013 The 4416 are not suitable, as they have a 16x4 organization. So you must look for 4116 (which are, as far as I know) also used in the TI 32 K memory expansion card. ... @OLD CS1: Concerning the error feature in an emulator like MESS, this sounds certainly interesting, but you have to consider that there is an abundance of possible errors, from stuck bits to completely failing components, intermittingly failing components, errors that only appear for certain values etc. The challenge for a memory check program is to do tests that not only prove there is an error but also give an indication where the source of the error should be. For now I can just say that the source code of MAME/MESS is open, and the ony thing you need are some basic skills in C++ programming and a GCC compiler; you can then apply such changes and recompile the emulator pretty easily. Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 27, 2013 Share Posted October 27, 2013 For now I can just say that the source code of MAME/MESS is open, and the ony thing you need are some basic skills in C++ programming and a GCC compiler; you can then apply such changes and recompile the emulator pretty easily. Meh. Not my Fortran. Joking aside, I would have to learn how to program a GUI or three, find all of the locations I would need to patch, and so on. I am an idea guy and do not have time to learn an entire project. Quote Link to comment Share on other sites More sharing options...
jens-eike Posted October 27, 2013 Share Posted October 27, 2013 You should look at the speed rating, my 99/4A boards have 150ns chips (TMS4116-15 or MK4116-2), the chips you found on ebay are itt4116-4 rated for 250ns access time - definitely too slow for the VDP! According to the 9918 Data Manual, appendix B, 150ns or 200ns will work, 250ns chips are too slow. I think I may have found one: http://www.ebay.com/itm/4116-ITT-16K-x-1-DRAM-Dynamic-RAM-/121069969561?pt=LH_DefaultDomain_0&hash=item1c30552099 Interesting, there are some TMS4416s showing up, and some of them say 16K x 4.... Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 27, 2013 Author Share Posted October 27, 2013 You should look at the speed rating, my 99/4A boards have 150ns chips (TMS4116-15 or MK4116-2), the chips you found on ebay are itt4116-4 rated for 250ns access time - definitely too slow for the VDP! According to the 9918 Data Manual, appendix B, 150ns or 200ns will work, 250ns chips are too slow. Jens - Thanks for the excellent pointer and reference (I went ahead and checked it out in the 9918 Data Manual for myself). So, how were you able to determine the access time on that one from ebay? I didn't see anything in the specs, and the ceramic housing has '4NS' printed on it. Quote Link to comment Share on other sites More sharing options...
+mizapf Posted October 27, 2013 Share Posted October 27, 2013 Meh. Not my Fortran. Joking aside, I would have to learn how to program a GUI or three, find all of the locations I would need to patch, and so on. I am an idea guy and do not have time to learn an entire project. Don't worry, you certainly should not try to write a GUI. What I wanted to say is that it suffices to know how the emulation works (with some C++ knowledge), then patch the error into the source, re-compile and see what it does. If you have a theory what could be wrong - like here, I saw that the characters on the screen were missing the leftmost column in their pattern, so I suspected that bit 0 is stuck at 0 - then you can proceed as I did, try to simulate this malfunction (and after that, take it out again). Quote Link to comment Share on other sites More sharing options...
+OLD CS1 Posted October 27, 2013 Share Posted October 27, 2013 Don't worry, you certainly should not try to write a GUI. What I wanted to say is that it suffices to know how the emulation works (with some C++ knowledge), then patch the error into the source, re-compile and see what it does. If you have a theory what could be wrong - like here, I saw that the characters on the screen were missing the leftmost column in their pattern, so I suspected that bit 0 is stuck at 0 - then you can proceed as I did, try to simulate this malfunction (and after that, take it out again). No, no, you get much kudos from me for that bit. Pretty cool to be able to hack that into a program. Once you have that in the program, though, it seems like you might be able to add a flag to disable certain bits. Practical, maybe not for most purposes but useful for the seeing how certain hardware faults (certain, not all) can causes mischief in real life. I have modified UW IMAP daemon to add a few flags for specific purposes, but the complexity of uw-imapd is an order of magnitude less than a full hardware emulation, so you will not be seeing a patch from me any time soon Quote Link to comment Share on other sites More sharing options...
jens-eike Posted October 28, 2013 Share Posted October 28, 2013 Jens - Thanks for the excellent pointer and reference (I went ahead and checked it out in the 9918 Data Manual for myself). So, how were you able to determine the access time on that one from ebay? I didn't see anything in the specs, and the ceramic housing has '4NS' printed on it. Google's 2nd hit for "itt 4116 datasheet" gives a link to datasheetarchive.com - there is only a list of itt chips, but it says -4 is 250ns ( -3 is 200ns, -2 is 150ns) NS is probably some package code, for TI chips "NL" means plastic (N) and 0-70°C (L). How about: http://www.ebay.com/itm/Vintage-TMS4116-15NL-TI-1981-16-PIN-DIP-4116N-/370541819544?pt=LH_DefaultDomain_0&hash=item5646037698 (this seller has several makes/speeds of 4116). Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 28, 2013 Author Share Posted October 28, 2013 Google's 2nd hit for "itt 4116 datasheet" gives a link to datasheetarchive.com - there is only a list of itt chips, but it says -4 is 250ns ( -3 is 200ns, -2 is 150ns) NS is probably some package code, for TI chips "NL" means plastic (N) and 0-70°C (L). How about: http://www.ebay.com/itm/Vintage-TMS4116-15NL-TI-1981-16-PIN-DIP-4116N-/370541819544?pt=LH_DefaultDomain_0&hash=item5646037698 (this seller has several makes/speeds of 4116). This is a little cheaper, but here again, I'm not sure if I have the right thing ( ): http://www.ebay.com/itm/Vintage-RAM-MK4116N-3GP-MOSTEK-1981-16-PIN-DIP-4116N-4116P-NOS/390416286535?rt=nc&_trksid=p2047675.m1851&_trkparms=aid%3D222002%26algo%3DSIC.FIT%26ao%3D1%26asc%3D18243%26meid%3D2295716412937860891%26pid%3D100005%26prg%3D8344%26rk%3D3%26rkt%3D4%26sd%3D370541819544%26 Quote Link to comment Share on other sites More sharing options...
jens-eike Posted October 28, 2013 Share Posted October 28, 2013 This is a little cheaper, but here again, I'm not sure if I have the right thing ( ): http://www.ebay.com/itm/Vintage-RAM-MK4116N-3GP-MOSTEK-1981-16-PIN-DIP-4116N-4116P-NOS/390416286535?rt=nc&_trksid=p2047675.m1851&_trkparms=aid%3D222002%26algo%3DSIC.FIT%26ao%3D1%26asc%3D18243%26meid%3D2295716412937860891%26pid%3D100005%26prg%3D8344%26rk%3D3%26rkt%3D4%26sd%3D370541819544%26 Looks good, -3 is a 200ns part. Datasheet: http://pdf.datasheetarchive.com/datasheetsmain/Databooks-2/Book273-441.pdf Check the individual timing requirements with the 9918 Data Manual (with only 10ns to spare, there might be tiny differences between the TMS and MK parts). 1 Quote Link to comment Share on other sites More sharing options...
matthew180 Posted October 28, 2013 Share Posted October 28, 2013 Go to Jameco.com and search for 4116. First hit is a 150ns 4116 for $0.99. http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?search_type=jamecoall&catalogId=10001&freeText=4116&langId=-1&productId=41339&storeId=10001&ddkey=http:StoreCatalogDrillDownView Also keep in mind that these chips are *very* hard to desolder and the circuit board is old. It is very easy to lift a pad. I recommend you cut the legs off of the bad chip and remove them one at a time rather than trying to take out the entire chip intact. I would also recommend you put the replacement chip in a socket. 1 Quote Link to comment Share on other sites More sharing options...
RobertLM78 Posted October 28, 2013 Author Share Posted October 28, 2013 Thank you Jens and Matthew! Also keep in mind that these chips are *very* hard to desolder and the circuit board is old. It is very easy to lift a pad. I recommend you cut the legs off of the bad chip and remove them one at a time rather than trying to take out the entire chip intact. I would also recommend you put the replacement chip in a socket. Gotcha - I know exactly what you're talking about. I will play it safe and cut the chip off the board (I'll also look into putting in a socket there). Thanks again fellas for all the help. I knew it was something that was fixable, but I wasn't quite sure what that actual problem was. Quote Link to comment Share on other sites More sharing options...
slinkeey Posted October 29, 2013 Share Posted October 29, 2013 F18A fix this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.