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

Pages: 1

prino
z/OS user
Reged: 04/08/14
Posts: 1
Loc: Belgium
Send PM


Bug in TMS7000 emulation
#324320 - 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



hap
Reged: 12/01/08
Posts: 296
Send PM


Re: Bug in TMS7000 emulation new [Re: prino]
#324340 - 04/09/14 02:12 AM


Thank you, it should be fixed now. see:
http://git.redump.net/mame/tree/src/emu/cpu/tms7000/tms7000.c

En hee, misschien zou je het leuk vinden om een MESS driver te maken voor die TI-95? =)


Pages: 1

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

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