Créé par CaptainYS, il s’agit d’un émulateur pour Windows, MacOs et Linux de Fujitsu FM-Towns et sa déclinaison console Marty. C’est un émulateur du légendaire ordinateur Fujitsu FM TOWNS. Le but est d’imiter le modèle II MX qui était le dernier ordinateur sur lequel l’auteur a (dixit) « prêté allégeance ». L’auteur essaie également de trouver et de documenter autant que possible les fonctionnalités non documentées du système FM TOWNS pendant l’écriture de l’émulateur.

Les changements:
– General code cleaning
– HLT raises GP fault in VM86 mode.
– Check destination CS DPL=0 and non-conforming in INT from VM86 mode.
– INT takes IOPL exception from VM86 mode.
– Added the same test in RETF_imm16.
– Fixed IRETD to outer level (takes into account cases where SS temporarily becomes inaccessible).
– Fixed INT to outer privilege (GP Exception).
– Fixed RETF to inner privilege (GP Exception).
– Fixed JMPF/CALLF to inner privilege (GP Exception).
– Fixed CALLF and RETF.
– Fixed INT from Ring 3 to Ring 3 (Conforming Segment).
– NET tests pass on WSL.
– Make LEA instruction fix valid in both medium-fidelity and high-fidelity modes.
– Added debugger command BRKON EXCEPTIONAT cs:eip.
– Fixed LEA instruction to correctly mask high word if operand size is 32 and address size is 16 in high-fidelity mode.
– FLDCW handles exception.
– Fixed disassembly.
– Fully fixed the Page Fault during Instruction-Fetch problem (resolves IE4 installation crash).
– Fixed high-fidelity mode page fault handling during Instruction-Fetch.
– Fixed FTPSVR test.
– Merge pull request #192 from bcc2528/master (VerifiedNet FTP Server test).
– Added FTP, HTGET, and network ctest.
– Removed two potential race conditions.
– Translate 10.0.2.172 to host 127.0.0.1.
– Better organized ThreadFunc and converted std::list
– Minor optimization for push and pop instructions.
– Fixed potential buffer overflows and missing mutex lockings.
– Added Japanese message for LAN warning.
– Fix Linux, macOS, and WSL builds.
– Merge pull request #191 from bcc2528/master (Corrected ACK implementation to the VM).
– Fix aspect ratio of Ningyou Tsukai (Metal & Lace).
– Deliver incoming TCP payload regardless of the TCP flag.
– Preparing to correctly acknowledge non-PSH packet with payload.
– Cleaned the state labels.
– Correctly process FIN from the VM.
– Cleaned and updated ProcessTCP_Packet.
– Added port forwarding and ability to accept connections from outside (with payload support on ACK/FIN).
– Added two IO labels.
– DOSINT10.COM emulates more functions.
– Added Japanese UI text for LAN option and exposed it in the GUI.
– Handle connection requests better so that the VM does not lock up when the remote host responds slowly.
– Supported TCP RST flag.
– Fixed wrong status text.
– Handling disconnect from server more correctly.
– Handles double/duplicate SYN requests.
– Adding network status dump.
– Able to open ysflight.in.coocan.jp with IE4 (with JavaScript errors).
– Implemented and optimized DNS handling.
– Fixed INT number registration from (data&0x10) to (data&0xF0).
– DHCP ignores unsupported options.
– Better RX3586 state emulation.
– REX3586 Windows driver assumes MAC address to begin with 00c0c0 or 00803d.
– REX3586 can be accessed from 7000h to 7010h and 7100h to 7110H.
– Added support for PSH from VM to outside.
– WATTCP FTP prints welcome message from the FTP server.
– RealNetwork optimization (reduced time holding the clients-lock).
– Added rex3586 polling, library to FMTownsCommon class, and RealNetwork pointer to RatocREX3586.
– Virtual Router can open a fake TCP connection.
– Added TCP Packet support and implemented ARP.
– Added DOSINT1C.COM, DOSINT16.COM, and DOSINT1C.NSM to emulate PC/AT and DOS 1/18sec Interval Timers.
– WATTCP DHCP.EXE can obtain IP address from Tsugaru’s virtual DHCP server (DHCP Discovery -> DHCP Offer works).
– Testing INSW/INSD instructions.
– REX3586 shoots interrupts on incoming RXPacket.
– REX3586 packet driver detects card presence and initiates DHCP.
– Support REX 3586 EPROM, INTNum setting, and TX/RX INT Enable/Disable.
– Fixed freeze when a broken RDD file is given.
– Removed two warnings.
– Updated tips.
– Prevent mouse cursor sticking after FsSetMousePosition.
– Fix stickiness and visibility of differential mouse integration in macOS.
– Added GL_SILENCE_DEPRECATION macro.
– Fixed potential problems in differential mouse integration (sub-pixel tracking and dropped first movement on wake up).
– FileSys test takes Windows short-name into account.
– Updated GitHub workflow.
– Added -poweroffoniow option.
– Call OSInit on start up and added osinit library.
– Fixed TGDRV INT 2FH AX=111DH.
– Added a new discovery about CMOS 3C1AH.
– Added shortcuts XMSEND, XM1KSEND, XMRECV, XMCRCRECV.
– Support default client and labels for COM1 to COM4.
– RS232C BIOS detects external COM ports.
– Updating i8251 behavior so that IO.SYS detects the serial port.
– Testing COMn support.
– Looking into RS232C I/O ports.
– Fixed Marty Power-On Demo speed.
– Changed GUI default file names from wildcard to default.???.
– Fix: Gameport setting for port 0 was not read from profile.
– Small improvement in MOVSB/MOVS/STOSB/STOS instructions.
– More CMOS RAM labels.
– Can use RESET + bootkey command from GUI, added help and boot-key tips.
– Gameport disarms boot key after 04D0H is read 16 times.
– Fixed crash on reset while playing high-res PCM.
– Added -NOINTCD (No internal CD drive) option.
– Debug I/O 00EAh and 00EBh show the value written.
– Longer short-name buffer for GetShortPathNameA.
– Tsugaru for Windows uses short file name to access long file name in the host.
– Adding long-filename support and accessibility.
– Disabled file time-stamp update for consistency.
– Added a function for finding a host-file from 8+3 DOS file name.
– TGDRV updates file last-modified time.
– Updated diskdrive.cpp/h (DSKCHG flag clear status matches real FM TOWNS II MX behavior).
– Removed warning on DWORD write to I/O 45Ah.
– Removed non-functional PAUSE option from pull-down menu.
– Tsugaru_GUI ignores pause/resume key when VM is not running.
– Added Console Steal feature (redirects CON device and INT 29H characters to host terminal via ENA CONSOUT).
– Added Direct-Type mode (ENA DIRTYPE) to type MS-DOS commands directly in CUI/headless mode.
– Fixed pointer-initialization issue.
– Fix macOS File Dialog issue by adding Info.plist.
– Fixed bug in sjis2utf8 conversion.
– Added headless mode (with automated auto-typing improvements).
– Support FreeTOWNSOS’s automation.
– -VMFLAG CONSOUT tells Free TOWNS OS (Tsugaru OS)’s IOSYS to forward console output to host Terminal.
– Merge pull request #176 from bcc2528/master.
– Fixed abort check in the VM main loop.
– Removed i486Debugger::stop (VM now keeps flags for abort and debug break instead of the debugger).
– i486Debugger retains the VM pointer.
– Updated ICM boot script.
– Can print list of IO ports from the command.
– Added TownsProfile serialize/deserialize test and fixed profile reader.
– Hide MENU button when paused in GUI and fixed Japanese UI text.
– Cumulative updates.
Un pack de bios est disponible ici et un guide complet là (Tuto en pdf ici: anglais / français).



























