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.

Les changements par rapport à XM6 v2.05/6:

Initial Release

Additions & Changes:

NOTE: Not every change is documented here. You must read all
the documentation to learn about everything.

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.

------------------------------------------------------------------------

Release 2 (120321)

Directory-as-image loading is now more tolerant of bad file names
and has slightly better error handling.

Fixed a harmless but annoying bug in the RAM dumper: Some code was
temporarily inserted for experimental purposes but was never removed.

Added an important note at the end of the manual.

------------------------------------------------------------------------

Release 3 (120425)

Improved single-line backwards scrolling for the disassembly window.

Fixed a bug that was causing forward single-line scrolling to miss
the correct address for the next line in some circumstances.

Improved error reporting when directory->image building fails.

Improved disassembly window's address stack. Current address will now
be pushed onto the stack for most explicit address changes.

Memory window input handling changed such that the Left/Right keys
no longer cycle through the display unit types but instead navigate
through a history buffer of views that correspond to addresses which
have been explicitly selected in the memory window.
[/CODE]

Télécharger XM6 Pro-68k Release 6 (161123) (4,4 Mo)

Site Officiel

En savoir plus...