📄 version.txt
字号:
[+] Selecting memory value automatically
selects the disassembled line that
corresponds to that byte.
[*] Major bug fixed! BIOS Teletype function
(INT 10h/0Eh) was not making scroll
correctly! There also was unnecessary
moving of current cursor position to
the bottom of the screen.
********************************************
Version 1.15
Wednesday, May 29, 2002
[+] Support for 8 video pages added,
see "pages.asm" in samples.
[+] Memory list shows only the offset
of physical address, segment is shown
in the first text box above it.
[+] Separate "Help" button added.
********************************************
Version 1.14
Sunday, May 26, 2002
[+] Text color support added.
[*] Text-boxes for register values are made
wider (some systems displayed only part
of the value on selection).
[+] It is possible to disassemble up to 1K
of memory, and to save disassembled
code into a file (by clicking
"Save current emulator state" from
"Debug" menu).
********************************************
Version 1.13
Saturday, May 25, 2002
[+] New better font options added.
[+] "Terminal" (OEM/DOS) font is used as
default for user screen and
memory list.
[*] Number Convertor converts double
characters correctly, assuming that
missing character has zero value.
[+] Memory word at 0040h:004Ah has
number of columns on screen.
Memory byte at 0040h:0084h has
number of rows on screen minus one.
This value is modified when screen
window is resized.
[+] More interrupts are supported:
INT 10h / AH=06h - scroll up window.
INT 10h / AH=07h - scroll down window.
(see "scroll.asm" in Samples).
********************************************
Version 1.12
Thursday, May 23, 2002
[+] Output file extensions are made more
reasonable (".BOOT" for a boot sector,
".BIN" for files that are loaded at
specified location by ".BINF" files).
[+] BIN file can be loaded at any location
using ".bINF" file,
startup values for all registers are
also set by this file.
See "bintest.asm" in "Samples" for
more information.
[*] Actual source line is shown correctly
for boot sector files.
[+] "Create new floppy drive" menu is added
to "Virtual Drive" menu. You can add
up to 4 floppy drives:
FLOPPY_0, FLOPPY_1, FLOPPY_2, FLOPPY_3
[+] INT 11h returns the correct number of
floppy drives (total-1).
********************************************
Version 1.11
Wednesday, May 22, 2002
[+] New file type supported by emulator:
".PRE".
(replaced with ".BIN" in version 1.12)
[+] You can write a boot sector of
a virtual floppy (FLOPPY_0) via menu in
emulator.
First you should make a ".boot" file and
load it in emulator (see "micro-os.asm"
in "Samples" for more info).
Then, if you are curious, you may write
the virtual floppy to real floppy and
boot your computer from it, I recommend
using "RawWrite for Windows" from:
http://uranus.it.swin.edu.au/~jn/linux
(note that "micro-os.asm" isn't MS-DOS
compatible boot sector, so it's better
to use and empty floppy, it should be
IBM/MS-DOS formatted).
[*] Major bugs with accessing far memory
is fixed (I hope, since I need to do
more tests).
[+] Mouse cursor is updated for URL and
e-mail on about form (eye & candy).
[+] Regular menu is added to emulator
form, previously these options were
available from right-click on "Load"
button, and memory list.
********************************************
Version 1.10
Sunday, May 19, 2002
[*] Major bugs are fixed for instructions:
CMPSB, CMPSW, SCASB, SCASW
(zero flag was checked before operation
instead of after when prefix is used).
[*] Minor bug fixed: cursor is not advanced
after INT 10h / AH=09h and
INT 10h / AH=0Ah even if CX isn't 1.
[*] Effective address 8 bit displacement
was always treated as positive.
[+] Virtual floppy drive is added:
FLOPPY_0
(it is blank, but I was able to make
an image from DOS 6.22 bootable floppy
currently it boots until
"Starting MS-DOS..." message - and it
takes several minutes :) - much to
investigate!).
[+] Interrupt 1Eh points to Vector of
Diskette Controller Parameters.
[+] More interrupts are supported:
INT 12h - get memory size
(returns: AX = kilobytes of contiguous
memory starting at absolute
address 00000h, this call returns
the contents of the word
at 0040h:0013h).
INT 13h / AH = 00h - reset disk system.
INT 13h / AH = 02h - read disk sectors
into memory.
INT 16h / AH = 00h - get keystroke from
keyboard (no echo).
[+] It's possible to set selected
memory value from Number Convertor by
right clicking the memory list,
(first left click to select the
address).
[+] Stack memory can be viewed in a
separate window.
[+] Segmented values can be used when
getting memory list and disassembled
code (example: 0B56:0100).
[*] Minor screen bug is fixed,
(last cursor location was lost
when screen form was closed).
********************************************
Version 1.09
Thursday, May 16, 2002
[*] Minor bug fixed: internal CPU flag for
REP/REPE prefix was not reset after
some string operations.
[+] More interrupts are supported:
INT 10h / AH=02h - set cursor position.
INT 10h / AH=03h - get cursor position.
INT 10h / AH=08h - read character and
attribute at cursor position.
INT 10h / AH=09h - write character and
attribute at cursor position.
INT 10h / AH=0Ah - write character only
at cursor position.
INT 10h / AH=0Eh - teletype output.
(note: currently emulator has no
support for character attributes or
cursor size, default white on black
color mode is used for all operations)
[+] Screen window is not activated after
any output operation, making it easier
to operate with emulator (buttons do
not stuck).
[+] A call to BIOS sub-system is
disassembled by "BIOS DI" (it doesn't
use DI register in any way, it's just
because of the way the encoding is
done: we are using "FF /7" for such
encoding, "FFFFCD10" is used to make
emulator to emulate interrupt number 10)
[+] INT 4 and INT 0 are defined and produce
the expected message, you can re-define
those for you own needs.
[+] Sample code that can be compiled and
emulated is moved to "Samples" folder.
********************************************
Version 1.08
Monday, May 13, 2002
[*] Major bug fixed: effective address
calculation "[DI] + d16" was calculated
with SI segment instead of DI.
[+] More instructions are now
supported by emulator:
LEA (for effective address)
XLAT
INT 3 (trap to debugger) - it is not
used by emulator, so you may
use for any purpose, you just
should set the address of
your sub-program in the interrupt
vector (at 3*4 = 0Ch).
INTO (currently also not defined).
********************************************
Version 1.07
Sunday, May 12, 2002
[+] Interrupt vector is added to emulator,
now I'm really approaching the real PC
emulation. BIOS ROM is loaded
at location F400:0000.
Both files can be modified by the user,
so you may alter the original version.
[+] More instructions are now
supported by emulator:
RETF
CALL (full support)
IRET
LOOPE / LOOPZ
LOOPNE / LOOPNZ
STOSB
STOSW
SCASB
SCASW
CMPSB
CMPSW
LES
LDS
[+] ".BIN" files are loaded at 07C0h:0000
(just like a boot sector).
[+] Disassembler is improved:
(automatic re-disassemble after JMP,
CALL, RET instructions).
[+] Horizontal scroll bar added to
disassembled list.
[*] Memory list update fixed.
********************************************
Version 1.06
Saturday, May 04, 2002
[+] More instructions are now
supported by emulator:
SHL
SAL
ROL
RCL
SHR
SAR
ROR
RCR
SAHF
LAHF
ADC
SBB
[+] You can double click a memory value
to open Number Convertor.
[*] Bug with current byte selection in list
when starting address not zero,
is fixed.
[+] Disassembler is improved (commands are
shown before they are executed).
********************************************
Version 1.05
Monday, April 22, 2002
[+] Support for command line parameters
(currently only for COM files).
Right click "Load" button in emulator
to set them. This line is loaded at
the address of 80h at PSP.
[*] Temporary files are saved into EMU_TEMP
folder. This way we avoid accidental
overwriting of executable files.
Thanks to Starman.
[+] Every time you compile your file,
a backup file with ".~asm" extension is
saved, along with ".debug" file that
contains information required for
emulator to select lines in your source
code while executing.
When not specified "MyBuild" directory
is used.
[+] Number Convertor is added, with its
help you can convert binary numbers to
hexadecimal, octal to decimal, or see
an ASCII characters and vice versa...
Double click a register value in
emulator to load its value to
calculator, or click "Calculator" in
the main menu of source editor.
[+] More instructions are now
supported by emulator:
JCXZ
CMC
STC
CLC
CLD
STD
CLI
STI
CBW
CWD
INC (full support)
DEC (full support)
XCHG
JMP (full support)
********************************************
Version 1.04
Friday, April 19, 2002
[+] The command that is going to be
executed next is selected in actual
source window (previously command
was shown only after it is executed).
[+] Corresponding line is selected when
clicking on error message.
[+] Support for ".BIN" files added, the only
difference from ".COM" files that they
are not loaded at 100H prefix, and thus
do not require "ORG 100H" line in the
beginning of the file.
[*] "MOV AL, -5" caused a critical
compilation error.
[+] When showing registers prefix zeros are
added.
[+] More instructions are now
supported by emulator:
DIV
IDIV
IMUL
MUL
NEG
NOT
TEST (now full support)
[*] Overflow is reported correctly
on compile.
********************************************
Version 1.03
Sunday, March 31, 2002
[+] More instructions are now
supported by emulator:
PUSH CS
PUSH DS
PUSH ES
PUSH SS
POP DS
POP ES
POP SS
PUSHF
POPF
[+] Hourglass mouse pointer is shown
while loading files in emulator.
[+] Emulator shows decimal and char
representation of memory (previously
it was hexadecimal only).
[*] Bug with INT 21h, AH=0Ah (line input)
is fixed, last new line char was
added one byte after required
position.
[+] INT 21h/AH=01h is supported,
write character to standard output,
with echo, result is stored in AL.
[+] INT 21h/AH=02h is supported,
read character from standard input,
DL = character to write,
after execution AL = DL.
[*] TAB key is works again when
typed in editor.
********************************************
Version 1.02
Saturday, March 30, 2002
[*] COM files are loaded at 100h prefix!
(as they really should).
[*] A few other bugs fixed.
[+] INT 20 added (exit to OS), the same
as INT 21, AH=4Ch.
[+] INT 21h, AH=0Ah is now supported,
(string input, fist byte is buffer
size, second byte is number of chars
actually read).
[+] Disassembler uses HEX for numbers.
[*] INCLUDE directive looks for files in
the same folder where the source is
(in case full path is not specified),
and there is a regular error message
when file not found.
[+] Emulator window is now re-sizeable.
********************************************
Version 1.01
Tuesday, March 26, 2002
[+] Support for COM files added.
********************************************
Version 1.00
Wednesday, February 13, 2002
[+] The very first release!
********************************************
-----------------------
Emu8086, Inc. 2002-2003
http://www.emu8086.com
-----------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -