5/25/2009

[VM/UPD7220] fix initial vect params
[VM/Z80CTC] support different sysclock from cpu clock

[MYCOMZ80A] build without optimization for wince port
[MZ5500] set correct z80ctc sysclock
[QC10/DISPLAY] fix access violation problem


5/20/2009

[VM/MSM5832] fix build error

[MYCOMZ80A] support Japan Electronics College MYCOMZ-80A (my 30th emulator!)
[FMR50/CMOS] add experimental codes for FMR-CARD
[FMR50/MEMORY] add experimental codes for FMR-CARD


5/17/2009

[VM/I386] support 80386
[VM/LS393] refine implements of output signal
[VM/MSM5832] support MSM5832
[VM/SN76489AN] support cs/we/data signal to be controlled without i/o bus
[VM/Z80CTC] refine implements of output signal

[MZ5500] fix ay-3-8912 address
[MZ6500] support SHARP MZ-6500
[FMR50/MEMORY] support address mask 20/24/32bit
[PC8201/KEYBOARD] support kana key (thanks Mr.apaslothy)
[X1TWIN/SUB] fix key matrix


4/9/2009

[COMMON] modify definition of uint64 and int64
[VM/DEVICE] support 32bit i/o bus
[VM/IO] support 32bit i/o bus

[PC8201] support PC-8201A (by Mr.apaslothy)
[PC8201/LCD] support command $3a,$3b,$3e,$3f,$7e,$be and $fe (by Mr.apaslothy)


4/5/2009

[COMMON] define pair struct
[VM/I8155] fix build error
[VM/UPD1990A] fix shift register

[PC98LT] fix signal connection from upd1990a to i8255
[X1TWIN] fix key matrix
[PC8201] support NEC PC-8201


4/1/2009

[COMMON] define uint64 and int64
[EMU/WIN32] support 1024x768 and 1280x1024 full-screen mode
[VM/DEVICE] support 32bit memory bus
[VM/DISK] detect disk is changed
[VM/EVENT] remove hsync event
[VM/EVENT] initialize sound buffer before reset
[VM/EVENT] multi instance free
[VM/HD46505] support vblank signal
[VM/HD63484] support HD63484 (based on MAME HD63484 core)
[VM/HUC6260] support HuC6260 (based on Ootake cpu core)
[VM/I8155] add mask bit for output signal
[VM/I8253] add mask bit for output signal
[VM/I86] fix to refer 16bit i/o bus
[VM/UPD1990A] support TP signal
[VM/YM2151] support YM2151 (use fmgen core by Mr.CISC)

[MULTI8/DISPLAY] check R8:DISPTMG on HD46505
[MZ2500/JOYSTICK] fix full-auto timing
[MZ2800/JOYSTICK] fix full-auto timing
[PASOPIA/DISPLAY] check R8:DISPTMG on HD46505
[PASOPIA7/DISPLAY] check R8:DISPTMG on HD46505
[FMR60] support FUJITSU FMR-60
[X1TWIN] support SHARP X1twin


2/8/2009

[EMU/WIN32] support window minimize button

[FMR30/MEMORY] optimize memory bank switch
[FRM50/BIOS] fix disk bios $fa
[FMR50/BIOS] support memcard
[FRM50/BIOS] support power management bios
[FMR50/FLOPPY] fix disk status register
[FMR50/KEYBOARD] fix kbint register
[FMR50/MEMORY] support line/logical operations circuit
[FMR50/MEMORY] support 40chars/20lines text screen mode
[FMR50/MEMORY] refer cursor end line register on hd46505
[FMR50/TIMER] fix timer interrupt cause register


1/16/2009

[EMU/WIN32] change screen buffer type from uint16 to user-defined type
[EMU/WIN32] change screen buffer depth from RGB555 to RGB888 on windows pc
[VM/I8155] support i8155

[FMR50/MEMORY] optimize memory bank switch

*) change the compiler from vs2005 to vs2008


1/2/2009

[EMU/WIN32] support power off requested by vm
[VM/I8237] support external bank register
[VM/I8251] support txrdy/txempty/dsr/dtr signals
[VM/I8251] support loop back
[VM/I8251] don't reset dsr bit of status register
[VM/I8253] don't latch count before previously latched count is not read
[VM/I8254] support i8254 based on i8253
[VM/I86] fix push sp in 8086 mode
[VM/I86] fix a20 line in fetch functions
[VM/IO] change class name from IO8 to IO
[VM/IO] support 16bit i/o bus

[FMR30] support FUJITSU FMR-30
[FMR50/MEMORY] support power off bit on $20


12/26/2008

[EMU/WIN32] support kana-characters on auto key function
[VM/DISK] support ImageDisk floppy disk image
[VM/I8085] support 8080/8085 (based on MAME 8080/8085 core)
[VM/I86] change class name from X86 to I86

[MULTI8/KEYBOARD] fix the problem that cannot input the kana-character ""
[TK80] change cpu core from z80 to 8080
[TK80/MEMORY] change user-defined rom address to $0c00-$7dff


10/17/2008

[EMU/WIN32] fix key notification for caps/kana/kanji
[VM/X86] optimize the pseudo bios call by interrupt

[FMR50/BIOS] support scsi hard drive
[FMR50/BIOS] support pseudo bios
[FMR50/BIOS] support disk bios $FA
[FMR50/BIOS] support cmos/wait bios call
[FMR50/FLOPPY] support disk change register
[FMR50/KEYBOARD] support key repeat
[FMR50/MEMORY] fix vram bank switch in 200line screen mode
[FMR50/MEMORY] support reading ank/kanji rom
[HC40/IO] fix caps toggle problem
[HC80/IO] fix caps toggle problem
[PC98HA/KEYBOARD] fix kana toggle problem
[TK80/DISPLAY] change 8-seg LED color
[TK80/KEYBOARD] change key assign
[TK80/MEMORY] change rom size for COMPO BS/80
[TK80/MEMORY] support user-defined rom for $0800-$7dff


10/11/2008

[FM16PI] add FUJITSU FM-16pi skelton (not work)
[FMR50] fix i/o address of pit and crtc
[FRM50/MEMORY] fix busy status of line renderer
[FMR50/MEMORY] draw cursor on text screen
[FMR50/MEMORY] support cg screen


10/10/2008

[FMR50/BIOS] support disk bios
[FMR50/KEYBOARD] support keyboard
[MZ700/MEMORY] change EMM memory size for Windows CE


10/6/2008

[EMU/WIN32] fix the problem when new file path is specified
[EMU/WIN32] support 96khz sound

[VM/DATAREC] support trigger signal
[VM/DATAREC] output remote signal
[VM/I8253] fix mode3 output signal
[VM/PCM1BIT] support LPF
[VM/UPD765A] fix AT bit in the result of seek command
[VM/X86] support pseudo bios call

[MZ700] support mzt/m12 file
[MZ700] support datarec control signals
[MZ700] fix vsync/hsnyc timing
[MZ700/MEMORY] support memory wait
[TK80BS] support circuits on TK-80 main board
[TK80BS] support 2ch sound (PC1 and PC2 of 8255)
[TK80BS/MEMORY] support save/load ram image
[TK80BS/MEMORY] fix interrupt address
[TK80BS/KEYBOARD] fix key map for kana chars


8/27/2008

[EMU/WIN32] fix build problem for Windows CE

[VM/I8255] support mode1
[VM/I8259] clear irr bit if the request signal is changed to low level
[VM/UPD1990A] support i/o coonection interface
[VM/X86] fix interrup status
[VM/X86] fix pop es on 80286

[MZ700] fix vsync/hsnyc timing
[MZ700/MEMORY] support 16MB EMM board
[PC98HA] support PC-98LT
[TK80BS] support TK-80BS (COMPO BS/80)


8/19/2008

[VM/UPD765A] fix the problem that data lost occurs after the result phase
[VM/UPD765A] fix CB bit in the status register in sence intstat command
[VM/UPD765A] fix AT bit in the result of seek command

[PC100/CTRC] support monochrome screen mode
[PC100/CRTC] fix palette registers
[PC100/IOCTRL] fix keyboard event
[PC100/IOCTRL] support keyboard reset
[PC100/IOCTRL] fix keyboard initialize data


8/16/2008

[EMU/WIN32] support rotate screen
[EMU/WIN32] fix build problem for Windows CE

[VM/BEEP] more clear beep generation for the constant frequency
[VM/BEEP] fix mute logic
[VM/DEVICE] return address for unassigned I/O port
[VM/EVENT] fix crash problem in the initialization
[VM/I8251] fix PE bit in the status register
[VM/I8253] check edge of the input signal
[VM/I8253] fix gate signal
[VM/RTC58321] support i/o coonection interface
[VM/UPD4991A] modify i/o connection interface
[VM/UPD4991A] fix year data
[VM/UPD765A] support drq line delay

[PC98HA] support NEC PC-98HA
[PC100] support NEC PC-100 (not work)
[PC3200] add SHARP PC-3200 skelton (not work)
[MZ700] fix sound noise problem
[MZ700/MEMORY] support EMM memory
[MZ2500/TIMER] modify 8253 gate control


6/11/2008

[EMU/WIN32] open command line as cart or disk file path
[EMU/WIN32] convert file path to full and long file path

[VM/AND/OR/NAND/NOR] support and/or/nand/nor gates
[VM/DATAREC] output low signal when the tape is closed
[VM/MB8876] support motor on/off signal
[VM/PCM1BIT] support on/off signal
[VM/PCM1BIT] support high quality sound
[VM/RTC58321] support RTC58321
[VM/UPD4991A] support uPD4991A
[VM/UPD765A] fdc status patch for MZ-3500
[VM/X86] fix freeze problem that some opecodes did not decrease the clock
[VM/Z80] return busack signal whe busreq occurs

[FMR50] support FUJITSU FMR-50 (not work)
[MZ700] support SHARP MZ-700
[MZ3500] support SHARP MZ-3500 (not work)
[HC80/IO] support intelligent ram disk (by Mr.Dennis Heynlein)


4/22/2008

[VM/LS244] support 74LS244/245
[VM/UPD1990A] support uPD1990A
[VM/X86] fix hlt
[VM/X86] support busreq
[VM/Z80] don't reset busreq in reset()

[MZ5500/KEYBOARD] support communication timeout


4/16/2008

[VM/UPD7220] support pitch command
[VM/UPD7220] fix vecte command in the case R=C=T=L=0 (pset)
[VM/UPD765A] fix read id command

[MZ5500/DISPLAY] support window controller
[MZ5500/DISPLAY] support 320x200, 320x400, 640x200 mode
[MZ5500/DISPLAY] support color palette
[MZ5500/DISPLAY] support b/w mode
[MZ5500/DISPLAY] support plane priority
[MZ5500/KEYBOARD] support algo key
[MZ5500/SYSPORT] support nmi reset
[QC10/DISPLAY] support floppy drive access lamp


4/14/2008

[MZ5500/KEYBOARD] support keyboard and mouse


4/12/2008

[VM/LS393] support 74LS393
[VM/RP5C01] support RP-5C01
[VM/UPD7220] fix pset function
[VM/UPD7220] notify vsync
[VM/UPD765A] check sector id strictly

[MZ5500] support SHARP MZ-5500


4/7/2008

[EMU/WIN32] support the screen size changing requested by the virtual machine

[VM/MZ2800] support z80sio interrupt vector port


4/3/2008

[VM/I8259] fix the cascade mode condition
[VM/UPD7220] fix low/high byte condition in dma commands
[VM/UPD7220] check the param count in fifo buffer in sync/vectw commands
[VM/UPD7220] get mod param in write command with no params
[VM/UPD7220] check mod param in vect/char drawing commands
[VM/UPD7220] check dir param in read/write command
[VM/UPD7220] support line drawing in vecte command
[VM/UPD7220] update ead/dad after drawing commands
[VM/UPD7220] fix lsb/msb order in pset function

[QC10] change the default dipswitch status
[QC10/DISPLAY] support color monitor subboard
[QC10/KEYBOARD] support SF1-SF4 keys
[QC10/MFONT] support multifonts rom card


3/22/2008

[VM/I8251] notify rxrdy is changed
[VM/TF20] fix the error result of read command

[HC80/IO] support HD6303 commands for microcassette (returns error code)
[HC80/IO] support HD6303 commands for serial i/o
[HC80/IO] support TF-20
[HC80/IO] support 8kb/16kb rom capsule
[HC80/IO] remove 8251 codes and use common 8251 class


3/20/2008

[EMU/WIN32] set DirectX9 graphics params on the screen menu

[HC40/IO] fix key buffers
[HC80] support EPSON HC-80/PX-8/Geneva


3/2/2008

[EMU/WIN32] support DirectX9 graphics
[EMU/WIN32] fix the window size problem of eHC-40


2/29/2008

[EMU/WIN32] more quick stretch screen
[EMU/CONFIG] divide the config version to the file version and the virtual machine version
[VM/TF20] support EPSON TF-20 terminal floppy drives

[HC40/IO] don't reset 7508 sub cpu when boot the system
[HC40/IO] support system reset
[HC40/IO] support buzzer partially (constant frequency)
[HC40/IO] support ART (8251 subset)
[HC40/IO] support TF-20 connected to ART


2/27/2008

[EMU/WIN32] Windows CE.NET binaries for GAPI are no longer supported
[EMU/WIN32] don't use StretchBlt

[HC40] support EPSON HC-40/PX-4
[QC10/MEMORY] fix the gate signal bit in $18
[QC10/MEMORY] fix the memory bank switch
[X07/IO] change LCD display color


2/20/2008

VC++ 6.0 project files are removed.

[VM/HD146818P] support sqw and periodic interrupt
[VM/HD146818P] clear IRQF/PF/AF/UF in the reg $0c when it is read
[VM/I8237] fix the build error
[VM/I8237] reimplement based on uPD71071
[VM/UPD7220] fix the build error
[VM/UPD7220] modify hblank/vsync event
[VM/UPD765A] lost data event occurs soon if dma request is not accepted
[VM/Z80SIO] change uPD7201 fifo buffer size

[QC10] support EPSON QC-10/QX-10
[RX78/VDP] fix the crash problem on Windows CE


2/11/2008

The interrupt logics are largely modified and are now very close to the real circuits.

In the older versions:
	- Each device requests the interrupt, sends the vector and goes into the in-service status only in the case that CPU can accept the interrupt.
	- These requests are always accepted and executed just now.
	- When the interrupt acception status is changed by the opecodes for example EI/RETI/RETN, CPU notifies to each devices to let them request the pending interrupt.
	- Realize Z80 family daisy chain by the pseudo device Z80PIC to control the priorities and receive RETI opecode.

This is because let CPU not to monitor the int-line in every opecodes.
But it causes some problems for example:
	- Timing problems.
	- End of Interrupt command in Z80SIO/uPD7201.
	- Using Z80 family devices with 80x86 and PIC8259.

In this release:
	- Each device can request the interrupt any time.
	- CPU checks the int-line in every opecodes.
	- When CPU accepts the request, CPU sends the ack signal to the device and receive the vector.
	- The device goes into the in-service status when receive the ack signal.
	- Realize Z80 family daisy chain by IEI/OEI signals supported in Z80 family devices.
	- Z80 checks the wired-or of int-lines from Z80 family devices.

[VM/DEVICE] modify virtual functions for interrupts
[VM/I8259] support the new interrupt logic
[VM/I8259] fix the crash problem
[VM/UPD7201] support uPD7201 (combined to Z80SIO class)
[VM/X86] support the new interrupt logic
[VM/Z80] support the new interrupt logic
[VM/Z80CTC] support the new interrupt logic
[VM/Z80PIO] support the new interrupt logic
[VM/Z80SIO] support the new interrupt logic
[VM/Z80SIO] support the End of Interrupt command
[VM/Z80SIO] fix the status register #0 (interrupt pending bit)
[VM/Z80SIO] fix the status register #2 (vector)
[VM/Z80PIC] removed

[MZ2500/CRTC] notify vsync signal by not edge but level
[MZ2500/INTERRUPT] support the new interrupt logic
[MZ2500/INTERRUPT] pending the interrupt request from vsync and timer
[MZ2500/INTERRUPT] remove the patches added in 2/11/2007


1/5/2008

[VM/BEEP] fix the crash problem when the frequency is constant
[VM/BEEP] support the interface to change the frequency constant

[X07/IO] support user defined keys
[X07/IO] support break key
[X07/IO] support line/circle commands
[X07/IO] support beep command
[X07/IO] support data recorder


12/31/2007

[VM/FIFO] support read_not_remove()
[VM/NSC800] fix NSC800

[X07] support CANON X-07


9/14/2007

[MZ2800/CRTC] fix read-modify-write registers


8/24/2007

[EMU/WIN32] check the status of both left and right ALT/CTRL/SHIFT keys

[MZ2800] ignore A15 of I/O port addr
[MZ2800/CTRL] support 65536colors graphic screen
[MZ2800/KEYBOARD] change keymap to newply support some keys
[MZ2800/MEMORY] fix the problem that symbol does not work on BASIC-M25


8/22/2007

[VM/RP5C15] fix the initial 12H/24H setting

[MZ2500/CRTC] optimize the screen renderer
[MZ2800/CRTC] support the 16/4096colors graphic screen
[MZ2800/CRTC] support the read modify write
[MZ2800/CRTC] support the hardware scroll
[MZ2800/CRTC] support the vram plane mask
[MZ2800/MEMORY] support the dictionary/kanji/pcg bank switch


8/19/2007

[VM/MB8877] fix the status for type4 command
[VM/UPD71071] support the base registers
[VM/X86] fix rep never to exit and re-fetch the opecode in the loop
[VM/X86] fix the modrm table

[MZ2800] add eVC4 project file
[MZ2800/CRTC] fix the test screen renderer
[MZ2800/CRTC] support 4096 color palette registers
[MZ2800/MEMORY] fix that ipl rom is initially mapped to $f0000-$fffff


8/16/2007

[VM/DEVICE] add the virtual functions for dma access
[VM/I8237] fix the typo
[VM/I8259] support the special fully nest mode
[VM/I8259] support the rotation of priorities
[VM/I8259] support the intrrupt request from Z80 family devices
[VM/IO8] support 16bit i/o adrress
[VM/MB8877] support the dma access
[VM/MB8877] support the irq and drq signals
[VM/RP5C15] support reading the values of banks #13/#14/#15
[VM/UPD71071] support uPD71071
[VM/X86] support 8086/V30/80286
[VM/YM2203] support the irq signal

[MZ2500] fix YM2203 PortB signal from RP-5C15
[MZ2800] support SHARP MZ-2800


7/23/2007

[VM/DATAREC] modify the frame skip condition (skip when the signal is changed)
[VM/TMS9918A] reimplement based on MAME 0.116
[VM/UPD7801] support the memory access wait

[PYUTA/MEMORY] modify the memory bank switch
[PYUTA/MEMORY] change the data bus from pull-down to pull-up
[SCV/MEMORY] support the memory access wait (now disabled)


7/16/2007

[VM/TMS9995] support TMS9995

[PYUTA] support TOMY PyuTa and PyuTa Jr.


2/11/2007

[COMMON] support auto key hitting from the clipboard
[COMMON] save and restore the window mode when the emulator is restarted
[VM/DEVICE] modify memory access wait
[VM/DEVICE] support i/o access wait
[VM/DISK] fix the crash problem when the invalid track number is set
[VM/HD46505] support HD46505
[VM/HD46505] fix the display/vsync/hsync signals timing
[VM/I8253] more precise signal timing in mode #2, #4 and #5
[VM/MB8877] support the access led status
[VM/PICM1BIT] support 1bit pcm
[VM/UPD765A] support the acces led status
[VM/YM2203] support the volume adjustment
[VM/Z80] modify memory access wait
[VM//Z80] support i/o access wait
[VM/Z80SIO] fix the recv and under-run interrupt flags
[VM/Z80SIO] fix the status affect vector
[VM/Z80SIO] cancel the interrupt request when read the recv buffer
[VM/Z80SIO] support the i/f to clear the recv buffer

[MULTI8/DISPLAY] remove HD46505 codes
[MULTI8/DISPLAY] draw the flopppy drive access led
[MZ2500] support 1bit pcm
[MZ2500] adjust fm/psg volume
[MZ2500] support i/o access wait
[MZ2500/CRTC] render screen with less cpu power
[MZ2500/CRTC] draw the floppy drive access led
[MZ2500/INTERRUPT] reimplement interrupt handler with the common Z80PIC class
[MZ2500/INTERRUPT] add the patch for GALAGA, LAYDOCK, THEXDER, MULTIPLAN, Super Shunbou, Wizardry and Ys3
[MZ2500/MEMORY] modify memory access wait
[MZ2500/MOUSE] clear Z80SIO recv buffer when send the mouse status
[PASOPIA] support OA-BASIC
[PASOPIA] support hsync signal
[PASOPIA/DISPLAY] remove HD46505 codes
[PASOPIA/MEMORY] fix the memory map $8000-$ffff
[PASOPIA7/DISPLAY] remove HD46505 codes
[PASOPIA7/DISPLAY] draw the flopppy drive access led
[PV1000] rewrite with the common event manager class
[PV1000/JOYSTICK] fix $fc status (not complete)
[PV1000/VDP] add the patch for SPACE PANIC


2/1/2007

[COMMON] ignore some warnings on Visual Studio 2005
[WIN32/SCREEN] support video recording
[WIN32/SOUND] record wave as 16bit, stereo (for TMPGEnc)
[WIN32/SOUND] dont use multi threading to recieve MM_WOM_DONE event
[WIN32/WCE] build 4 binaries (use GAPI or GDI, DirectSound or waveOut)
[VM/BEEP] modify beep sound generator for more stable frequency
[VM/DATAREC] auto stop at the end of tape image
[VM/DEVICE] add virtual functions to get the memory wait and passed clocks in cpu class
[VM/EVENT] more precise event timing refering the passed clock in cpu class
[VM/I8253] drive counter when it reaches the terminal count or read the count registers
[VM/I8253] more precise output signal timing
[VM/NSC800] suppor NSC800
[VM/Z80] fix the clocks for opecodes DD-CB-** and FD-CB-**
[VM/Z80CTC] drive counter when it reaches the terminal count or read the count registers
[VM/Z80PIC] accept the interrupt request when it is running

[MULTI8/HD46505] dont use hsync event and use the event callback to drive the hsync signal 
[MZ2500/CRTC] dont use hsync event and use the event callback to drive the hsync signal 
[MZ2500/MEMORY] support the memory wait in display period
[MZ2500/Z80PIC] accept the interrupt request when it is running 
[MZ2500/Z80PIC] recognize the i8253 clock signal as level, or edge only for MUDER CLUB, KUGYOKUDEN and RELICS 
[PASOPIA] reimplement EmuPIA under the common source code project 
[PASOPIA7/HD46505] dont use hsync event and use the event callback to drive the hsync signal 


12/31/2006

[WIN32] support DirectShow video capture devices (DX8 or later is required)
[WIN32] support Windows CE.net 4.x devices (use GAPI and waveOut APIs)
[VM] each device can get the cpu time
[VM/BEEP] modify beep sound generator for more stable frequency
[VM/Z80] support BUSREQ
[VM/Z80PIC] call do_reti() in the device that requested the interrupt
[VM/Z80SIO] suppor Z80SIO
[VM/DISK] support TeleDisk floppy disk image
[VM/EVENT] fix the problem in the case that the new event is registered in the event callback routine
[VM/I8253] drive the counter more accurate and less power

[MZ2500] reimplement EmuZ-2500 under the common source code project
[MZ2500] support the ethernet card function designed by Mr.Oh!Ishi
[MZ2500/CRTC] support the super impose function
[MZ2500/MEMORY] support VRAM access wait 


12/7/2006

Initial release
