Re: [hatari-devel] Emulation of the TT second MFP |
[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]
Hi, Interesting news. I just checked the behavior of ASV, which appears to get a bit further in the boot process now. There is an exception, though, please see the attached screenshot. Best regards Uwe > Hi > > at least, here it is, emulation of the TT's specific MFP :) > > Previous MFP code has been cleaned up and modified to handle several MFP > objects. > > Each MFP instance is stored using a MFP_STRUCT and there're now 2 MFP : > - pMFP_Main : this is the standard MFP that can be found on any > machine (ST, STE, TT, Falcon). It's located at address $FFFA01 - $FFFA2F > - pMFP_TT : this is the TT only MFP, it's located at address $FFFA81 - > $FFFAAF. > > As the TT MFP can have 4 timers, cycInt.c has been modified to handle 4 > additional internal timers (this makes quite a lot of timers to process > in the main cpu loop in the end, so in a 2nd phase I will look at > optimizing MFP code by using only 1 timer per MFP then dispatch it > between the 4 internal MFP timers) > > For now, I tried to change as little code as possible, just to adapt all > the parts to the new MFP functions (basically adding a pMFP variable to > all function) and to ensure there's as litlle regression as possible at > start. > The only part that required the TT MFP is in ncr5380.c to handle SCSI > and I updated it to use the TT MFP's GPIP register. > > My test so far was to successfully boot with TOS 3.06 until I reach the > desktop. During the boot, TOS will start timer C and D on the TT MFP and > expects these timers to trigger an interrupt ; if not, TOS would wait > forever as a result of this failure. > > Note that in the end, TOS will keep timer D started but disabled through > the mask register. So we have the same "issue" as with the main MFP > timer D where we added the "patch timer D" option to slow down this > useless timer (and reduce emulation cost). > So when in TT mode, "patch timer D" option will now change main MFP but > also TT MFP. > > Once this new code is confirmed to run SCSI/ncr5380 as before, I will > look into adding new missing parts : > > - handle timer A/timer B in event count mode on the TT MFP (timer A is > not connected, timer B is connected to the DE signal, as on the main MFP) > - add support for the UART on the TT MFP ? Is there any program that > makes use of it to test it ? This would imply to adapt rs232 code to > handle several serial ports too. > - connect more signals to the GPIP registers > - rewrite more internal MFP code to improve cycle accuracy > > > Thomas, can you check the ncr5380 code still works with this TT MFP ? > > Nicolas > >
Attachment:
asv.png
Description: PNG image
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |