MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Flat Mode Flat  

prino
z/OS user
Reged: 04/08/14
Posts: 1
Loc: Belgium
Send PM
Bug in TMS7000 emulation
04/08/14 08:41 PM


I've recently "inherited" a program to emulate the Texas Instruments TI-95 calculator, and while testing some code, I've stumbled upon a situation where the emulated calculator hangs. The only "logical" instructions that could cause the problem seemed to be DAC (Decimal Add with Carry) and DSB (Decimal Subtract with Borrow) and looking at the Delphi implementation of these instructions, they don't really make sense. Using the Pascal-equivalent of the MAME implementation of DAC and DSB didn't really improve things, answers are still wrong compared the real TMS7000. Some (actually, more than some) Google'ing eventually turned up this gem, the TMS7000 Family Microarchitecture User's Manual and on PDF page 29 the "real" algorithm is described, and for DAC my results of implementing this completely match the real hardware. Still working on DSB, but I expect that the current MAME implementation of that one is also wrong.

The bug shows itself if the instructions are used to process non-BCD data, something my copy of the TMS7000 Family Data Manual describes as "... Operation of DAC in undefined for non-BCD operands. ...".


Robert AH Prins
robert.ah.prins @ the.15+Gb.Google thingy
No programming here







Entire thread
Subject Posted by Posted on
* Bug in TMS7000 emulation prino 04/08/14 08:41 PM
. * Re: Bug in TMS7000 emulation hap  04/09/14 02:12 AM

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 534 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 1797