Cet émulateur est également le plus complet des outils de développements X68000 existant aujourd’hui. Il s’agit d’un fork de l’émulateur XM6 v2.05 de PI avec une pléthore de nouvelles fonctionnalités. Les changements sont pour la plupart liés à l’interface utilisateur et un accent a été mis sur le développement et les fonctions de débogage plutôt que sur l’exactitude de l’émulation, cependant il y a suffisamment d’améliorations pour qu’il soit recommandé d’utiliser cette version plutôt que XM6 v2.06 finale.



Additions & Changes:

– Added many new accelerators (keyboard shortcuts).
– Removed the annoying save-updated-state-file requester.
– Added a level meter.
– Added support for loading V2.06 state files (no guarantees though).
– Added menu command to dump RAM to a file.
– Added menu commands to make CPU subwindows more convenient.
– Added menu command to close all subwindows.
– Added menu commands to load directories as disk images.
– Directories can also be dropped onto the main window.
– Added limited .zip file support. You will need zlib1.dll (available on my website) but the program will run without it; you will simply receive an error message if you attempt to open a .zip file. Only one image per .zip file will be loaded and it will not have write-back support. Only 2HD disks are supported and the only allowed formats are .DIM and raw sectors (.XDF, .HDM, etc.)
– Added menu command to log CPU state. Limited to 20 MB.
– Added menu command to toggle high-priority mode.
– Also available by pressing Alt-P. This option is not saved.

 Caution: This can cause problems by shutting out lower priority tasks.
 Make sure your computer can handle the processing load first.

Certain accelerators are now multiplexed based on execution state.
For example, Alt-F12 now toggles execution state (Break/Execute).

– Disassembly window now has a context menu command to save the disassembly to a file.
– Disassembly window can be scrolled with the mouse wheel.
– Hold Ctrl or Shift to scroll by pages instead of lines.
– Memory window can also be scrolled with the mouse wheel. (see above)
– Hold Ctrl to scroll by pages, Shift (or Ctrl+Shift) for top/bottom.
– Disassembly and memory windows also have some new scrolling-related keyboard shortcuts available when in pop-up mode.
– Disassembly window will put approximately 4kB worth of disassembled instructions on the clipboard if you press Ctrl-C (or even just ‘C’) while the window is active (requires pop-up windows to be enabled). The disassembly will start with the currently viewed lines.
– Breakpoints in the disassembly window can no longer be manipulated while the emulator is running and PC synchronization is on.
– In pop-up mode, the disassembly window now discards the first mouse button click it receives when inactive. Consequently, you can activate it without worrying about interfering with breakpoints. This feature can also be a mild annoyance sometimes.
– Changed the behavior of the preloaded address for « Go to Address » (formerly called Enter Address) in disassembly windows: now it always uses the address on the current line.
– Scrolling the disassembly window backwards by pages now utilizes a much better (albeit more intensive) algorithm.
– Disassembly window now has a run-to-cursor menu command, which can also be activated directly with the mouse. There is also a keyboard shortcut which will run to whatever address is at the top of the disassembly window, provided that the current PC is not on the same line (which it usually is).
– Several new mouse functions were added to the disassembly window. See the appropriate reference file for a complete list.
– Memory window display units can now be adjusted through the keyboard in addition to the usual context menu.
– Memory window now highlights selected addresses.
– Memory window will jump to an address in memory if you double-click on it while holding the Control key. This works with any data size, but will always read 32-bits starting from the first byte of the item you clicked on.
– Memory window pop-up menu condensed with a new « page » submenu. (« Page » is in quotes ’cause the address divisions are arbitrary, not based on any X68000 memory management scheme I’m aware of.)
– Memory window now has finer resolution (16-byte).
– Memory windows now have search dialogs.
– A few hacked-in key translations to make DOS easier to use.
– While this should work for everyday use, certain usage patterns can cause the wrong key to be sent. This may not be easy to fix. Also be aware that these special translations will not occur when XM6 is in Japanese mode.

 NOTE: While XM6 allows you to remap keys, the shifted and non-shifted
 versions of each character associated with a Japanese key don’t always
 map to the same key on other keyboards. For example, Shift-2 is ‘@’
 on an American keyboard and a quote mark on a Japanese Keyboard.
 You could remap the ‘2’ key to the apostrophe/quote key, but then
 you’d have to press the apostrophe key to type the number two.

 – So that’s why the above hack was implemented, bypassing the remapper for certain useful symbols.
– Floppy disk creation will now add the appropriate extension for the selected filter if no extension is specified.
– Pressing the grave/tilde key will now toggle speed limiting.
– Holding it down will toggle it temporarily. You get both behaviors in the same key by measuring how long the key was held down.
– Program now includes an internal copy of the basic IPL ROM. It will still try to load IPL ROMs externally first, however. As far as I can tell, the Japanese license permits this usage.
– Removed CGROM check since it is not a critical component.
– Removed IPLROM check for those who want to modify the IPL. (XM6 V2.06 allows you to configure these checks, but this release is based on V2.05.)
– Attempts to force SRAM settings for Western glyphs (e.g. backslash instead of Yen sign) when not running in Japanese mode.
– Implemented better 32-bit PC support.
– Cleaned up the options dialog a bit.
– Invalid MRU (history) elements will be removed on access.
– Added a command to erase all history lists.
– When loading a state file, XM6 will no longer overwrite certain interface-related configuration options with values from the file.
– Clicking on the text displayed on either side of the FM/ADPCM volume sliders will set them to their default value. – If they are already at their default value, they will be set to the maximum value.
– If the next instruction to be executed is a conditional branch that should succeed according to the current CCR, it will be marked as such in the disassembly window. Also applies to DBcc but never BRA, BSR, or other unconditional instructions. Scc instructions will likewise show the value to be assigned.

Disassembler tweaked a bit:
– DBRA becomes the more correct DBF
– DBcc no longer has a superfluous extension
– MOVEQ no longer has a superfluous extension
– Bit manipulation instructions no longer have superfluous extensions
– BTST had a problem with a certain addressing mode, which is now fixed

 Remember the following facts and you won’t need those crutches:
MOVEQ always sign extends from 8 to 32 bits.
DBcc _breaks_ the loop if the condition is true. It could be read as « (decrement and branch) unless (condition) ».

 – Bit manipulation instructions (BTST, BCHG, BCLR, BSET) are 32-bit  if and only if the destination is a data register. They are 8-bit in every other case (even that unconventional one).


Bug Fixes:
– Double bus faults should no longer lock up the program.
– Fixed a distracting mouse cursor bug for pop-up windows.
– Memory window caption no longer gets truncated.
– Speed percentage no longer resets on window paint.
– Disasm window now always snaps to PC when you halt execution.
– I _think_ I fixed manually flipping the S bit in the system byte.
– Fixed a bug where disabled breakpoints could disappear.
– Fixed a bug in the unrecognized-instruction-suppressor routine when moving backwards in the disassembly window. Fewer invalid instructions will now appear.
– Some of the English floppy disk file filters were wrong.
– Fixed a bug where, after closing the last subwindow, the Window menu didn’t update correctly the next time it was opened.
– Fixed (?) a problem where XM6 could crash in certain situations if you sent it command line arguments too soon after quitting. The old instance would try to implement the arguments even while it was shutting down.
– Memory window now positioned correctly when jumping to the last few addresses in the current view range.


Télécharger XM6 Pro-68k build 140316 (3.79 M0)

Site Officiel

En savoir plus…