OSDN Git Service

[General] Merge Updtream 2017-03-15 . Still not build all of VMs.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 17 Mar 2017 05:49:57 +0000 (14:49 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Fri, 17 Mar 2017 05:49:57 +0000 (14:49 +0900)
436 files changed:
source/history.txt
source/readme.txt
source/src/emu.cpp
source/src/emu.h
source/src/qt/CMakeLists.txt
source/src/qt/common/emu_thread.cpp
source/src/qt/common/menu_flags.cpp
source/src/qt/gui/CMakeLists.txt
source/src/qt/gui/menu_flags.h
source/src/qt/gui/menu_flags_tmpl.cpp
source/src/res/babbage2nd.rc
source/src/res/ex80.rc
source/src/res/fm16pi.rc
source/src/res/fm7.rc
source/src/res/fm77.rc
source/src/res/fm77av.rc
source/src/res/fm77av40.rc
source/src/res/fm77av40ex.rc
source/src/res/fm8.rc
source/src/res/fmr30.rc
source/src/res/fmr50_i286.rc
source/src/res/fmr50_i386.rc
source/src/res/fmr50_i486.rc
source/src/res/fmr60.rc
source/src/res/fmr70.rc
source/src/res/fmr80.rc
source/src/res/fp1100.rc
source/src/res/gamegear.rc
source/src/res/hc20.rc
source/src/res/hc40.rc
source/src/res/hc80.rc
source/src/res/hx20.rc
source/src/res/icon.txt
source/src/res/indicator/access_off.bmp [new file with mode: 0644]
source/src/res/indicator/access_on.bmp [new file with mode: 0644]
source/src/res/j3100.rc
source/src/res/jr800.rc [new file with mode: 0644]
source/src/res/jx.rc
source/src/res/msx1.rc
source/src/res/msx2.rc
source/src/res/msx2p.rc
source/src/res/multi8.rc
source/src/res/mz1200.rc
source/src/res/mz1500.rc
source/src/res/mz2200.rc
source/src/res/mz2500.rc
source/src/res/mz2800.rc
source/src/res/mz3500.rc
source/src/res/mz5500.rc
source/src/res/mz6500.rc
source/src/res/mz6550.rc
source/src/res/mz800.rc
source/src/res/mz80a.rc
source/src/res/mz80b.rc
source/src/res/mz80k.rc
source/src/res/n5200.rc
source/src/res/pasopia.rc
source/src/res/pasopia7.rc
source/src/res/pasopia7lcd.rc
source/src/res/pc100.rc
source/src/res/pc6001.rc
source/src/res/pc6001mk2.rc
source/src/res/pc6001mk2sr.rc
source/src/res/pc6601.rc
source/src/res/pc6601sr.rc
source/src/res/pc8001mk2sr.rc
source/src/res/pc8801ma.rc
source/src/res/pc9801.rc
source/src/res/pc9801e.rc
source/src/res/pc9801u.rc
source/src/res/pc9801vf.rc
source/src/res/pc9801vm.rc
source/src/res/pc98do.rc
source/src/res/pc98ha.rc
source/src/res/pc98lt.rc
source/src/res/pcengine.rc
source/src/res/px7.rc
source/src/res/qc10.rc
source/src/res/qc10cms.rc
source/src/res/resource.h
source/src/res/sc3000.rc
source/src/res/smb80te.rc
source/src/res/smc70.rc
source/src/res/smc777.rc
source/src/res/tk80bs.rc
source/src/res/tk85.rc
source/src/res/x1.rc
source/src/res/x1turbo.rc
source/src/res/x1turboz.rc
source/src/res/x1twin.rc
source/src/res/ys6464a.rc
source/src/vm/bmjr/bmjr.cpp
source/src/vm/bmjr/bmjr.h
source/src/vm/datarec.cpp
source/src/vm/datarec.h
source/src/vm/familybasic/familybasic.cpp
source/src/vm/familybasic/familybasic.h
source/src/vm/fm16pi/fm16pi.cpp
source/src/vm/fm16pi/fm16pi.h
source/src/vm/fm7/fm7.cpp
source/src/vm/fm7/fm7.h
source/src/vm/fmr30/fmr30.cpp
source/src/vm/fmr30/fmr30.h
source/src/vm/fmr50/bios.cpp
source/src/vm/fmr50/bios.h
source/src/vm/fmr50/fmr50.cpp
source/src/vm/fmr50/fmr50.h
source/src/vm/fmtowns/fmtowns.cpp
source/src/vm/fmtowns/fmtowns.h
source/src/vm/fp1100/fp1100.cpp
source/src/vm/fp1100/fp1100.h
source/src/vm/fp200/fp200.cpp
source/src/vm/fp200/fp200.h
source/src/vm/gamegear/gamegear.cpp
source/src/vm/gamegear/gamegear.h
source/src/vm/gamegear/mastersystem.cpp
source/src/vm/gamegear/mastersystem.h
source/src/vm/hc20/hc20.cpp
source/src/vm/hc20/hc20.h
source/src/vm/hc40/hc40.cpp
source/src/vm/hc40/hc40.h
source/src/vm/hc80/hc80.cpp
source/src/vm/hc80/hc80.h
source/src/vm/hd44102.cpp
source/src/vm/hd44102.h
source/src/vm/j3100/j3100.cpp
source/src/vm/j3100/j3100.h
source/src/vm/jr100/jr100.cpp
source/src/vm/jr100/jr100.h
source/src/vm/jr800/io.cpp [new file with mode: 0644]
source/src/vm/jr800/io.h [new file with mode: 0644]
source/src/vm/jr800/jr800.cpp [new file with mode: 0644]
source/src/vm/jr800/jr800.h [new file with mode: 0644]
source/src/vm/jx/jx.cpp
source/src/vm/jx/jx.h
source/src/vm/ld700.cpp
source/src/vm/ld700.h
source/src/vm/m5/m5.cpp
source/src/vm/m5/m5.h
source/src/vm/mc6800.cpp
source/src/vm/msx/memory.cpp
source/src/vm/msx/memory.h
source/src/vm/msx/memory_ex.cpp
source/src/vm/msx/memory_ex.h
source/src/vm/msx/msx.cpp
source/src/vm/msx/msx.h
source/src/vm/msx/msx_ex.cpp
source/src/vm/msx/msx_ex.h
source/src/vm/multi8/multi8.cpp
source/src/vm/multi8/multi8.h
source/src/vm/mycomz80a/mycomz80a.cpp
source/src/vm/mycomz80a/mycomz80a.h
source/src/vm/mz2500/mz1e30.cpp
source/src/vm/mz2500/mz2500.cpp
source/src/vm/mz2500/mz2500.h
source/src/vm/mz2500/mz80b.cpp
source/src/vm/mz2500/mz80b.h
source/src/vm/mz2800/mz2800.cpp
source/src/vm/mz2800/mz2800.h
source/src/vm/mz3500/mz3500.cpp
source/src/vm/mz3500/mz3500.h
source/src/vm/mz5500/mz5500.cpp
source/src/vm/mz5500/mz5500.h
source/src/vm/mz700/mz700.cpp
source/src/vm/mz700/mz700.h
source/src/vm/mz80k/mz80k.cpp
source/src/vm/mz80k/mz80k.h
source/src/vm/n5200/n5200.cpp
source/src/vm/n5200/n5200.h
source/src/vm/pasopia/pasopia.cpp
source/src/vm/pasopia/pasopia.h
source/src/vm/pasopia7/pasopia7.cpp
source/src/vm/pasopia7/pasopia7.h
source/src/vm/pc100/pc100.cpp
source/src/vm/pc100/pc100.h
source/src/vm/pc2001/pc2001.cpp
source/src/vm/pc2001/pc2001.h
source/src/vm/pc6001/pc6001.cpp
source/src/vm/pc6001/pc6001.h
source/src/vm/pc8201/pc8201.cpp
source/src/vm/pc8201/pc8201.h
source/src/vm/pc8801/pc8801.cpp
source/src/vm/pc8801/pc8801.h
source/src/vm/pc9801/pc9801.cpp
source/src/vm/pc9801/pc9801.h
source/src/vm/pc98ha/pc98ha.cpp
source/src/vm/pc98ha/pc98ha.h
source/src/vm/pcengine/pcengine.cpp
source/src/vm/pcengine/pcengine.h
source/src/vm/phc20/phc20.cpp
source/src/vm/phc20/phc20.h
source/src/vm/phc25/phc25.cpp
source/src/vm/phc25/phc25.h
source/src/vm/pyuta/pyuta.cpp
source/src/vm/pyuta/pyuta.h
source/src/vm/qc10/qc10.cpp
source/src/vm/qc10/qc10.h
source/src/vm/rx78/rx78.cpp
source/src/vm/rx78/rx78.h
source/src/vm/sc3000/sc3000.cpp
source/src/vm/sc3000/sc3000.h
source/src/vm/scsi_cdrom.cpp
source/src/vm/scsi_dev.cpp
source/src/vm/scsi_dev.h
source/src/vm/scsi_hdd.cpp
source/src/vm/smb80te/smb80te.cpp
source/src/vm/smb80te/smb80te.h
source/src/vm/smc777/smc777.cpp
source/src/vm/smc777/smc777.h
source/src/vm/tk80bs/tk80bs.cpp
source/src/vm/tk80bs/tk80bs.h
source/src/vm/x1/x1.cpp
source/src/vm/x1/x1.h
source/src/vm/yalky/yalky.cpp
source/src/vm/yalky/yalky.h
source/src/win32/osd.h
source/src/win32/osd_screen.cpp
source/src/win32/winmain.cpp
source/vc++2008/build9.bat
source/vc++2008/fm16pi.vcproj
source/vc++2008/fm7.vcproj
source/vc++2008/fm77.vcproj
source/vc++2008/fm77av.vcproj
source/vc++2008/fm77av40.vcproj
source/vc++2008/fm77av40ex.vcproj
source/vc++2008/fm8.vcproj
source/vc++2008/fmr30_i286.vcproj
source/vc++2008/fmr30_i86.vcproj
source/vc++2008/fmr50_i286.vcproj
source/vc++2008/fmr50_i386.vcproj
source/vc++2008/fmr50_i486.vcproj
source/vc++2008/fmr60.vcproj
source/vc++2008/fmr70.vcproj
source/vc++2008/fmr80.vcproj
source/vc++2008/fp1100.vcproj
source/vc++2008/gamegear.vcproj
source/vc++2008/hc20.vcproj
source/vc++2008/hc40.vcproj
source/vc++2008/hc80.vcproj
source/vc++2008/hx20.vcproj
source/vc++2008/j3100gt.vcproj
source/vc++2008/j3100sl.vcproj
source/vc++2008/jr800.vcproj [new file with mode: 0644]
source/vc++2008/jx.vcproj
source/vc++2008/msx1.vcproj
source/vc++2008/msx2.vcproj
source/vc++2008/msx2p.vcproj
source/vc++2008/multi8.vcproj
source/vc++2008/mz1200.vcproj
source/vc++2008/mz1500.vcproj
source/vc++2008/mz2200.vcproj
source/vc++2008/mz2500.vcproj
source/vc++2008/mz2800.vcproj
source/vc++2008/mz3500.vcproj
source/vc++2008/mz5500.vcproj
source/vc++2008/mz6500.vcproj
source/vc++2008/mz6550.vcproj
source/vc++2008/mz800.vcproj
source/vc++2008/mz80a.vcproj
source/vc++2008/mz80b.vcproj
source/vc++2008/mz80k.vcproj
source/vc++2008/n5200.vcproj
source/vc++2008/pasopia.vcproj
source/vc++2008/pasopia7.vcproj
source/vc++2008/pasopia7lcd.vcproj
source/vc++2008/pc100.vcproj
source/vc++2008/pc6001.vcproj
source/vc++2008/pc6001mk2.vcproj
source/vc++2008/pc6001mk2sr.vcproj
source/vc++2008/pc6601.vcproj
source/vc++2008/pc6601sr.vcproj
source/vc++2008/pc8001mk2sr.vcproj
source/vc++2008/pc8801ma.vcproj
source/vc++2008/pc9801.vcproj
source/vc++2008/pc9801e.vcproj
source/vc++2008/pc9801u.vcproj
source/vc++2008/pc9801vf.vcproj
source/vc++2008/pc9801vm.vcproj
source/vc++2008/pc98do.vcproj
source/vc++2008/pc98ha.vcproj
source/vc++2008/pc98lt.vcproj
source/vc++2008/pcengine.vcproj
source/vc++2008/qc10.vcproj
source/vc++2008/qc10cms.vcproj
source/vc++2008/sc3000.vcproj
source/vc++2008/smc70.vcproj
source/vc++2008/smc777.vcproj
source/vc++2008/x1.vcproj
source/vc++2008/x1turbo.vcproj
source/vc++2008/x1turboz.vcproj
source/vc++2008/x1twin.vcproj
source/vc++2013/build12.bat
source/vc++2013/fm16pi.vcxproj
source/vc++2013/fm16pi.vcxproj.filters
source/vc++2013/fm7.vcxproj
source/vc++2013/fm7.vcxproj.filters
source/vc++2013/fm77.vcxproj
source/vc++2013/fm77.vcxproj.filters
source/vc++2013/fm77av.vcxproj
source/vc++2013/fm77av.vcxproj.filters
source/vc++2013/fm77av40.vcxproj
source/vc++2013/fm77av40.vcxproj.filters
source/vc++2013/fm77av40ex.vcxproj
source/vc++2013/fm77av40ex.vcxproj.filters
source/vc++2013/fm8.vcxproj
source/vc++2013/fm8.vcxproj.filters
source/vc++2013/fmr30_i286.vcxproj
source/vc++2013/fmr30_i286.vcxproj.filters
source/vc++2013/fmr30_i86.vcxproj
source/vc++2013/fmr30_i86.vcxproj.filters
source/vc++2013/fmr50_i286.vcxproj
source/vc++2013/fmr50_i286.vcxproj.filters
source/vc++2013/fmr50_i386.vcxproj
source/vc++2013/fmr50_i386.vcxproj.filters
source/vc++2013/fmr50_i486.vcxproj
source/vc++2013/fmr50_i486.vcxproj.filters
source/vc++2013/fmr60.vcxproj
source/vc++2013/fmr60.vcxproj.filters
source/vc++2013/fmr70.vcxproj
source/vc++2013/fmr70.vcxproj.filters
source/vc++2013/fmr80.vcxproj
source/vc++2013/fmr80.vcxproj.filters
source/vc++2013/fp1100.vcxproj
source/vc++2013/fp1100.vcxproj.filters
source/vc++2013/gamegear.vcxproj
source/vc++2013/gamegear.vcxproj.filters
source/vc++2013/hc20.vcxproj
source/vc++2013/hc20.vcxproj.filters
source/vc++2013/hc40.vcxproj
source/vc++2013/hc40.vcxproj.filters
source/vc++2013/hc80.vcxproj
source/vc++2013/hc80.vcxproj.filters
source/vc++2013/hx20.vcxproj
source/vc++2013/hx20.vcxproj.filters
source/vc++2013/j3100gt.vcxproj
source/vc++2013/j3100gt.vcxproj.filters
source/vc++2013/j3100sl.vcxproj
source/vc++2013/j3100sl.vcxproj.filters
source/vc++2013/jr800.vcxproj [new file with mode: 0644]
source/vc++2013/jr800.vcxproj.filters [new file with mode: 0644]
source/vc++2013/jx.vcxproj
source/vc++2013/jx.vcxproj.filters
source/vc++2013/msx1.vcxproj
source/vc++2013/msx1.vcxproj.filters
source/vc++2013/msx2.vcxproj
source/vc++2013/msx2.vcxproj.filters
source/vc++2013/msx2p.vcxproj
source/vc++2013/msx2p.vcxproj.filters
source/vc++2013/multi8.vcxproj
source/vc++2013/multi8.vcxproj.filters
source/vc++2013/mz1200.vcxproj
source/vc++2013/mz1200.vcxproj.filters
source/vc++2013/mz1500.vcxproj
source/vc++2013/mz1500.vcxproj.filters
source/vc++2013/mz2200.vcxproj
source/vc++2013/mz2200.vcxproj.filters
source/vc++2013/mz2500.vcxproj
source/vc++2013/mz2500.vcxproj.filters
source/vc++2013/mz2800.vcxproj
source/vc++2013/mz2800.vcxproj.filters
source/vc++2013/mz3500.vcxproj
source/vc++2013/mz3500.vcxproj.filters
source/vc++2013/mz5500.vcxproj
source/vc++2013/mz5500.vcxproj.filters
source/vc++2013/mz6500.vcxproj
source/vc++2013/mz6500.vcxproj.filters
source/vc++2013/mz6550.vcxproj
source/vc++2013/mz6550.vcxproj.filters
source/vc++2013/mz800.vcxproj
source/vc++2013/mz800.vcxproj.filters
source/vc++2013/mz80a.vcxproj
source/vc++2013/mz80a.vcxproj.filters
source/vc++2013/mz80b.vcxproj
source/vc++2013/mz80b.vcxproj.filters
source/vc++2013/mz80k.vcxproj
source/vc++2013/mz80k.vcxproj.filters
source/vc++2013/n5200.vcxproj
source/vc++2013/n5200.vcxproj.filters
source/vc++2013/pasopia.vcxproj
source/vc++2013/pasopia.vcxproj.filters
source/vc++2013/pasopia7.vcxproj
source/vc++2013/pasopia7.vcxproj.filters
source/vc++2013/pasopia7lcd.vcxproj
source/vc++2013/pasopia7lcd.vcxproj.filters
source/vc++2013/pc100.vcxproj
source/vc++2013/pc100.vcxproj.filters
source/vc++2013/pc6001.vcxproj
source/vc++2013/pc6001.vcxproj.filters
source/vc++2013/pc6001mk2.vcxproj
source/vc++2013/pc6001mk2.vcxproj.filters
source/vc++2013/pc6001mk2sr.vcxproj
source/vc++2013/pc6001mk2sr.vcxproj.filters
source/vc++2013/pc6601.vcxproj
source/vc++2013/pc6601.vcxproj.filters
source/vc++2013/pc6601sr.vcxproj
source/vc++2013/pc6601sr.vcxproj.filters
source/vc++2013/pc8001mk2sr.vcxproj
source/vc++2013/pc8001mk2sr.vcxproj.filters
source/vc++2013/pc8801ma.vcxproj
source/vc++2013/pc8801ma.vcxproj.filters
source/vc++2013/pc9801.vcxproj
source/vc++2013/pc9801.vcxproj.filters
source/vc++2013/pc9801e.vcxproj
source/vc++2013/pc9801e.vcxproj.filters
source/vc++2013/pc9801u.vcxproj
source/vc++2013/pc9801u.vcxproj.filters
source/vc++2013/pc9801vf.vcxproj
source/vc++2013/pc9801vf.vcxproj.filters
source/vc++2013/pc9801vm.vcxproj
source/vc++2013/pc9801vm.vcxproj.filters
source/vc++2013/pc98do.vcxproj
source/vc++2013/pc98do.vcxproj.filters
source/vc++2013/pc98ha.vcxproj
source/vc++2013/pc98ha.vcxproj.filters
source/vc++2013/pc98lt.vcxproj
source/vc++2013/pc98lt.vcxproj.filters
source/vc++2013/pcengine.vcxproj
source/vc++2013/pcengine.vcxproj.filters
source/vc++2013/qc10.vcxproj
source/vc++2013/qc10.vcxproj.filters
source/vc++2013/qc10cms.vcxproj
source/vc++2013/qc10cms.vcxproj.filters
source/vc++2013/sc3000.vcxproj
source/vc++2013/sc3000.vcxproj.filters
source/vc++2013/smc70.vcxproj
source/vc++2013/smc70.vcxproj.filters
source/vc++2013/smc777.vcxproj
source/vc++2013/smc777.vcxproj.filters
source/vc++2013/x1.vcxproj
source/vc++2013/x1.vcxproj.filters
source/vc++2013/x1turbo.vcxproj
source/vc++2013/x1turbo.vcxproj.filters
source/vc++2013/x1turboz.vcxproj
source/vc++2013/x1turboz.vcxproj.filters
source/vc++2013/x1twin.vcxproj
source/vc++2013/x1twin.vcxproj.filters

index 6d482f4..bbdcb6a 100644 (file)
@@ -1,3 +1,21 @@
+3/15/2017
+
+[WINMAIN] add status bar to draw access lamps
+[EMU] add interfaces to get access status of floppy/quick/hard disk drives
+[EMU] add interface to get cmt status message
+
+[VM/DATAREC] support cmt status message
+[VM/HD44102] fix build error
+[VM/MC6800] fix M_RDOP and M_RDOP_ARG macros (thanks PockEmul)
+[VM/LD700] support access lamp signal
+[VM/SCSI_CDROM] support access lamp signal
+[VM/SCSI_DEV] support access lamp signal
+[VM/SCSI_HDD] support access lamp signal
+
+[HC20] fix issue that we cannot debug TF-20 CPU
+[JR800] support National JR-800 (thanks PockEmul)
+
+
 3/12/2017
 
 [VM/DATAREC] fix issue that fast forward noise may not stop
index d0b4253..b5af748 100644 (file)
@@ -55,6 +55,7 @@ This archive includes the binaries of the emulators listed below:
        National/Panasonic
                yayaFS-A1       FS-A1 (by Mr.umaiboux)
                eJR-100         JR-100
+               eJR-800         JR-800
        NEC
                ePC-2001        PC-2001
                yaPC-6001       PC-6001 (by Mr.tanam)
@@ -171,6 +172,8 @@ Save/Load State info:
        TDLZHUF for Teledisk floppy disk image decoder
        MESS formats/dsk_dsk.c for CPDRead floppy disk image decorder
        MESS formats/imd_dsk.c for ImageDisk floppy disk image decorder
+- vm/hd44102.*
+       MAME HD44102 core and soem modifications by PockEmul
 - vm/hd63484.*
        MAME HD63484 core
 - vm/huc6280.*
@@ -274,6 +277,8 @@ Save/Load State info:
        Mr.Dennis Heynlein for intelligent ram disk unit
 - vm/jr100/*
        Mr.Enri for National JR-100 hardware design info
+- vm/jr800/*
+       PockEmul JR-800 driver
 - vm/m5/*
        MESS sord driver
        Mr.Moriya for Sord M5 hardware design info
index 73ea13d..a9d1e94 100644 (file)
@@ -1372,6 +1372,11 @@ bool EMU::is_floppy_disk_protected(int drv)
                return false;
        }
 }
+
+uint32_t EMU::is_floppy_disk_accessed()
+{
+       return vm->is_floppy_disk_accessed();
+}
 #endif
 
 #ifdef USE_QD1
@@ -1412,6 +1417,11 @@ bool EMU::is_quick_disk_inserted(int drv)
                return false;
        }
 }
+
+uint32_t EMU::is_quick_disk_accessed()
+{
+       return vm->is_quick_disk_accessed();
+}
 #endif
 
 #ifdef USE_TAPE
@@ -1480,6 +1490,11 @@ int EMU::get_tape_position()
 {
        return vm->get_tape_position();
 }
+
+const _TCHAR* EMU::get_tape_message()
+{
+       return vm->get_tape_message();
+}
 #endif
 
 #ifdef USE_TAPE_BUTTON
@@ -1545,6 +1560,11 @@ bool EMU::is_compact_disc_inserted()
 {
        return vm->is_compact_disc_inserted();
 }
+
+uint32_t EMU::is_compact_disc_accessed()
+{
+       return vm->is_compact_disc_accessed();
+}
 #endif
 
 #ifdef USE_LASER_DISC
@@ -1577,6 +1597,11 @@ bool EMU::is_laser_disc_inserted()
 {
        return vm->is_laser_disc_inserted();
 }
+
+uint32_t EMU::is_laser_disc_accessed()
+{
+       return vm->is_laser_disc_accessed();
+}
 #endif
 
 #ifdef USE_BINARY_FILE1
@@ -1660,10 +1685,10 @@ void EMU::is_bubble_casette_protected(int drv, bool flag)
 }
 #endif
 
-#ifdef USE_ACCESS_LAMP
-uint32_t EMU::get_access_lamp_status()
+#ifdef USE_HARD_DISK
+uint32_t EMU::is_hard_disk_accessed()
 {
-       return vm->get_access_lamp_status();
+       return vm->is_hard_disk_accessed();
 }
 #endif
 
index 2bace84..1f4d704 100644 (file)
@@ -413,11 +413,13 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #endif
 #ifdef USE_QD1
        void open_quick_disk(int drv, const _TCHAR* file_path);
        void close_quick_disk(int drv);
        bool is_quick_disk_inserted(int drv);
+       uint32_t is_quick_disk_accessed();
 #endif
 #ifdef USE_TAPE
        void play_tape(const _TCHAR* file_path);
@@ -428,6 +430,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
 # endif
 # ifdef USE_TAPE_BUTTON
        void push_play();
@@ -442,11 +445,13 @@ public:
        void open_compact_disc(const _TCHAR* file_path);
        void close_compact_disc();
        bool is_compact_disc_inserted();
+       uint32_t is_compact_disc_accessed();
 #endif
 #ifdef USE_LASER_DISC
        void open_laser_disc(const _TCHAR* file_path);
        void close_laser_disc();
        bool is_laser_disc_inserted();
+       uint32_t is_laser_disc_accessed();
 #endif
 #ifdef USE_BINARY_FILE1
        void load_binary(int drv, const _TCHAR* file_path);
@@ -466,9 +471,8 @@ public:
        void is_bubble_casette_protected(int drv, bool value);
 #endif
 
-       
-#ifdef USE_ACCESS_LAMP
-       uint32_t get_access_lamp_status(void);
+#ifdef USE_HARD_DISK
+       uint32_t is_hard_disk_accessed();
 #endif 
 #ifdef USE_LED_DEVICE
        uint32_t get_led_status(void);
index bd1eff8..6744d67 100644 (file)
@@ -61,8 +61,8 @@ target_link_libraries(CSPosd PUBLIC
          )
   
   set_target_properties(CSPosd PROPERTIES 
-     SOVERSION 2.6.1
-     VERSION 2.6.1
+     SOVERSION 2.6.2
+     VERSION 2.6.2
   )
   INSTALL(TARGETS CSPosd DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index fd5a1c4..9c5994d 100644 (file)
@@ -112,24 +112,17 @@ void EmuThreadClass::get_fd_string(void)
        QString iname;
        QString alamp;
        uint32_t access_drv = 0;
-#if defined(USE_ACCESS_LAMP) && defined(USE_FD1)
-       access_drv = p_emu->get_access_lamp_status();
-#endif 
+       access_drv = p_emu->is_floppy_disk_accessed();
        {
                for(i = 0; i < (int)using_flags->get_max_drive(); i++) {
                        if(p_emu->is_floppy_disk_inserted(i)) {
-                               if(using_flags->is_use_access_lamp()) {
-                                       if(i == (access_drv - 1)) {
-                                               alamp = QString::fromUtf8("<FONT COLOR=RED>●</FONT> ");
-                                       } else {
-                                               alamp = QString::fromUtf8("○ ");
-                                       }
-                                       tmpstr = QString::fromUtf8("FD");
-                                       tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
+                               if(i == (access_drv - 1)) {
+                                       alamp = QString::fromUtf8("<FONT COLOR=RED>●</FONT> ");
                                } else {
-                                       tmpstr = QString::fromUtf8("FD");
-                                       tmpstr = tmpstr + QString::number(i) + QString::fromUtf8(":");
+                                       alamp = QString::fromUtf8("○ ");
                                }
+                               tmpstr = QString::fromUtf8("FD");
+                               tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
                                if(emu->d88_file[i].bank_num > 0) {
                                        iname = QString::fromUtf8(emu->d88_file[i].disk_name[emu->d88_file[i].cur_bank]);
                                } else {
@@ -157,23 +150,16 @@ void EmuThreadClass::get_qd_string(void)
        QString alamp;
        QString tmpstr;
        uint32_t access_drv = 0;
-# if defined(USE_ACCESS_LAMP)
-       access_drv = p_emu->get_access_lamp_status();
-# endif
+       access_drv = p_emu->is_quickdisk_accessed();
        for(i = 0; i < using_flags->get_max_qd(); i++) {
                if(p_emu->is_quick_disk_inserted(i)) {
-                       if(using_flags->is_use_access_lamp()) {
-                               if(i == (access_drv - 1)) {
-                                       alamp = QString::fromUtf8("● ");
-                               } else {
-                                       alamp = QString::fromUtf8("○ ");
-                               }
-                               tmpstr = QString::fromUtf8("QD");
-                               tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
+                       if(i == (access_drv - 1)) {
+                               alamp = QString::fromUtf8("● ");
                        } else {
-                               tmpstr = QString::fromUtf8("QD");
-                               tmpstr = tmpstr + QString::number(i) + QString::fromUtf8(":");
+                               alamp = QString::fromUtf8("○ ");
                        }
+                       tmpstr = QString::fromUtf8("QD");
+                       tmpstr = alamp + tmpstr + QString::number(i) + QString::fromUtf8(":");
                        iname = QString::fromUtf8("*Inserted*");
                        tmpstr = tmpstr + iname;
                } else {
@@ -190,25 +176,13 @@ void EmuThreadClass::get_qd_string(void)
 
 void EmuThreadClass::get_tape_string()
 {
-       QString tmpstr = QString::fromUtf8("");
+       QString tmpstr;
        
 #if defined(USE_TAPE) && !defined(TAPE_BINARY_ONLY)
        if(p_emu->is_tape_inserted()) {
-               int tape_counter = p_emu->get_tape_position();
-               tmpstr = QString::fromUtf8("");
-               if(p_emu->is_tape_playing()) {
-                       tmpstr = QString::fromUtf8("<FONT COLOR=BLUE>▶ </FONT>");
-               } else if(p_emu->is_tape_recording()) {
-                       tmpstr = QString::fromUtf8("<FONT COLOR=RED>● </FONT>");
-               } else {
-                       tmpstr = QString::fromUtf8("<FONT COLOR=BLACK>■ </FONT>");
-               }
-               if(tape_counter >= 100) {
-                       tmpstr = tmpstr + QString::fromUtf8("BOTTOM");
-               } else if(tape_counter >= 0) {
-                       tmpstr = tmpstr + QString::number(tape_counter) + QString::fromUtf8("%");
-               } else {
-                       tmpstr = tmpstr + QString::fromUtf8("TOP");
+               const _TCHAR *ts = p_emu->get_tape_message();
+               if(ts != NULL) {
+                       tmpstr = QString::fromUtf8(ts);
                }
        } else {
                tmpstr = QString::fromUtf8("EMPTY");
index eaf13ee..0901029 100644 (file)
@@ -24,7 +24,7 @@ const int s_freq_table[8] = {
 USING_FLAGS_EXT::USING_FLAGS_EXT(config_t *cfg) : USING_FLAGS(cfg)
 {
        p_osd = NULL;
-       use_access_lamp = use_alt_f10_key = false;
+       use_alt_f10_key = false;
        use_auto_key = use_auto_key_us = use_auto_key_caps = false;
        use_auto_key_no_caps = use_auto_key_release =
        use_auto_key_shift = use_binary_file = false;
@@ -202,9 +202,6 @@ USING_FLAGS_EXT::USING_FLAGS_EXT(config_t *cfg) : USING_FLAGS(cfg)
        machine_z80tvgame = true;
 #endif
 
-#if defined(USE_ACCESS_LAMP)   
-       use_access_lamp = true;
-#endif 
 #if defined(USE_ALT_F10_KEY)   
        use_alt_f10_key = true;
 #endif
index 76db733..1adb971 100644 (file)
@@ -148,8 +148,8 @@ target_link_libraries(CSPgui
          ${SDL2_LIBRARIES}
          )
 set_target_properties(CSPgui PROPERTIES
-                            SOVERSION 2.7.1
-                            VERSION 2.7.1
+                            SOVERSION 2.7.2
+                            VERSION 2.7.2
                             LINK_INTERFACE_LIBRARIES ""
                             )
 generate_export_header(CSPgui
@@ -173,8 +173,8 @@ target_link_libraries(CSPgui PUBLIC
          )
 
 set_target_properties(CSPgui PROPERTIES 
-                            SOVERSION 2.7.1
-                            VERSION 2.7.1
+                            SOVERSION 2.7.2
+                            VERSION 2.7.2
                             )
 INSTALL(TARGETS CSPgui DESTINATION ${LIBCSP_INSTALL_DIR})
 endif()
index dd0e24c..ed976bf 100644 (file)
@@ -30,7 +30,6 @@ protected:
        QString config_name;
        QString device_name;
        // USE_* flags
-       bool use_access_lamp;
        bool use_alt_f10_key;
        bool use_roma_kana_conversion;
        
@@ -166,9 +165,7 @@ public:
        QString get_config_name() { return config_name; }
        QString get_device_name() { return device_name; }
        
-       bool is_use_access_lamp() { return use_access_lamp; }
        bool is_use_alt_f10_key() { return use_alt_f10_key; }
-       
        bool is_use_auto_key() { return use_auto_key; }
        bool is_use_auto_key_us() { return use_auto_key_us; }
        bool is_use_auto_key_caps() { return use_auto_key_caps; }
index d173733..f783c04 100644 (file)
@@ -4,7 +4,7 @@
 USING_FLAGS::USING_FLAGS(config_t *cfg)
 {
        p_osd = NULL;
-       use_access_lamp = use_alt_f10_key = false;
+       use_alt_f10_key = false;
        use_auto_key = use_auto_key_us = use_auto_key_caps = false;
        use_auto_key_no_caps = use_auto_key_release =
        use_auto_key_shift = use_binary_file = false;
index 6dbf899..b5c5bb7 100644 (file)
@@ -104,28 +104,28 @@ END
 // Icon
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "babbage2nd\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "babbage2nd\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "babbage2nd\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "babbage2nd\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "babbage2nd\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "babbage2nd\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "babbage2nd\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "babbage2nd\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "babbage2nd\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "babbage2nd\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "babbage2nd\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "babbage2nd\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "babbage2nd\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "babbage2nd\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "babbage2nd\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "babbage2nd\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "babbage2nd\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "babbage2nd\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "babbage2nd\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "babbage2nd\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "babbage2nd\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "babbage2nd\button20.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "babbage2nd/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "babbage2nd/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "babbage2nd/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "babbage2nd/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "babbage2nd/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "babbage2nd/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "babbage2nd/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "babbage2nd/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "babbage2nd/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "babbage2nd/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "babbage2nd/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "babbage2nd/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "babbage2nd/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "babbage2nd/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "babbage2nd/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "babbage2nd/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "babbage2nd/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "babbage2nd/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "babbage2nd/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "babbage2nd/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "babbage2nd/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "babbage2nd/button20.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index 15d97a4..dd0dd90 100644 (file)
@@ -151,32 +151,32 @@ END
 // Image
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "ex80\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "ex80\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "ex80\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "ex80\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "ex80\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "ex80\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "ex80\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "ex80\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "ex80\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "ex80\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "ex80\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "ex80\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "ex80\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "ex80\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "ex80\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "ex80\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "ex80\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "ex80\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "ex80\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "ex80\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "ex80\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "ex80\button20.png"
-IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "ex80\button21.png"
-IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "ex80\button22.png"
-IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "ex80\button23.png"
-IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "ex80\button24.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "ex80/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "ex80/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "ex80/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "ex80/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "ex80/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "ex80/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "ex80/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "ex80/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "ex80/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "ex80/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "ex80/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "ex80/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "ex80/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "ex80/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "ex80/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "ex80/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "ex80/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "ex80/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "ex80/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "ex80/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "ex80/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "ex80/button20.png"
+IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "ex80/button21.png"
+IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "ex80/button22.png"
+IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "ex80/button23.png"
+IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "ex80/button24.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index ca5457a..52844de 100644 (file)
@@ -213,6 +213,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index a28008e..7ed0665 100644 (file)
@@ -264,6 +264,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 9e668ca..4cf52ec 100644 (file)
@@ -265,6 +265,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index d1d1d04..f7bf095 100644 (file)
@@ -261,6 +261,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 907b15e..a5a286b 100644 (file)
@@ -261,6 +261,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 2009466..9bf7b25 100644 (file)
@@ -261,6 +261,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index a04fad0..9e19461 100644 (file)
@@ -274,6 +274,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index d913d90..814a01d 100644 (file)
@@ -213,6 +213,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 51f2a0d..d3c24a7 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index d1c0a70..98f1235 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 2601c2f..0ed21dd 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 1fd6ff3..0a8d1d7 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 866a8b3..6664025 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index af0f3c1..2656919 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 1b4c9f5..2484be1 100644 (file)
@@ -236,6 +236,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 1029a5e..be46182 100644 (file)
@@ -220,6 +220,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index d31f4d4..815c78e 100644 (file)
@@ -227,6 +227,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 6e194cf..3404f4b 100644 (file)
@@ -243,6 +243,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 11807ba..07cab93 100644 (file)
@@ -234,6 +234,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 9a894b3..b03e434 100644 (file)
@@ -251,6 +251,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index cfdb33f..555e243 100644 (file)
-ALGO\r
-\r
-       by Mr.Marukun (MZ700WIN)\r
-\r
-FAMILYBASIC\r
-BMJR\r
-BUBCOM80 (FM8)\r
-FM8\r
-FM7\r
-FM77\r
-FM77AV\r
-FM77AV40EX (FM77AV40WX1)\r
-FM11\r
-FP1100\r
-FSA1 (FSA1F)\r
-HC20\r
-HX20 (HX10D)\r
-JR100\r
-JR200\r
-JR800\r
-JX\r
-M5\r
-MAP1010\r
-MSX1 (MBH1)\r
-MSX2 (FSA1F)\r
-MULTI8\r
-MZ80K\r
-MZ700 (MZ731)\r
-MZ800\r
-MZ1200\r
-MZ1500\r
-MZ2000\r
-MZ2200\r
-MZ2500 (SUPER_MZ)\r
-MZ3500\r
-PASOPIA5\r
-PASOPIA7\r
-PASOPIAIQ (HX10D)\r
-PC100\r
-PC2001\r
-PC6001\r
-PC6001MK2\r
-PC6001MK2SR\r
-PC6601\r
-PC6601SR\r
-PC8001\r
-PC8201\r
-PC8801\r
-PC8801MA (PC8801FH)\r
-PC9801 (PC9801)\r
-PC9801E (PC98E)\r
-PC9801VF (PC98VM)\r
-PC9801VM (PC98VM)\r
-PC98DO\r
-PCG850 (PC-E200)\r
-PCKD863G\r
-PHC20 (PHC25)\r
-PHC25\r
-PV2000\r
-PYUTA\r
-RX78\r
-SC3000\r
-SCV\r
-SMC70\r
-SMC777\r
-X07\r
-X1\r
-X1TURBO\r
-X1TURBOZ (X1turboZ2)\r
-X1TWIN\r
-Z80TVGAME (XE1)\r
-\r
-       by Mr.Tenmaru\r
-       http://homepage2.nifty.com/tenpurako/\r
-\r
-PCENGINE\r
-\r
-       by Mr.Yoshikun\r
-       http://yspixel.jpn.org/\r
-\r
-FM16PI (PC60mk2SR)\r
-FMR30 (PC-AT)\r
-FMR50 (MZ3500)\r
-FMR60 (MZ3500)\r
-FMRCARD (PC60mk2SR)\r
-FP200 (HC20)\r
-HC40 (HC20)\r
-HC80 (HC20)\r
-MYCOMZ80A (MBLVL2)\r
-MZ80B (MZ2000)\r
-MZ2800 (SUPER_MZ)\r
-MZ5500 (MZ3500)\r
-MZ6500\r
-MZ6550 (PC88MC)\r
-PC3200 (MULTI8)\r
-PC9801U (PC98VM)\r
-PC98HA (PC8201)\r
-PC98LT (PC60mk2SR)\r
-PV1000\r
-PX7 (WAVY27)\r
-QC10 (IBM-JX)\r
-TK80BS (PC8001)\r
-\r
-       by TAKEDA, toshiya\r
+ALGO
+
+       by Mr.Marukun (MZ700WIN)
+
+FAMILYBASIC
+BMJR
+BUBCOM80 (FM8)
+FM8
+FM7
+FM77
+FM77AV
+FM77AV40EX (FM77AV40WX1)
+FM11
+FP1100
+FSA1 (FSA1F)
+HC20
+HX20 (HX10D)
+JR100
+JR200
+JR800
+JX
+M5
+MAP1010
+MSX1 (MBH1)
+MSX2 (FSA1F)
+MULTI8
+MZ80K
+MZ700 (MZ731)
+MZ800
+MZ1200
+MZ1500
+MZ2000
+MZ2200
+MZ2500 (SUPER_MZ)
+MZ3500
+PASOPIA5
+PASOPIA7
+PASOPIAIQ (HX10D)
+PC100
+PC2001
+PC6001
+PC6001MK2
+PC6001MK2SR
+PC6601
+PC6601SR
+PC8001
+PC8201
+PC8801
+PC8801MA (PC8801FH)
+PC9801 (PC9801)
+PC9801E (PC98E)
+PC9801VF (PC98VM)
+PC9801VM (PC98VM)
+PC98DO
+PCG850 (PC-E200)
+PCKD863G
+PHC20 (PHC25)
+PHC25
+PV2000
+PYUTA
+RX78
+SC3000
+SCV
+SMC70
+SMC777
+X07
+X1
+X1TURBO
+X1TURBOZ (X1turboZ2)
+X1TWIN
+Z80TVGAME (XE1)
+
+       by Mr.Tenmaru
+       http://homepage2.nifty.com/tenpurako/
+
+PCENGINE
+
+       by Mr.Yoshikun
+       http://yspixel.jpn.org/
+
+FM16PI (PC60mk2SR)
+FMR30 (PC-AT)
+FMR50 (MZ3500)
+FMR60 (MZ3500)
+FMRCARD (PC60mk2SR)
+FP200 (HC20)
+HC40 (HC20)
+HC80 (HC20)
+MYCOMZ80A (MBLVL2)
+MZ80B (MZ2000)
+MZ2800 (SUPER_MZ)
+MZ5500 (MZ3500)
+MZ6500
+MZ6550 (PC88MC)
+PC3200 (MULTI8)
+PC9801U (PC98VM)
+PC98HA (PC8201)
+PC98LT (PC60mk2SR)
+PV1000
+PX7 (WAVY27)
+QC10 (IBM-JX)
+TK80BS (PC8001)
+
+       by TAKEDA, toshiya
diff --git a/source/src/res/indicator/access_off.bmp b/source/src/res/indicator/access_off.bmp
new file mode 100644 (file)
index 0000000..5c54e44
Binary files /dev/null and b/source/src/res/indicator/access_off.bmp differ
diff --git a/source/src/res/indicator/access_on.bmp b/source/src/res/indicator/access_on.bmp
new file mode 100644 (file)
index 0000000..18291db
Binary files /dev/null and b/source/src/res/indicator/access_on.bmp differ
index b75ec06..a331548 100644 (file)
@@ -207,6 +207,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
diff --git a/source/src/res/jr800.rc b/source/src/res/jr800.rc
new file mode 100644 (file)
index 0000000..fd7749f
--- /dev/null
@@ -0,0 +1,254 @@
+// Microsoft Visual C++ generated resource script.
+//
+#include "resource.h"
+
+#define APSTUDIO_READONLY_SYMBOLS
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 2 resource.
+//
+#include "afxres.h"
+
+/////////////////////////////////////////////////////////////////////////////
+#undef APSTUDIO_READONLY_SYMBOLS
+
+/////////////////////////////////////////////////////////////////////////////
+// Japanese resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_JPN)
+#ifdef _WIN32
+LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
+#pragma code_page(932)
+#endif //_WIN32
+
+#ifdef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// TEXTINCLUDE
+//
+
+1 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "resource.h\0"
+END
+
+2 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "#include ""afxres.h""\r\n"
+    "\0"
+END
+
+3 TEXTINCLUDE DISCARDABLE 
+BEGIN
+    "\r\n"
+    "\0"
+END
+
+#endif    // APSTUDIO_INVOKED
+
+#endif    // Japanese resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+// English (U.S.) resources
+
+#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
+#ifdef _WIN32
+LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
+#pragma code_page(1252)
+#endif //_WIN32
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Accelerator
+//
+
+IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE 
+BEGIN
+    VK_RETURN,      ID_ACCEL_SCREEN,        VIRTKEY, ALT, NOINVERT
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Menu
+//
+
+IDR_MENU1 MENU DISCARDABLE 
+BEGIN
+    POPUP "Control"
+    BEGIN
+        MENUITEM "Reset",                       ID_RESET
+        MENUITEM SEPARATOR
+        MENUITEM "CPU x1",                      ID_CPU_POWER0
+        MENUITEM "CPU x2",                      ID_CPU_POWER1
+        MENUITEM "CPU x4",                      ID_CPU_POWER2
+        MENUITEM "CPU x8",                      ID_CPU_POWER3
+        MENUITEM "CPU x16",                     ID_CPU_POWER4
+        MENUITEM SEPARATOR
+        MENUITEM "Paste",                       ID_AUTOKEY_START
+        MENUITEM "Stop",                        ID_AUTOKEY_STOP
+        MENUITEM SEPARATOR
+        MENUITEM "Save State",                  ID_SAVE_STATE
+        MENUITEM "Load State",                  ID_LOAD_STATE
+        MENUITEM SEPARATOR
+        MENUITEM "Debug Main CPU",              ID_OPEN_DEBUGGER0
+        MENUITEM "Close Debugger",              ID_CLOSE_DEBUGGER
+        MENUITEM SEPARATOR
+        MENUITEM "Exit",                        ID_EXIT
+    END
+    POPUP "CMT"
+    BEGIN
+        MENUITEM "Play",                        ID_PLAY_TAPE
+        MENUITEM "Rec",                         ID_REC_TAPE
+        MENUITEM "Eject",                       ID_CLOSE_TAPE
+        MENUITEM SEPARATOR
+        MENUITEM "Play Button",                 ID_PLAY_BUTTON
+        MENUITEM "Stop Button",                 ID_STOP_BUTTON
+        MENUITEM "Fast Forward",                ID_FAST_FORWARD
+        MENUITEM "Fast Rewind",                 ID_FAST_REWIND
+        MENUITEM SEPARATOR
+        MENUITEM "Waveform Shaper",             ID_USE_WAVE_SHAPER
+        MENUITEM SEPARATOR
+        MENUITEM "Recent",                      ID_RECENT_TAPE
+    END
+    POPUP "Screen"
+    BEGIN
+        MENUITEM "Rec 60fps",                   ID_SCREEN_REC60
+        MENUITEM "Rec 30fps",                   ID_SCREEN_REC30
+        MENUITEM "Rec 15fps",                   ID_SCREEN_REC15
+        MENUITEM "Stop",                        ID_SCREEN_STOP
+        MENUITEM "Capture",                     ID_SCREEN_CAPTURE
+        MENUITEM SEPARATOR
+        MENUITEM "Window x1",                   ID_SCREEN_WINDOW1
+        MENUITEM "Window x2",                   ID_SCREEN_WINDOW2
+        MENUITEM "Window x3",                   ID_SCREEN_WINDOW3
+        MENUITEM "Window x4",                   ID_SCREEN_WINDOW4
+        MENUITEM "Window x5",                   ID_SCREEN_WINDOW5
+        MENUITEM "Window x6",                   ID_SCREEN_WINDOW6
+        MENUITEM "Window x7",                   ID_SCREEN_WINDOW7
+        MENUITEM "Window x8",                   ID_SCREEN_WINDOW8
+        MENUITEM "Fullscreen 1",                ID_SCREEN_FULLSCREEN1
+        MENUITEM "Fullscreen 2",                ID_SCREEN_FULLSCREEN2
+        MENUITEM "Fullscreen 3",                ID_SCREEN_FULLSCREEN3
+        MENUITEM "Fullscreen 4",                ID_SCREEN_FULLSCREEN4
+        MENUITEM "Fullscreen 5",                ID_SCREEN_FULLSCREEN5
+        MENUITEM "Fullscreen 6",                ID_SCREEN_FULLSCREEN6
+        MENUITEM "Fullscreen 7",                ID_SCREEN_FULLSCREEN7
+        MENUITEM "Fullscreen 8",                ID_SCREEN_FULLSCREEN8
+        MENUITEM "Fullscreen 9",                ID_SCREEN_FULLSCREEN9
+        MENUITEM "Fullscreen 10",               ID_SCREEN_FULLSCREEN10
+        MENUITEM "Fullscreen 11",               ID_SCREEN_FULLSCREEN11
+        MENUITEM "Fullscreen 12",               ID_SCREEN_FULLSCREEN12
+        MENUITEM "Fullscreen 13",               ID_SCREEN_FULLSCREEN13
+        MENUITEM "Fullscreen 14",               ID_SCREEN_FULLSCREEN14
+        MENUITEM "Fullscreen 15",               ID_SCREEN_FULLSCREEN15
+        MENUITEM "Fullscreen 16",               ID_SCREEN_FULLSCREEN16
+        MENUITEM "Fullscreen 17",               ID_SCREEN_FULLSCREEN17
+        MENUITEM "Fullscreen 18",               ID_SCREEN_FULLSCREEN18
+        MENUITEM "Fullscreen 19",               ID_SCREEN_FULLSCREEN19
+        MENUITEM "Fullscreen 20",               ID_SCREEN_FULLSCREEN20
+        MENUITEM "Fullscreen 21",               ID_SCREEN_FULLSCREEN21
+        MENUITEM "Fullscreen 22",               ID_SCREEN_FULLSCREEN22
+        MENUITEM "Fullscreen 23",               ID_SCREEN_FULLSCREEN23
+        MENUITEM "Fullscreen 24",               ID_SCREEN_FULLSCREEN24
+        MENUITEM "Fullscreen 25",               ID_SCREEN_FULLSCREEN25
+        MENUITEM "Fullscreen 26",               ID_SCREEN_FULLSCREEN26
+        MENUITEM "Fullscreen 27",               ID_SCREEN_FULLSCREEN27
+        MENUITEM "Fullscreen 28",               ID_SCREEN_FULLSCREEN28
+        MENUITEM "Fullscreen 29",               ID_SCREEN_FULLSCREEN29
+        MENUITEM "Fullscreen 30",               ID_SCREEN_FULLSCREEN30
+        MENUITEM "Fullscreen 31",               ID_SCREEN_FULLSCREEN31
+        MENUITEM "Fullscreen 32",               ID_SCREEN_FULLSCREEN32
+        MENUITEM SEPARATOR
+        MENUITEM "Fullscreen Stretch 1",        ID_SCREEN_FULLSCREEN_STRETCH1
+        MENUITEM "Fullscreen Stretch 2",        ID_SCREEN_FULLSCREEN_STRETCH2
+        MENUITEM "Fullscreen Stretch 4",        ID_SCREEN_FULLSCREEN_STRETCH4
+        MENUITEM SEPARATOR
+        MENUITEM "Use Direct3D9",               ID_SCREEN_USE_D3D9
+        MENUITEM "Wait Vsync",                  ID_SCREEN_WAIT_VSYNC
+    END
+    POPUP "Sound"
+    BEGIN
+        MENUITEM "Rec",                         ID_SOUND_REC
+        MENUITEM "Stop",                        ID_SOUND_STOP
+        MENUITEM SEPARATOR
+        MENUITEM "2000Hz",                      ID_SOUND_FREQ0
+        MENUITEM "4000Hz",                      ID_SOUND_FREQ1
+        MENUITEM "8000Hz",                      ID_SOUND_FREQ2
+        MENUITEM "11025Hz",                     ID_SOUND_FREQ3
+        MENUITEM "22050Hz",                     ID_SOUND_FREQ4
+        MENUITEM "44100Hz",                     ID_SOUND_FREQ5
+        MENUITEM "48000Hz",                     ID_SOUND_FREQ6
+        MENUITEM "96000Hz",                     ID_SOUND_FREQ7
+        MENUITEM SEPARATOR
+        MENUITEM "50msec",                      ID_SOUND_LATE0
+        MENUITEM "100msec",                     ID_SOUND_LATE1
+        MENUITEM "200msec",                     ID_SOUND_LATE2
+        MENUITEM "300msec",                     ID_SOUND_LATE3
+        MENUITEM "400msec",                     ID_SOUND_LATE4
+        MENUITEM SEPARATOR
+        MENUITEM "Realtime Mix",                ID_SOUND_STRICT_RENDER
+        MENUITEM "Light Weight Mix",            ID_SOUND_LIGHT_RENDER
+        MENUITEM SEPARATOR
+        MENUITEM "Play CMT Noise",              ID_SOUND_NOISE_CMT
+        MENUITEM "Play CMT Sound",              ID_SOUND_PLAY_TAPE
+        MENUITEM SEPARATOR
+        MENUITEM "Volume",                      ID_SOUND_VOLUME
+    END
+    POPUP "Input"
+    BEGIN
+        MENUITEM "Use DirectInput",             ID_INPUT_USE_DINPUT
+        MENUITEM "Disable Windows 8 DWM",       ID_INPUT_DISABLE_DWM
+    END
+END
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Icon
+//
+
+// Icon with lowest ID value placed first to ensure application icon
+// remains consistent on all systems.
+IDI_ICON1               ICON    DISCARDABLE     "jr800.ico"
+#endif    // English (U.S.) resources
+/////////////////////////////////////////////////////////////////////////////
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
+// Dialog
+//
+
+IDD_VOLUME DIALOG DISCARDABLE  0, 0, 250, 120
+STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
+CAPTION "Volume"
+FONT 9, "MS PGothic"
+BEGIN
+    LTEXT           "Sound Device #1",IDC_VOLUME_CAPTION0,6,6,60,8
+    CONTROL         "",IDC_VOLUME_PARAM_L0,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,6,175,12
+    CONTROL         "",IDC_VOLUME_PARAM_R0,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,21,175,12
+    LTEXT           "Sound Device #2",IDC_VOLUME_CAPTION1,6,36,60,8
+    CONTROL         "",IDC_VOLUME_PARAM_L1,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,36,175,12
+    CONTROL         "",IDC_VOLUME_PARAM_R1,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,51,175,12
+    LTEXT           "Sound Device #3",IDC_VOLUME_CAPTION2,6,66,60,8
+    CONTROL         "",IDC_VOLUME_PARAM_L2,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,66,175,12
+    CONTROL         "",IDC_VOLUME_PARAM_R2,"msctls_trackbar32",TBS_AUTOTICKS | WS_TABSTOP,70,81,175,12
+    DEFPUSHBUTTON   "OK",IDOK,70,100,50,14
+    DEFPUSHBUTTON   "Reset",IDC_VOLUME_RESET,130,100,50,14
+END
+
+
+
+#ifndef APSTUDIO_INVOKED
+/////////////////////////////////////////////////////////////////////////////
+//
+// Generated from the TEXTINCLUDE 3 resource.
+//
+
+
+/////////////////////////////////////////////////////////////////////////////
+#endif    // not APSTUDIO_INVOKED
+
index 33f6106..e1c34ac 100644 (file)
@@ -217,6 +217,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 5c7edad..faf5fc3 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index b039c9e..8934666 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 859ea08..a45f4d5 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 98e331f..58457fa 100644 (file)
@@ -228,6 +228,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index a873678..4d4f47e 100644 (file)
@@ -262,6 +262,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 893b227..0f67842 100644 (file)
@@ -252,6 +252,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index f3b6123..da8eec7 100644 (file)
@@ -279,6 +279,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index e7717af..6d4600d 100644 (file)
@@ -274,6 +274,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 540fd75..5b0ab40 100644 (file)
@@ -250,6 +250,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index b966a12..9fd916f 100644 (file)
@@ -257,6 +257,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index a52eff4..d0fde03 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index b9866a6..7526d5e 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 17d8dcd..cf8c2d7 100644 (file)
@@ -248,6 +248,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 5a518f0..c04dd3c 100644 (file)
@@ -254,6 +254,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 6c54855..cd0d920 100644 (file)
@@ -262,6 +262,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index abcd7ce..7dab261 100644 (file)
@@ -270,6 +270,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index c67b6b6..7e62db4 100644 (file)
@@ -265,6 +265,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 2e4e730..ecd9d93 100644 (file)
@@ -213,6 +213,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index c82bafb..9d6e4d1 100644 (file)
@@ -251,6 +251,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 1bc8399..f42a001 100644 (file)
@@ -247,6 +247,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 73db836..b2d6a94 100644 (file)
@@ -243,6 +243,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 7d0ef86..7c1ca07 100644 (file)
@@ -227,6 +227,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index a10a0bc..ebd3329 100644 (file)
@@ -237,6 +237,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 7bfb382..7dd2043 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index df05c83..834495f 100644 (file)
@@ -244,6 +244,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 894616f..c723be0 100644 (file)
@@ -266,6 +266,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 8768151..89a699e 100644 (file)
@@ -266,6 +266,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 598ea45..4743bf1 100644 (file)
@@ -246,6 +246,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 2c9b64a..dbba574 100644 (file)
@@ -262,6 +262,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 4038209..0fec996 100644 (file)
@@ -290,6 +290,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 2001a83..e2b99f1 100644 (file)
@@ -293,6 +293,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 58536bc..8fcdd60 100644 (file)
@@ -237,6 +237,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index cd8fa24..40afdf5 100644 (file)
@@ -237,6 +237,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 6d3b78f..492c6a6 100644 (file)
@@ -240,6 +240,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 359d892..93207e2 100644 (file)
@@ -281,6 +281,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 8e573c9..00fa023 100644 (file)
@@ -206,6 +206,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index fffa04f..26f29cd 100644 (file)
@@ -206,6 +206,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index f510c6d..c189474 100644 (file)
@@ -214,6 +214,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index f534d76..20d68d3 100644 (file)
@@ -232,6 +232,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index ffddf89..b7656d5 100644 (file)
@@ -226,6 +226,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index c1b5f51..4d9c870 100644 (file)
@@ -228,6 +228,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 258ffa4..64d7679 100644 (file)
@@ -7,6 +7,7 @@
 #define IDR_ACCELERATOR1                103
 #define ID_ACCEL_SCREEN                 104
 #define ID_ACCEL_MOUSE                  105
+#define ID_STATUS                       106
 
 #define IDD_VOLUME                      111
 #define IDC_VOLUME_RESET                112
 #define MENU_POS_INPUT                  4
 #endif
 
+// National JR-800
+#ifdef _JR800
+#define MENU_POS_CONTROL                0
+#define MENU_POS_TAPE                   1
+#define MENU_POS_SCREEN                 2
+#define MENU_POS_SOUND                  3
+#define MENU_POS_INPUT                  4
+#endif
+
 // TOSHIBA J-3100GT
 #ifdef _J3100GT
 #define MENU_POS_CONTROL                0
index ea0ce30..e56ec01 100644 (file)
@@ -224,6 +224,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 6f6dcf4..650da59 100644 (file)
@@ -153,32 +153,32 @@ END
 // Icon
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "smb80te\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "smb80te\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "smb80te\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "smb80te\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "smb80te\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "smb80te\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "smb80te\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "smb80te\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "smb80te\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "smb80te\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "smb80te\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "smb80te\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "smb80te\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "smb80te\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "smb80te\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "smb80te\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "smb80te\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "smb80te\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "smb80te\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "smb80te\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "smb80te\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "smb80te\button20.png"
-IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "smb80te\button21.png"
-IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "smb80te\button22.png"
-IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "smb80te\button23.png"
-IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "smb80te\button24.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "smb80te/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "smb80te/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "smb80te/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "smb80te/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "smb80te/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "smb80te/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "smb80te/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "smb80te/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "smb80te/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "smb80te/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "smb80te/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "smb80te/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "smb80te/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "smb80te/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "smb80te/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "smb80te/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "smb80te/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "smb80te/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "smb80te/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "smb80te/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "smb80te/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "smb80te/button20.png"
+IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "smb80te/button21.png"
+IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "smb80te/button22.png"
+IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "smb80te/button23.png"
+IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "smb80te/button24.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index 7c8463a..dd9d45c 100644 (file)
@@ -246,6 +246,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 8e77977..fda9536 100644 (file)
@@ -242,6 +242,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index 35b7540..7f910c1 100644 (file)
@@ -151,32 +151,32 @@ END
 // Image
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "tk80bs\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "tk80bs\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "tk80bs\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "tk80bs\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "tk80bs\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "tk80bs\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "tk80bs\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "tk80bs\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "tk80bs\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "tk80bs\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "tk80bs\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "tk80bs\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "tk80bs\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "tk80bs\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "tk80bs\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "tk80bs\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "tk80bs\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "tk80bs\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "tk80bs\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "tk80bs\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "tk80bs\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "tk80bs\button20.png"
-IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "tk80bs\button21.png"
-IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "tk80bs\button22.png"
-IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "tk80bs\button23.png"
-IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "tk80bs\button24.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "tk80bs/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "tk80bs/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "tk80bs/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "tk80bs/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "tk80bs/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "tk80bs/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "tk80bs/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "tk80bs/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "tk80bs/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "tk80bs/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "tk80bs/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "tk80bs/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "tk80bs/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "tk80bs/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "tk80bs/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "tk80bs/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "tk80bs/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "tk80bs/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "tk80bs/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "tk80bs/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "tk80bs/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "tk80bs/button20.png"
+IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "tk80bs/button21.png"
+IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "tk80bs/button22.png"
+IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "tk80bs/button23.png"
+IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "tk80bs/button24.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index e2bb275..7f71c28 100644 (file)
@@ -153,33 +153,33 @@ END
 // Image
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "tk85\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "tk85\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "tk85\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "tk85\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "tk85\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "tk85\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "tk85\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "tk85\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "tk85\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "tk85\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "tk85\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "tk85\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "tk85\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "tk85\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "tk85\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "tk85\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "tk85\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "tk85\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "tk85\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "tk85\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "tk85\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "tk85\button20.png"
-IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "tk85\button21.png"
-IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "tk85\button22.png"
-IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "tk85\button23.png"
-IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "tk85\button24.png"
-IDI_BITMAP_BUTTON25     IMAGE   DISCARDABLE     "tk85\button25.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "tk85/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "tk85/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "tk85/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "tk85/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "tk85/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "tk85/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "tk85/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "tk85/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "tk85/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "tk85/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "tk85/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "tk85/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "tk85/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "tk85/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "tk85/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "tk85/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "tk85/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "tk85/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "tk85/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "tk85/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "tk85/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "tk85/button20.png"
+IDI_BITMAP_BUTTON21     IMAGE   DISCARDABLE     "tk85/button21.png"
+IDI_BITMAP_BUTTON22     IMAGE   DISCARDABLE     "tk85/button22.png"
+IDI_BITMAP_BUTTON23     IMAGE   DISCARDABLE     "tk85/button23.png"
+IDI_BITMAP_BUTTON24     IMAGE   DISCARDABLE     "tk85/button24.png"
+IDI_BITMAP_BUTTON25     IMAGE   DISCARDABLE     "tk85/button25.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index e64c946..2cfea90 100644 (file)
@@ -255,6 +255,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index c5a3c8a..21693ff 100644 (file)
@@ -264,6 +264,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index e2de989..6546858 100644 (file)
@@ -264,6 +264,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index bf39567..5a5fd50 100644 (file)
@@ -265,6 +265,15 @@ END
 
 /////////////////////////////////////////////////////////////////////////////
 //
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF   BITMAP  DISCARDABLE     "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON    BITMAP  DISCARDABLE     "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
 // Icon
 //
 
index f0c3f90..0f2a6ae 100644 (file)
@@ -104,28 +104,28 @@ END
 // Icon
 //
 
-IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "ys6464a\board.png"
-IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "ys6464a\button00.png"
-IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "ys6464a\button01.png"
-IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "ys6464a\button02.png"
-IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "ys6464a\button03.png"
-IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "ys6464a\button04.png"
-IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "ys6464a\button05.png"
-IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "ys6464a\button06.png"
-IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "ys6464a\button07.png"
-IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "ys6464a\button08.png"
-IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "ys6464a\button09.png"
-IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "ys6464a\button10.png"
-IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "ys6464a\button11.png"
-IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "ys6464a\button12.png"
-IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "ys6464a\button13.png"
-IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "ys6464a\button14.png"
-IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "ys6464a\button15.png"
-IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "ys6464a\button16.png"
-IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "ys6464a\button17.png"
-IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "ys6464a\button18.png"
-IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "ys6464a\button19.png"
-IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "ys6464a\button20.png"
+IDI_BITMAP_BOARD        IMAGE   DISCARDABLE     "ys6464a/board.png"
+IDI_BITMAP_BUTTON00     IMAGE   DISCARDABLE     "ys6464a/button00.png"
+IDI_BITMAP_BUTTON01     IMAGE   DISCARDABLE     "ys6464a/button01.png"
+IDI_BITMAP_BUTTON02     IMAGE   DISCARDABLE     "ys6464a/button02.png"
+IDI_BITMAP_BUTTON03     IMAGE   DISCARDABLE     "ys6464a/button03.png"
+IDI_BITMAP_BUTTON04     IMAGE   DISCARDABLE     "ys6464a/button04.png"
+IDI_BITMAP_BUTTON05     IMAGE   DISCARDABLE     "ys6464a/button05.png"
+IDI_BITMAP_BUTTON06     IMAGE   DISCARDABLE     "ys6464a/button06.png"
+IDI_BITMAP_BUTTON07     IMAGE   DISCARDABLE     "ys6464a/button07.png"
+IDI_BITMAP_BUTTON08     IMAGE   DISCARDABLE     "ys6464a/button08.png"
+IDI_BITMAP_BUTTON09     IMAGE   DISCARDABLE     "ys6464a/button09.png"
+IDI_BITMAP_BUTTON10     IMAGE   DISCARDABLE     "ys6464a/button10.png"
+IDI_BITMAP_BUTTON11     IMAGE   DISCARDABLE     "ys6464a/button11.png"
+IDI_BITMAP_BUTTON12     IMAGE   DISCARDABLE     "ys6464a/button12.png"
+IDI_BITMAP_BUTTON13     IMAGE   DISCARDABLE     "ys6464a/button13.png"
+IDI_BITMAP_BUTTON14     IMAGE   DISCARDABLE     "ys6464a/button14.png"
+IDI_BITMAP_BUTTON15     IMAGE   DISCARDABLE     "ys6464a/button15.png"
+IDI_BITMAP_BUTTON16     IMAGE   DISCARDABLE     "ys6464a/button16.png"
+IDI_BITMAP_BUTTON17     IMAGE   DISCARDABLE     "ys6464a/button17.png"
+IDI_BITMAP_BUTTON18     IMAGE   DISCARDABLE     "ys6464a/button18.png"
+IDI_BITMAP_BUTTON19     IMAGE   DISCARDABLE     "ys6464a/button19.png"
+IDI_BITMAP_BUTTON20     IMAGE   DISCARDABLE     "ys6464a/button20.png"
 
 
 /////////////////////////////////////////////////////////////////////////////
index 81d0e98..b4cd1ee 100644 (file)
@@ -246,6 +246,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index e087be0..0f3044c 100644 (file)
@@ -95,7 +95,6 @@ public:
        
        // draw screen
        void draw_screen();
-//     uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -117,6 +116,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index 042a7eb..e0e50da 100644 (file)
@@ -146,11 +146,11 @@ void DATAREC::event_callback(int event_id, int err)
        if(event_id == EVENT_SIGNAL) {
                if(play) {
                        if(ff_rew > 0) {
-                               emu->out_message(_T("CMT: Fast Forward (%d %%)"), get_tape_position());
+                               my_stprintf_s(message, 1024, _T("Fast Forward (%d %%)"), get_tape_position());
                        } else if(ff_rew < 0) {
-                               emu->out_message(_T("CMT: Fast Rewind (%d %%)"), get_tape_position());
+                               my_stprintf_s(message, 1024, _T("Fast Rewind (%d %%)"), get_tape_position());
                        } else {
-                               emu->out_message(_T("CMT: Play (%d %%)"), get_tape_position());
+                               my_stprintf_s(message, 1024, _T("Play (%d %%)"), get_tape_position());
                        }
                        bool signal = in_signal;
                        if(is_wav) {
@@ -368,15 +368,15 @@ bool DATAREC::do_apss(int value)
        
        if(value > 0) {
                if(play) {
-                       emu->out_message(_T("CMT: APSS Forward (%d %%)"), get_tape_position());
+                       my_stprintf_s(message, 1024, _T("APSS Forward (%d %%)"), get_tape_position());
                } else {
-                       emu->out_message(_T("CMT: APSS Forward"));
+                       my_stprintf_s(message, 1024, _T("APSS Forward"));
                }
        } else {
                if(play) {
-                       emu->out_message(_T("CMT: APSS Rewind (%d %%)"), get_tape_position());
+                       my_stprintf_s(message, 1024, _T("APSS Rewind (%d %%)"), get_tape_position());
                } else {
-                       emu->out_message(_T("CMT: APSS Rewind"));
+                       my_stprintf_s(message, 1024, _T("APSS Rewind"));
                }
        }
        return result;
@@ -392,7 +392,7 @@ void DATAREC::update_event()
                                register_event(this, EVENT_SIGNAL, sample_usec / DATAREC_FAST_REW_SPEED, true, &register_id);
                        } else {
                                if(rec) {
-                                       emu->out_message(_T("CMT: Record"));
+                                       my_stprintf_s(message, 1024, _T("Record"));
                                }
                                register_event(this, EVENT_SIGNAL, sample_usec, true, &register_id);
                        }
@@ -405,14 +405,14 @@ void DATAREC::update_event()
                        register_id = -1;
                        if(play) {
                                if(buffer_ptr >= buffer_length) {
-                                       emu->out_message(_T("CMT: Stop (End-of-Tape)"));
+                                       my_stprintf_s(message, 1024, _T("Stop (End-of-Tape)"));
                                } else if(buffer_ptr <= 0) {
-                                       emu->out_message(_T("CMT: Stop (Beginning-of-Tape)"));
+                                       my_stprintf_s(message, 1024, _T("Stop (Beginning-of-Tape)"));
                                } else {
-                                       emu->out_message(_T("CMT: Stop (%d %%)"), get_tape_position());
+                                       my_stprintf_s(message, 1024, _T("Stop (%d %%)"), get_tape_position());
                                }
                        } else {
-                               emu->out_message(_T("CMT: Stop"));
+                               my_stprintf_s(message, 1024, _T("Stop"));
                        }
                }
                prev_clock = 0;
index 1c68afd..5fa18c0 100644 (file)
@@ -77,6 +77,7 @@ private:
        int32_t sound_last_vol_l, sound_last_vol_r;
        int sound_volume_l, sound_volume_r;
 #endif
+       _TCHAR message[1024];
        
        void update_event();
        void update_realtime_render();
@@ -113,6 +114,7 @@ public:
 #ifdef DATAREC_SOUND
                sound_volume_l = sound_volume_r = 1024;
 #endif
+               my_tcscpy_s(message, 1023, _T("Stop"));
                set_device_name(_T("Data Recorder"));
        }
        ~DATAREC() {}
@@ -215,6 +217,10 @@ public:
                }
                return 0;
        }
+       const _TCHAR* get_message()
+       {
+               return message;
+       }
        void set_remote(bool value);
        void set_ff_rew(int value);
        bool do_apss(int value);
index e2bb54b..c3606b8 100644 (file)
@@ -225,6 +225,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 597dae0..5e0306a 100644 (file)
@@ -122,6 +122,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 192bcb1..ca2b27f 100644 (file)
@@ -318,12 +318,6 @@ void VM::draw_screen()
        sub->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -408,6 +402,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 08436fb..248d1f3 100644 (file)
@@ -36,7 +36,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_NOTIFY_POWER_OFF
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
@@ -119,7 +118,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -139,6 +137,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index c24a6cf..93f0ee8 100644 (file)
@@ -575,21 +575,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       // WILLFIX : Multiple FDC for 1M FD.
-#if defined(_FM8) || (_FM7) || (_FMNEW7)
-       if(connect_320kfdc || connect_1Mfdc) {
-#endif         
-               uint32_t status = fdc->read_signal(0xff);
-               return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-#if defined(_FM8) || (_FM7) || (_FMNEW7)
-       } else {
-               return 0x00000000;
-       }
-#endif         
-}
-
 void VM::initialize_sound(int rate, int samples)
 {
        // init sound manager
@@ -733,6 +718,20 @@ bool VM::is_floppy_disk_protected(int drv)
        }
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       // WILLFIX : Multiple FDC for 1M FD.
+#if defined(_FM8) || (_FM7) || (_FMNEW7)
+       if(connect_320kfdc || connect_1Mfdc) {
+#endif         
+               return fdc->read_signal(0);
+#if defined(_FM8) || (_FM7) || (_FMNEW7)
+       } else {
+               return 0x00000000;
+       }
+#endif 
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        if(drec != NULL) drec->play_tape(file_path);
@@ -782,6 +781,14 @@ int VM::get_tape_position()
        return 0;
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       if(drec != NULL) {
+               return drec->get_message();
+       }
+       return NULL;
+}
+
 void VM::push_play()
 {
        if(drec != NULL) {
index d204a02..b3f7822 100644 (file)
@@ -34,7 +34,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
-#define USE_ACCESS_LAMP
 #define USE_STATE
 #define USE_DEBUGGER
 #define DATAREC_SOUND
@@ -496,7 +495,6 @@ public:
        void update_dipswitch(void);
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -516,6 +514,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
@@ -524,6 +523,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        
        bool is_frame_skippable();
        void push_play();
index 69d6bb6..228105d 100644 (file)
@@ -81,11 +81,13 @@ VM::VM(EMU* parent_emu) : emu(parent_emu)
        scsi_host = new SCSI_HOST(this, emu);
        for(int i = 0; i < 7; i++) {
                if(FILEIO::IsFileExisting(create_local_path(_T("SCSI%d.DAT"), i))) {
-                       SCSI_HDD* scsi_hdd = new SCSI_HDD(this, emu);
-                       scsi_hdd->set_device_name("SCSI Hard Disk Drive #%d", i + 1);
-                       scsi_hdd->scsi_id = i;
-                       scsi_hdd->set_context_interface(scsi_host);
-                       scsi_host->set_context_target(scsi_hdd);
+                       scsi_hdd[i] = new SCSI_HDD(this, emu);
+                       scsi_hdd[i]->set_device_name("SCSI Hard Disk Drive #%d", i + 1);
+                       scsi_hdd[i]->scsi_id = i;
+                       scsi_hdd[i]->set_context_interface(scsi_host);
+                       scsi_host->set_context_target(scsi_hdd[i]);
+               } else {
+                       scsi_hdd[i] = NULL;
                }
        }
        psg = new SN76489AN(this, emu);
@@ -276,18 +278,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status_fdd = fdc->read_signal(0);
-       uint32_t status_hdd = scsi_host->read_signal(0);
-       if(bios) {
-               uint32_t status = bios->read_signal(0);
-               status_fdd |= status & 0x0f;
-               status_hdd |= status >> 4;
-       }
-       return (status_hdd) ? 4 : (status_fdd & (1 | 4)) ? 1 : (status_fdd & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -368,6 +358,29 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       uint32_t status = fdc->read_signal(0);
+       if(bios) {
+               status |= bios->read_signal(0);
+       }
+       return status;
+}
+
+uint32_t VM::is_hard_disk_accessed()
+{
+       uint32_t status = 0;
+       for(int i = 0; i < 7; i++) {
+               if(scsi_hdd[i] != NULL && scsi_hdd[i]->read_signal(0) != 0) {
+                       status |= 1 << i;
+               }
+       }
+       if(bios) {
+               status |= bios->read_signal(1);
+       }
+       return status;
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index b8c4cd4..671b9f4 100644 (file)
 // device informations for win32
 #define USE_FD1
 #define USE_FD2
+#define USE_HARD_DISK          7
 #define NOTIFY_KEY_DOWN
 #define USE_SHIFT_NUMPAD_KEY
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
@@ -73,6 +73,7 @@ class I286;
 #endif
 class IO;
 class MB8877;
+class SCSI_HDD;
 class SCSI_HOST;
 class SN76489AN;
 
@@ -109,6 +110,7 @@ protected:
 #endif
        IO* io;
        MB8877* fdc;
+       SCSI_HDD* scsi_hdd[7];
        SCSI_HOST* scsi_host;
        SN76489AN* psg;
        
@@ -146,7 +148,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -166,6 +167,8 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
+       uint32_t is_hard_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index cb4015f..5130d03 100644 (file)
@@ -295,7 +295,9 @@ void BIOS::reset()
        for(int i = 0; i < MAX_DRIVE; i++) {
                access_fdd[i] = false;
        }
-       access_scsi = false;
+       for(int i = 0; i < MAX_SCSI; i++) {
+               access_scsi[i] = false;
+       }
        secnum = 1;
        timeout = 0;
 }
@@ -474,7 +476,7 @@ bool BIOS::bios_call_i86(uint32_t PC, uint16_t regs[], uint16_t sregs[], int32_t
                                fio->Fseek(block * BLOCK_SIZE, FILEIO_SEEK_SET);
                                while(BX > 0) {
                                        // check block
-                                       access_scsi = true;
+                                       access_scsi[drv] = true;
                                        if(!(block++ < scsi_blocks[drv])) {
                                                AH = 0x80;
                                                CX = ERR_SCSI_PARAMERROR;
@@ -583,7 +585,7 @@ bool BIOS::bios_call_i86(uint32_t PC, uint16_t regs[], uint16_t sregs[], int32_t
                                fio->Fseek(block * BLOCK_SIZE, FILEIO_SEEK_SET);
                                while(BX > 0) {
                                        // check block
-                                       access_scsi = true;
+                                       access_scsi[drv] = true;
                                        if(!(block++ < scsi_blocks[drv])) {
                                                AH = 0x80;
                                                CX = ERR_SCSI_PARAMERROR;
@@ -676,7 +678,7 @@ bool BIOS::bios_call_i86(uint32_t PC, uint16_t regs[], uint16_t sregs[], int32_t
                                int block = (CL << 16) | DX;
                                while(BX > 0) {
                                        // check block
-                                       access_scsi = true;
+                                       access_scsi[drv] = true;
                                        if(!(block++ < scsi_blocks[drv])) {
                                                AH = 0x80;
                                                CX = ERR_SCSI_PARAMERROR;
@@ -995,7 +997,7 @@ write_id:
                                return true;
                        }
                        // load ipl
-                       access_scsi = true;
+                       access_scsi[drv] = true;
                        fio->Fread(buffer, BLOCK_SIZE * 4, 1);
                        fio->Fclose();
                        delete fio;
@@ -1088,16 +1090,21 @@ uint32_t BIOS::read_signal(int ch)
 {
        // get access status
        uint32_t stat = 0;
-       for(int i = 0; i < MAX_DRIVE; i++) {
-               if(access_fdd[i]) {
-                       stat |= 1 << i;
+       if(ch == 0) {
+               for(int i = 0; i < MAX_DRIVE; i++) {
+                       if(access_fdd[i]) {
+                               stat |= 1 << i;
+                       }
+                       access_fdd[i] = false;
+               }
+       } else if(ch == 1) {
+               for(int i = 0; i < MAX_SCSI; i++) {
+                       if(access_scsi[i]) {
+                               stat |= 1 << i;
+                       }
+                       access_scsi[i] = false;
                }
-               access_fdd[i] = false;
-       }
-       if(access_scsi) {
-               stat |= 0x10;
        }
-       access_scsi = false;
        return stat;
 }
 
index 22a6b92..815e4cf 100644 (file)
@@ -34,7 +34,7 @@ private:
        int secnum, timeout;
        
        // disk bios
-       bool access_fdd[MAX_DRIVE], access_scsi;
+       bool access_fdd[MAX_DRIVE], access_scsi[MAX_SCSI];
        int scsi_blocks[MAX_SCSI];
        
 public:
index 7dba6e0..04cdab6 100644 (file)
@@ -148,11 +148,13 @@ VM::VM(EMU* parent_emu) : emu(parent_emu)
        scsi_host = new SCSI_HOST(this, emu);
        for(int i = 0; i < 7; i++) {
                if(FILEIO::IsFileExisting(create_local_path(_T("SCSI%d.DAT"), i))) {
-                       SCSI_HDD* scsi_hdd = new SCSI_HDD(this, emu);
-                       scsi_hdd->set_device_name("SCSI Hard Disk Drive #%d", i + 1);
-                       scsi_hdd->scsi_id = i;
-                       scsi_hdd->set_context_interface(scsi_host);
-                       scsi_host->set_context_target(scsi_hdd);
+                       scsi_hdd[i] = new SCSI_HDD(this, emu);
+                       scsi_hdd[i]->set_device_name("SCSI Hard Disk Drive #%d", i + 1);
+                       scsi_hdd[i]->scsi_id = i;
+                       scsi_hdd[i]->set_context_interface(scsi_host);
+                       scsi_host->set_context_target(scsi_hdd[i]);
+               } else {
+                       scsi_hdd[i] = NULL;
                }
        }
        dma = new UPD71071(this, emu);
@@ -393,18 +395,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status_fdd = fdc->read_signal(0);
-       uint32_t status_hdd = scsi_host->read_signal(0);
-       if(bios) {
-               uint32_t status = bios->read_signal(0);
-               status_fdd |= status & 0x0f;
-               status_hdd |= status >> 4;
-       }
-       return (status_hdd) ? 4 : (status_fdd & (1 | 4)) ? 1 : (status_fdd & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -485,6 +475,29 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       uint32_t status = fdc->read_signal(0);
+       if(bios) {
+               status |= bios->read_signal(0);
+       }
+       return status;
+}
+
+uint32_t VM::is_hard_disk_accessed()
+{
+       uint32_t status = 0;
+       for(int i = 0; i < 7; i++) {
+               if(scsi_hdd[i] != NULL && scsi_hdd[i]->read_signal(0) != 0) {
+                       status |= 1 << i;
+               }
+       }
+       if(bios) {
+               status |= bios->read_signal(1);
+       }
+       return status;
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 7f3a0de..4937d7f 100644 (file)
 #define USE_FD2
 #define USE_FD3
 #define USE_FD4
+#define USE_HARD_DISK          7
 #define NOTIFY_KEY_DOWN
 #define USE_SHIFT_NUMPAD_KEY
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
@@ -121,6 +121,7 @@ class IO;
 class MB8877;
 class MSM58321;
 class PCM1BIT;
+class SCSI_HDD;
 class SCSI_HOST;
 class UPD71071;
 
@@ -158,6 +159,7 @@ protected:
        MB8877* fdc;
        MSM58321* rtc;
        PCM1BIT* pcm;
+       SCSI_HDD* scsi_hdd[7];
        SCSI_HOST* scsi_host;
        UPD71071* dma;
        
@@ -193,7 +195,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -213,6 +214,8 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
+       uint32_t is_hard_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index bd4e829..511a083 100644 (file)
@@ -423,16 +423,9 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
+uint32_t VM::is_floppy_disk_accessed()
 {
-       uint32_t status_fdd = fdc->read_signal(0);
-       uint32_t status_hdd = scsi_host->read_signal(0);
-       if(bios) {
-               uint32_t status = bios->read_signal(0);
-               status_fdd |= status & 0x0f;
-               status_hdd |= status >> 4;
-       }
-       return (status_hdd) ? 4 : (status_fdd & (1 | 4)) ? 1 : (status_fdd & (2 | 8)) ? 2 : 0;
+       return fdc->read_signal(0);
 }
 
 // ----------------------------------------------------------------------------
index 4f2b84c..1a4229f 100644 (file)
@@ -87,7 +87,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
-#define USE_ACCESS_LAMP
 #define USE_SOUND_FILES                1
 #define USE_SOUND_FILES_FDD
 #if defined(USE_SOUND_FILES)
@@ -209,7 +208,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
index 1c287aa..704e102 100644 (file)
@@ -206,12 +206,6 @@ void VM::draw_screen()
        subbus->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -297,6 +291,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -334,6 +333,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 2c8d6b0..e06edcc 100644 (file)
@@ -47,7 +47,6 @@
 #define USE_AUTO_KEY_CAPS
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       4
 #define USE_DEBUGGER
 #define USE_STATE
@@ -128,7 +127,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -148,6 +146,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -155,6 +154,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 9d8ed93..eacb08b 100644 (file)
@@ -254,6 +254,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 175f5d9..f55cf3e 100644 (file)
@@ -122,6 +122,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 33367c9..0215cc0 100644 (file)
@@ -188,12 +188,6 @@ void VM::draw_screen()
        vdp->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -302,6 +296,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -342,6 +341,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 91352db..35240c0 100644 (file)
@@ -31,7 +31,6 @@
 #define USE_AUTO_KEY                   5
 #define USE_AUTO_KEY_RELEASE   8
 #define USE_AUTO_KEY_CAPS
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       4
 #define USE_JOYSTICK
 #define USE_DEBUGGER
@@ -107,7 +106,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -126,6 +124,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -133,6 +132,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 1e20e99..54cf355 100644 (file)
@@ -193,12 +193,6 @@ void VM::draw_screen()
        vdp->draw_screen();
 }
 
-///uint32_t VM::get_access_lamp_status()
-///{
-///    uint32_t status = fdc->read_signal(0);
-///    return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-///}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -300,6 +294,11 @@ bool VM::is_cart_inserted(int drv)
 ///    return fdc->is_disk_protected(drv);
 ///}
 
+///uint32_t VM::is_floppy_disk_accessed()
+///{
+///    return fdc->read_signal(0);
+///}
+
 ///void VM::play_tape(const _TCHAR* file_path)
 ///{
 ///    drec->play_tape(file_path);
@@ -337,6 +336,11 @@ bool VM::is_cart_inserted(int drv)
 ///    return drec->get_tape_position();
 ///}
 
+///const _TCHAR* VM::get_tape_message()
+///{
+///    return drec->get_message();
+///}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index c546cd9..a231c82 100644 (file)
@@ -31,7 +31,6 @@
 #define USE_AUTO_KEY                   5
 #define USE_AUTO_KEY_RELEASE   8
 #define USE_AUTO_KEY_CAPS
-///#define USE_ACCESS_LAMP
 #define SUPPORT_TV_RENDER
 #define USE_SOUND_VOLUME       2
 ///#define USE_SOUND_VOLUME    4
@@ -111,7 +110,6 @@ public:
        
        // draw screen
        void draw_screen();
-///    uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -130,13 +128,15 @@ public:
 ///    bool is_floppy_disk_inserted(int drv);
 ///    void is_floppy_disk_protected(int drv, bool value);
 ///    bool is_floppy_disk_protected(int drv);
+///    uint32_t is_floppy_disk_accessed();
 ///    void play_tape(const _TCHAR* file_path);
 ///    void rec_tape(const _TCHAR* file_path);
 ///    void close_tape();
 ///    bool is_tape_inserted();
-//     bool is_tape_playing();
-//     bool is_tape_recording();
-//     int get_tape_position();
+///    bool is_tape_playing();
+///    bool is_tape_recording();
+///    int get_tape_position();
+///    const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index f232951..2c1ec47 100644 (file)
@@ -201,6 +201,8 @@ DEVICE *VM::get_cpu(int index)
 {
        if(index == 0) {
                return cpu;
+       } else if(index == 1) {
+               return cpu_tf20;
        }
        return NULL;
 }
@@ -215,12 +217,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc_tf20->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -300,6 +296,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc_tf20->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc_tf20->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        memory->play_tape(file_path);
index cd35d08..7d58fd9 100644 (file)
@@ -38,7 +38,6 @@
 #define USE_AUTO_KEY_CAPS
 #define DONT_KEEEP_KEY_PRESSED
 #define USE_NOTIFY_POWER_OFF
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME               2
 #define USE_DEBUGGER
 #define USE_STATE
@@ -111,7 +110,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -131,6 +129,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
index 6d71d53..7d7f3e6 100644 (file)
@@ -148,12 +148,6 @@ void VM::draw_screen()
        io->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = tf20->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -235,6 +229,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return tf20->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return tf20->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
 #if defined(USE_SOUND_FILES)
@@ -281,6 +280,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 84ab1ab..3f1b4da 100644 (file)
@@ -33,7 +33,6 @@
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY                   6
 #define USE_AUTO_KEY_RELEASE   10
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME               3
 #define USE_DEBUGGER
 #define USE_STATE
@@ -99,7 +98,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -119,6 +117,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -126,6 +125,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 7bd9b15..91f2aed 100644 (file)
@@ -139,12 +139,6 @@ void VM::draw_screen()
        io->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = tf20->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -220,6 +214,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return tf20->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return tf20->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 92df2c3..f90d7f3 100644 (file)
@@ -34,7 +34,6 @@
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           6
 #define USE_AUTO_KEY_RELEASE   10
-#define USE_ACCESS_LAMP
 #define USE_SOUND_FILES                2
 #define USE_SOUND_VOLUME       1
 #define USE_DEBUGGER
@@ -101,7 +100,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -121,6 +119,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index 6bc558b..f7a83a1 100644 (file)
@@ -10,9 +10,6 @@
 
 #include "hd44102.h"
 
-// /src/emu/emucore.h
-#define BIT(x,n) (((x)>>(n))&1)
-
 #define CONTROL_DISPLAY_OFF         0x38
 #define CONTROL_DISPLAY_ON          0x39
 #define CONTROL_COUNT_DOWN_MODE     0x3a
 //  count_up_or_down -
 //-------------------------------------------------
 
-inline void HD44102::control_w(data_w data)
+inline void HD44102::count_up_or_down()
 {
+       m_output = m_ram[m_x][m_y];
+       
        if (m_status & STATUS_COUNT_UP)
        {
                if (++m_y > 49) m_y = 0;
@@ -56,10 +55,11 @@ inline void HD44102::control_w(data_w data)
 
 void HD44102::initialize()
 {
-       m_cs2 = 0;
+//     m_cs2 = 0;
        m_page = 0;
        m_x = 0;
        m_y = 0;
+       memset(m_ram, 0, sizeof(m_ram));
 }
 
 //-------------------------------------------------
@@ -75,13 +75,13 @@ void HD44102::reset()
 //  read - register read
 //-------------------------------------------------
 
-uint8_t HD44102::read()
+uint8_t HD44102::read(uint32_t offset)
 {
-       UINT8 data = 0;
+       uint8_t data = 0;
 
-       if (m_cs2)
+//     if (m_cs2)
        {
-               data = (offset & 0x01) ? data_r(space, offset) : status_r(space, offset);
+               data = (offset & 0x01) ? data_r() : status_r();
        }
 
        return data;
@@ -91,11 +91,11 @@ uint8_t HD44102::read()
 //  write - register write
 //-------------------------------------------------
 
-void HD44102::write(uint8_t data)
+void HD44102::write(uint32_t offset, uint8_t data)
 {
-       if (m_cs2)
+//     if (m_cs2)
        {
-               (offset & 0x01) ? data_w(/*space, offset, */data) : control_w(/*space, offset, */data);
+               (offset & 0x01) ? data_w(data) : control_w(data);
        }
 }
 
@@ -174,9 +174,9 @@ void HD44102::control_w(uint8_t data)
 
 uint8_t HD44102::data_r()
 {
-       UINT8 data = m_output;
+       uint8_t data = m_output;
 
-       m_output = m_ram[m_x][m_y];
+//     m_output = m_ram[m_x][m_y];
 
        count_up_or_down();
 
@@ -198,45 +198,43 @@ void HD44102::data_w(uint8_t data)
 //  cs2_w - chip select 2 write
 //-------------------------------------------------
 
-void HD44102::write_signal(int id, uint32_t data, uint32_t mask)
-{
-       if(id == SIG_HD44102_CS2) {
-               m_cs2 = data & mask;
-       }
-}
+//void HD44102::write_signal(int id, uint32_t data, uint32_t mask)
+//{
+//     if(id == SIG_HD44102_CS2) {
+//             m_cs2 = data & mask;
+//     }
+//}
 
 //-------------------------------------------------
 //  update_screen - update screen
 //-------------------------------------------------
 
-void HD44102::screen_update(int m_sx, int m_sy)
+void HD44102::screen_update(int m_sx, int m_sy, bool reverse)
 {
        scrntype_t color_on   = RGB_COLOR( 48,  56,  16);       // dot on
 //     scrntype_t color_off  = RGB_COLOR(144, 150, 144);       // dot off
        scrntype_t color_back = RGB_COLOR(160, 168, 160);       // back
        
-       for (int y = 0; y < 50; y++)
+       for (int x = 0; x < 50; x++)
        {
-               int z = m_page << 3;
-
-               for (int x = 0; x < 32; x++)
+               for (int y = 0; y < 4; y++)
                {
-                       UINT8 data = m_ram[z / 8][y];
-
-                       int sy = m_sy + z;
-                       int sx = m_sx + y;
-
-//                     if (cliprect.contains(sx, sy))
+                       int sy = (m_page + y) % 4;
+                       int sx = reverse ? (49 - x) : x;
+                       
+                       uint8_t data = m_ram[sy][x];
+                       
+                       for (int b = 0; b < 8; b++)
                        {
-                               int color = (m_status & STATUS_DISPLAY_OFF) ? 0 : BIT(data, z % 8);
-
-//                             bitmap.pix16(sy, sx) = color;
-                               scrntype_t *dest = emu->get_screen_buffer(sy) + sx;
-                               *dest = color ? color_on : color_back;
+                               int dy = m_sy + 8 * sy + b;
+                               int dx = m_sx + sx;
+                               
+                               if(dx >= 0 && dx < SCREEN_WIDTH && dy >= 0 && dy < SCREEN_HEIGHT) {
+                                       int color = (m_status & STATUS_DISPLAY_OFF) ? 0 : ((data >> b) & 0x01);
+                                       scrntype_t *dest = emu->get_screen_buffer(m_sy + sy * 8 + b) + (m_sx + sx);
+                                       *dest = color ? color_on : color_back;
+                               }
                        }
-
-                       z++;
-                       z %= 32;
                }
        }
 }
@@ -251,7 +249,7 @@ void HD44102::save_state(FILEIO* state_fio)
        state_fio->Fwrite(m_ram, sizeof(m_ram), 1);
        state_fio->FputUint8(m_status);
        state_fio->FputUint8(m_output);
-       state_fio->FputInt32(m_cs2);
+//     state_fio->FputInt32(m_cs2);
        state_fio->FputInt32(m_page);
        state_fio->FputInt32(m_x);
        state_fio->FputInt32(m_y);
@@ -268,7 +266,7 @@ bool HD44102::load_state(FILEIO* state_fio)
        state_fio->Fread(m_ram, sizeof(m_ram), 1);
        m_status = state_fio->FgetUint8();
        m_output = state_fio->FgetUint8();
-       m_cs2 = state_fio->FgetInt32();
+//     m_cs2 = state_fio->FgetInt32();
        m_page = state_fio->FgetInt32();
        m_x = state_fio->FgetInt32();
        m_y = state_fio->FgetInt32();
index 6cdad8a..3237e64 100644 (file)
@@ -15,7 +15,7 @@
 #include "../emu.h"
 #include "device.h"
 
-#define SIG_HD44102_CS2        0
+//#define SIG_HD44102_CS2      0
 
 class HD44102 : public DEVICE
 {
@@ -25,7 +25,7 @@ private:
        uint8_t m_status;                // status register
        uint8_t m_output;                // output register
        
-       int m_cs2;                      // chip select
+//     int m_cs2;                      // chip select
        int m_page;                     // display start page
        int m_x;                        // X address
        int m_y;                        // Y address
@@ -36,7 +36,7 @@ private:
        uint8_t status_r();
        void control_w(uint8_t data);
        uint8_t data_r();
-       void data_w(data_w data);
+       void data_w(uint8_t data);
        inline void count_up_or_down();
        
 public:
@@ -49,14 +49,14 @@ public:
        // common functions
        void initialize();
        void reset();
-       void write_signal(int id, uint32_t data, uint32_t mask);
+//     void write_signal(int id, uint32_t data, uint32_t mask);
        void save_state(FILEIO* state_fio);
        bool load_state(FILEIO* state_fio);
        
        // unique functions
-       uint8_t read();
-       void write(uint8_t data);
-       void screen_update(int m_sx, int m_sy);
+       uint8_t read(uint32_t offset);
+       void write(uint32_t offset, uint8_t data);
+       void screen_update(int m_sx, int m_sy, bool reverse);
 };
 
 #endif
index 79a9136..78cde07 100644 (file)
@@ -298,12 +298,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -383,6 +377,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 9cc77ff..4a5a4af 100644 (file)
@@ -56,7 +56,6 @@
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #include "../../common.h"
 #include "../../fileio.h"
@@ -153,7 +152,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -173,6 +171,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index e23127b..37401bd 100644 (file)
@@ -241,6 +241,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index 7e320e3..678f006 100644 (file)
@@ -163,7 +163,6 @@ public:
        
        // draw screen
        void draw_screen();
-//     uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -185,6 +184,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
diff --git a/source/src/vm/jr800/io.cpp b/source/src/vm/jr800/io.cpp
new file mode 100644 (file)
index 0000000..a9b18ad
--- /dev/null
@@ -0,0 +1,183 @@
+/*
+       National JR-800 Emulator 'eJR-800'
+
+       Author : Takeda.Toshiya
+       Origin : PockEmul
+       Date   : 2017.03.13-
+
+       [ memory mapped i/o ]
+*/
+
+#include "io.h"
+#include "../hd44102.h"
+
+void IO::write_memory_mapped_io8(uint32_t addr, uint32_t data)
+{
+       int chip = 0;
+       
+       switch(addr & 0xf00) {
+       case 0xa00:
+       case 0xb00:
+               switch(addr & 0xff) {
+               case 0x01: chip = 0; break;
+               case 0x02: chip = 1; break;
+               case 0x04: chip = 2; break;
+               case 0x08: chip = 3; break;
+               case 0x10: chip = 4; break;
+               case 0x20: chip = 5; break;
+               case 0x40: chip = 6; break;
+               case 0x80: chip = 7; break;
+               }
+               d_lcd[chip]->write(addr >> 8, data);
+               break;
+       }
+}
+
+uint32_t IO::read_memory_mapped_io8(uint32_t addr)
+{
+       const uint8_t* key_stat = emu->get_key_buffer();
+       uint8_t data = 0;
+       int chip = 0;
+       
+       switch(addr & 0xf00) {
+       case 0xa00:
+       case 0xb00:
+               switch(addr & 0xff) {
+               case 0x01: chip = 0; break;
+               case 0x02: chip = 1; break;
+               case 0x04: chip = 2; break;
+               case 0x08: chip = 3; break;
+               case 0x10: chip = 4; break;
+               case 0x20: chip = 5; break;
+               case 0x40: chip = 6; break;
+               case 0x80: chip = 7; break;
+               }
+               return d_lcd[chip]->read(addr >> 8);
+       case 0xd00:
+       case 0xe00:
+       case 0xf00:
+               if(!(addr & 0x001)) {
+                       if(key_stat[0x60]) data |= 0x01; // NumPad 0
+                       if(key_stat[0x61]) data |= 0x02; // NumPad 1
+                       if(key_stat[0x62]) data |= 0x04; // NumPad 2
+                       if(key_stat[0x63]) data |= 0x08; // NumPad 3
+                       if(key_stat[0x64]) data |= 0x10; // NumPad 4
+                       if(key_stat[0x65]) data |= 0x20; // NumPad 5
+                       if(key_stat[0x66]) data |= 0x40; // NumPad 6
+                       if(key_stat[0x67]) data |= 0x80; // NumPad 7
+               }
+               if(!(addr & 0x002)) {
+                       if(key_stat[0x68]) data |= 0x01; // NumPad 8
+                       if(key_stat[0x69]) data |= 0x02; // NumPad 9
+                       if(key_stat[0x6a]) data |= 0x04; // NumPad *
+                       if(key_stat[0x6b]) data |= 0x08; // NumPad +
+                       if(key_stat[0x6c]) data |= 0x10; // NumPad =
+                       if(key_stat[0x6d]) data |= 0x20; // NumPad -
+                       if(key_stat[0x6e]) data |= 0x40; // NumPad .
+                       if(key_stat[0x6f]) data |= 0x80; // NumPad /
+                       //
+                       if(key_stat[0xdb]) data |= 0x04; // [ -> NumPad *
+                       if(key_stat[0xe2]) data |= 0x08; // _ -> NumPad +
+                       if(key_stat[0xbf]) data |= 0x10; // / -> NumPad =
+                       if(key_stat[0xdd]) data |= 0x20; // ] -> NumPad -
+                       if(key_stat[0xdc]) data |= 0x80; // \ -> NumPad /
+               }
+               if(!(addr & 0x004)) {
+                       if(key_stat[0x30]) data |= 0x01; // 0
+                       if(key_stat[0x31]) data |= 0x02; // 1
+                       if(key_stat[0x32]) data |= 0x04; // 2
+                       if(key_stat[0x33]) data |= 0x08; // 3
+                       if(key_stat[0x34]) data |= 0x10; // 4
+                       if(key_stat[0x35]) data |= 0x20; // 5
+                       if(key_stat[0x36]) data |= 0x40; // 6
+                       if(key_stat[0x37]) data |= 0x80; // 7
+               }
+               if(!(addr & 0x008)) {
+                       if(key_stat[0x38]) data |= 0x01; // 8
+                       if(key_stat[0x39]) data |= 0x02; // 9
+                       if(key_stat[0xba]) data |= 0x04; // :
+                       if(key_stat[0xbb]) data |= 0x08; // ;
+                       if(key_stat[0xbc]) data |= 0x10; // ,
+                       if(key_stat[0xde]) data |= 0x20; // ^
+                       if(key_stat[0xbe]) data |= 0x40; // .
+                       if(key_stat[0x24]) data |= 0x80; // Home
+               }
+               if(!(addr & 0x010)) {
+                       if(key_stat[0x20]) data |= 0x01; // Space
+                       if(key_stat[0x41]) data |= 0x02; // A
+                       if(key_stat[0x42]) data |= 0x04; // B
+                       if(key_stat[0x43]) data |= 0x08; // C
+                       if(key_stat[0x44]) data |= 0x10; // D
+                       if(key_stat[0x45]) data |= 0x20; // E
+                       if(key_stat[0x46]) data |= 0x40; // F
+                       if(key_stat[0x47]) data |= 0x80; // G
+               }
+               if(!(addr & 0x020)) {
+                       if(key_stat[0x48]) data |= 0x01; // H
+                       if(key_stat[0x49]) data |= 0x02; // I
+                       if(key_stat[0x4a]) data |= 0x04; // J
+                       if(key_stat[0x4b]) data |= 0x08; // K
+                       if(key_stat[0x4c]) data |= 0x10; // L
+                       if(key_stat[0x4d]) data |= 0x20; // M
+                       if(key_stat[0x4e]) data |= 0x40; // N
+                       if(key_stat[0x4f]) data |= 0x80; // O
+               }
+               if(!(addr & 0x040)) {
+                       if(key_stat[0x50]) data |= 0x01; // P
+                       if(key_stat[0x51]) data |= 0x02; // Q
+                       if(key_stat[0x52]) data |= 0x04; // R
+                       if(key_stat[0x53]) data |= 0x08; // S
+                       if(key_stat[0x54]) data |= 0x10; // T
+                       if(key_stat[0x55]) data |= 0x20; // U
+                       if(key_stat[0x56]) data |= 0x40; // V
+                       if(key_stat[0x57]) data |= 0x80; // W
+               }
+               if(!(addr & 0x080)) {
+                       if(key_stat[0x58]) data |= 0x01; // X
+                       if(key_stat[0x59]) data |= 0x02; // Y
+                       if(key_stat[0x5a]) data |= 0x04; // Z
+                       if(key_stat[0x2d]) data |= 0x08; // Ins
+                       if(key_stat[0x27]) data |= 0x10; // Right
+                       if(key_stat[0x26]) data |= 0x20; // Up
+                       if(key_stat[0x0d]) data |= 0x40; // Enter
+                       if(key_stat[0x03]) data |= 0x80; // Break
+               }
+               if(!(addr & 0x100)) {
+                       if(key_stat[0x70]) data |= 0x01; // F1
+                       if(key_stat[0x71]) data |= 0x02; // F2
+                       if(key_stat[0x72]) data |= 0x04; // F3
+                       if(key_stat[0x73]) data |= 0x08; // F4
+                       if(key_stat[0x74]) data |= 0x10; // F5
+                       if(key_stat[0x75]) data |= 0x20; // F6
+                       if(key_stat[0x76]) data |= 0x40; // F7
+                       if(key_stat[0x77]) data |= 0x80; // F8
+               }
+               if(!(addr & 0x200)) {
+                       if(key_stat[0x12]) data |= 0x04; // Alt
+                       if(key_stat[0x10]) data |= 0x08; // Shift
+                       if(key_stat[0x11]) data |= 0x10; // Ctrl
+               }
+               return (data ^ 0xff);
+       }
+       return 0xff;
+}
+
+#define STATE_VERSION  1
+
+void IO::save_state(FILEIO* state_fio)
+{
+       state_fio->FputUint32(STATE_VERSION);
+       state_fio->FputInt32(this_device_id);
+}
+
+bool IO::load_state(FILEIO* state_fio)
+{
+       if(state_fio->FgetUint32() != STATE_VERSION) {
+               return false;
+       }
+       if(state_fio->FgetInt32() != this_device_id) {
+               return false;
+       }
+       return true;
+}
+
diff --git a/source/src/vm/jr800/io.h b/source/src/vm/jr800/io.h
new file mode 100644 (file)
index 0000000..d64a29a
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+       National JR-800 Emulator 'eJR-800'
+
+       Author : Takeda.Toshiya
+       Origin : PockEmul
+       Date   : 2017.03.13-
+
+       [ memory mapped i/o ]
+*/
+
+#ifndef _IO_H_
+#define _IO_H_
+
+#include "../vm.h"
+#include "../../emu.h"
+#include "../device.h"
+
+class HD44102;
+
+class IO : public DEVICE
+{
+private:
+       HD44102 *d_lcd[8];
+       
+public:
+       IO(VM* parent_vm, EMU* parent_emu) : DEVICE(parent_vm, parent_emu)
+       {
+               set_device_name(_T("Memory Mapped I/O"));
+       }
+       ~IO() {}
+       
+       // common functions
+       void write_memory_mapped_io8(uint32_t addr, uint32_t data);
+       uint32_t read_memory_mapped_io8(uint32_t addr);
+       void save_state(FILEIO* state_fio);
+       bool load_state(FILEIO* state_fio);
+       
+       // unique function
+       void set_context_lcd(int i, HD44102 *device)
+       {
+               d_lcd[i] = device;
+       }
+};
+
+#endif
+
diff --git a/source/src/vm/jr800/jr800.cpp b/source/src/vm/jr800/jr800.cpp
new file mode 100644 (file)
index 0000000..3f71050
--- /dev/null
@@ -0,0 +1,281 @@
+/*
+       National JR-800 Emulator 'eJR-800'
+
+       Author : Takeda.Toshiya
+       Date   : 2017.03.13-
+
+       [ virtual machine ]
+*/
+
+#include "jr800.h"
+#include "../../emu.h"
+#include "../device.h"
+#include "../event.h"
+
+#include "../datarec.h"
+#include "../hd44102.h"
+#include "../mc6800.h"
+#include "../memory.h"
+#include "../noise.h"
+#include "../pcm1bit.h"
+
+#ifdef USE_DEBUGGER
+#include "../debugger.h"
+#endif
+
+#include "io.h"
+
+// ----------------------------------------------------------------------------
+// initialize
+// ----------------------------------------------------------------------------
+
+VM::VM(EMU* parent_emu) : emu(parent_emu)
+{
+       // create devices
+       first_device = last_device = NULL;
+       dummy = new DEVICE(this, emu);  // must be 1st device
+       event = new EVENT(this, emu);   // must be 2nd device
+       
+       drec = new DATAREC(this, emu);
+       drec->set_context_noise_play(new NOISE(this, emu));
+       drec->set_context_noise_stop(new NOISE(this, emu));
+       drec->set_context_noise_fast(new NOISE(this, emu));
+       for(int i = 0; i < 8; i++) {
+               lcd[i] = new HD44102(this, emu);
+       }
+       cpu = new MC6800(this, emu);
+       memory = new MEMORY(this, emu);
+       pcm = new PCM1BIT(this, emu);
+       
+       io = new IO(this, emu);
+       
+       // set contexts
+       event->set_context_cpu(cpu);
+       event->set_context_sound(drec);
+       event->set_context_sound(pcm);
+       event->set_context_sound(drec->get_context_noise_play());
+       event->set_context_sound(drec->get_context_noise_stop());
+       event->set_context_sound(drec->get_context_noise_fast());
+       
+//     cpu->set_context_port1(drec, SIG_DATAREC_MIC, 0x01, 0);
+       cpu->set_context_port1(pcm, SIG_PCM1BIT_ON, 0x08, 0);
+       cpu->set_context_port1(pcm, SIG_PCM1BIT_SIGNAL, 0x10, 0);
+       
+       for(int i = 0; i < 8; i++) {
+               io->set_context_lcd(i, lcd[i]);
+       }
+       
+       // cpu bus
+       cpu->set_context_mem(memory);
+#ifdef USE_DEBUGGER
+       cpu->set_context_debugger(new DEBUGGER(this, emu));
+#endif
+       
+       // memory bus
+       memset(ram, 0x00, sizeof(ram));
+       memset(rom, 0xff, sizeof(rom));
+       
+       memory->read_bios(_T("BASIC.ROM"), rom, sizeof(rom));
+       
+       memory->set_memory_rw(0x2000, 0x7fff, ram);
+       memory->set_memory_r(0x8000, 0xffff, rom);
+       memory->set_memory_mapped_io_rw(0x0a00, 0x0bff, io);
+       memory->set_memory_mapped_io_rw(0x0d00, 0x0fff, io);
+       
+       // initialize all devices
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               device->initialize();
+       }
+}
+
+VM::~VM()
+{
+       // delete all devices
+       for(DEVICE* device = first_device; device;) {
+               DEVICE *next_device = device->next_device;
+               device->release();
+               delete device;
+               device = next_device;
+       }
+}
+
+DEVICE* VM::get_device(int id)
+{
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               if(device->this_device_id == id) {
+                       return device;
+               }
+       }
+       return NULL;
+}
+
+// ----------------------------------------------------------------------------
+// drive virtual machine
+// ----------------------------------------------------------------------------
+
+void VM::reset()
+{
+       // reset all devices
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               device->reset();
+       }
+       cpu->write_signal(SIG_MC6801_PORT_1, 0x00, 0xff);
+       cpu->write_signal(SIG_MC6801_PORT_2, 0x00, 0xff);
+       cpu->write_signal(SIG_MC6801_PORT_3, 0x00, 0xff);
+       cpu->write_signal(SIG_MC6801_PORT_4, 0x00, 0xff);
+}
+
+void VM::run()
+{
+       event->drive();
+}
+
+// ----------------------------------------------------------------------------
+// debugger
+// ----------------------------------------------------------------------------
+
+#ifdef USE_DEBUGGER
+DEVICE *VM::get_cpu(int index)
+{
+       if(index == 0) {
+               return cpu;
+       }
+       return NULL;
+}
+#endif
+
+// ----------------------------------------------------------------------------
+// draw screen
+// ----------------------------------------------------------------------------
+
+void VM::draw_screen()
+{
+       for(int y = 0; y < 2; y++) {
+               for(int x = 0; x < 4; x++) {
+                       lcd[x + 4 * y]->screen_update(50 * x - 4, 32 * y, y == 0);
+               }
+       }
+}
+
+// ----------------------------------------------------------------------------
+// soud manager
+// ----------------------------------------------------------------------------
+
+void VM::initialize_sound(int rate, int samples)
+{
+       // init sound manager
+       event->initialize_sound(rate, samples);
+       
+       // init sound gen
+       pcm->initialize_sound(rate, 8000);
+}
+
+uint16_t* VM::create_sound(int* extra_frames)
+{
+       return event->create_sound(extra_frames);
+}
+
+int VM::get_sound_buffer_ptr()
+{
+       return event->get_sound_buffer_ptr();
+}
+
+#ifdef USE_SOUND_VOLUME
+void VM::set_sound_device_volume(int ch, int decibel_l, int decibel_r)
+{
+       if(ch == 0) {
+               pcm->set_volume(0, decibel_l, decibel_r);
+       } if(ch == 1) {
+               drec->set_volume(0, decibel_l, decibel_r);
+       } else if(ch == 2) {
+               drec->get_context_noise_play()->set_volume(0, decibel_l, decibel_r);
+               drec->get_context_noise_stop()->set_volume(0, decibel_l, decibel_r);
+               drec->get_context_noise_fast()->set_volume(0, decibel_l, decibel_r);
+       }
+}
+#endif
+
+// ----------------------------------------------------------------------------
+// user interface
+// ----------------------------------------------------------------------------
+
+void VM::play_tape(const _TCHAR* file_path)
+{
+       drec->play_tape(file_path);
+}
+
+void VM::rec_tape(const _TCHAR* file_path)
+{
+       drec->rec_tape(file_path);
+}
+
+void VM::close_tape()
+{
+       emu->lock_vm();
+       drec->close_tape();
+       emu->unlock_vm();
+}
+
+bool VM::is_tape_inserted()
+{
+       return drec->is_tape_inserted();
+}
+
+bool VM::is_tape_playing()
+{
+       return drec->is_tape_playing();
+}
+
+bool VM::is_tape_recording()
+{
+       return drec->is_tape_recording();
+}
+
+int VM::get_tape_position()
+{
+       return drec->get_tape_position();
+}
+
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
+bool VM::is_frame_skippable()
+{
+       return event->is_frame_skippable();
+}
+
+void VM::update_config()
+{
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               device->update_config();
+       }
+}
+
+#define STATE_VERSION  2
+
+void VM::save_state(FILEIO* state_fio)
+{
+       state_fio->FputUint32(STATE_VERSION);
+       
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               device->save_state(state_fio);
+       }
+       state_fio->Fwrite(ram, sizeof(ram), 1);
+}
+
+bool VM::load_state(FILEIO* state_fio)
+{
+       if(state_fio->FgetUint32() != STATE_VERSION) {
+               return false;
+       }
+       for(DEVICE* device = first_device; device; device = device->next_device) {
+               if(!device->load_state(state_fio)) {
+                       return false;
+               }
+       }
+       state_fio->Fread(ram, sizeof(ram), 1);
+       return true;
+}
+
diff --git a/source/src/vm/jr800/jr800.h b/source/src/vm/jr800/jr800.h
new file mode 100644 (file)
index 0000000..77e67d4
--- /dev/null
@@ -0,0 +1,134 @@
+/*
+       National JR-800 Emulator 'eJR-800'
+
+       Author : Takeda.Toshiya
+       Date   : 2017.03.13-
+
+       [ virtual machine ]
+*/
+
+#ifndef _JR800_H_
+#define _JR800_H_
+
+#define DEVICE_NAME            "National JR-800"
+#define CONFIG_NAME            "jr800"
+
+// device informations for virtual machine
+#define FRAMES_PER_SEC         72
+#define LINES_PER_FRAME                64
+#define CPU_CLOCKS             491520
+#define SCREEN_WIDTH           192
+#define SCREEN_HEIGHT          64
+#define HAS_HD6301
+#define MEMORY_ADDR_MAX                0x10000
+#define MEMORY_BANK_SIZE       0x100
+
+// device informations for win32
+#define WINDOW_MODE_BASE       2
+#define USE_TAPE
+#define USE_AUTO_KEY           6
+#define USE_AUTO_KEY_RELEASE   10
+//#define USE_AUTO_KEY_CAPS
+#define USE_SOUND_VOLUME       3
+#define USE_DEBUGGER
+#define USE_STATE
+
+#include "../../common.h"
+#include "../../fileio.h"
+
+#ifdef USE_SOUND_VOLUME
+static const _TCHAR *sound_device_caption[] = {
+       _T("Beep"), _T("CMT (Signal)"), _T("Noise (CMT)"),
+};
+#endif
+
+class EMU;
+class DEVICE;
+class EVENT;
+
+class DATAREC;
+class HD44102;
+class MC6800;
+class MEMORY;
+class PCM1BIT;
+
+class IO;
+
+class VM
+{
+protected:
+       EMU* emu;
+       
+       // devices
+       EVENT* event;
+       
+       DATAREC* drec;
+       HD44102* lcd[8];
+       MC6800* cpu;
+       MEMORY* memory;
+       PCM1BIT* pcm;
+       
+       IO* io;
+       
+       uint8_t ram[0x6000];
+       uint8_t rom[0x8000];
+       
+public:
+       // ----------------------------------------
+       // initialize
+       // ----------------------------------------
+       
+       VM(EMU* parent_emu);
+       ~VM();
+       
+       // ----------------------------------------
+       // for emulation class
+       // ----------------------------------------
+       
+       // drive virtual machine
+       void reset();
+       void run();
+       
+#ifdef USE_DEBUGGER
+       // debugger
+       DEVICE *get_cpu(int index);
+#endif
+       
+       // draw screen
+       void draw_screen();
+       
+       // sound generation
+       void initialize_sound(int rate, int samples);
+       uint16_t* create_sound(int* extra_frames);
+       int get_sound_buffer_ptr();
+#ifdef USE_SOUND_VOLUME
+       void set_sound_device_volume(int ch, int decibel_l, int decibel_r);
+#endif
+       
+       // user interface
+       void play_tape(const _TCHAR* file_path);
+       void rec_tape(const _TCHAR* file_path);
+       void close_tape();
+       bool is_tape_inserted();
+       bool is_tape_playing();
+       bool is_tape_recording();
+       int get_tape_position();
+       const _TCHAR* get_tape_message();
+       bool is_frame_skippable();
+       
+       void update_config();
+       void save_state(FILEIO* state_fio);
+       bool load_state(FILEIO* state_fio);
+       
+       // ----------------------------------------
+       // for each device
+       // ----------------------------------------
+       
+       // devices
+       DEVICE* get_device(int id);
+       DEVICE* dummy;
+       DEVICE* first_device;
+       DEVICE* last_device;
+};
+
+#endif
index b6c7914..cadc185 100644 (file)
@@ -247,12 +247,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -333,6 +327,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 8fa6fe0..63c2993 100644 (file)
@@ -41,7 +41,6 @@
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 
@@ -133,7 +132,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -153,6 +151,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index a487a99..7841698 100644 (file)
@@ -152,6 +152,11 @@ void LD700::write_signal(int id, uint32_t data, uint32_t mask)
        }
 }
 
+uint32_t LD700::read_signal(int id)
+{
+       return (status == STATUS_PLAY) ? 1 : 0;
+}
+
 void LD700::event_frame()
 {
        int prev_frame_raw = cur_frame_raw;
index 35a5311..9f44f42 100644 (file)
@@ -77,6 +77,7 @@ public:
        void initialize();
        void release();
        void write_signal(int id, uint32_t data, uint32_t mask);
+       uint32_t read_signal(int id);
        void event_frame();
        void event_callback(int event_id, int err);
        void mix(int32_t* buffer, int cnt);
index c7f111e..326e173 100644 (file)
@@ -280,6 +280,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index bce49d3..35615ff 100644 (file)
@@ -132,6 +132,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 239b68d..7e65239 100644 (file)
@@ -85,8 +85,10 @@ void MC6800::WM16(uint32_t Addr, pair_t *p)
        WM((Addr + 1) & 0xffff, p->b.l);
 }
 
-#define M_RDOP(Addr)           d_mem->read_data8(Addr)
-#define M_RDOP_ARG(Addr)       d_mem->read_data8(Addr)
+//#define M_RDOP(Addr)         d_mem->read_data8(Addr)
+//#define M_RDOP_ARG(Addr)     d_mem->read_data8(Addr)
+#define M_RDOP(Addr)           RM(Addr)
+#define M_RDOP_ARG(Addr)       RM(Addr)
 
 /* macros to access memory */
 #define IMMBYTE(b)     b = M_RDOP_ARG(PCD); PC++
@@ -350,6 +352,7 @@ void MC6800::mc6801_io_w(uint32_t offset, uint32_t data)
                        output_compare.b.h = data;
                        MODIFIED_counters;
                }
+        tcsr &=~TCSR_OCF;
                break;
        case 0x0c:
                // output compare register (lsb)
@@ -357,6 +360,7 @@ void MC6800::mc6801_io_w(uint32_t offset, uint32_t data)
                        output_compare.b.l = data;
                        MODIFIED_counters;
                }
+        tcsr &=~TCSR_OCF;
                break;
        case 0x0f:
                // port3 control/status register
index 26bd7df..e323c2e 100644 (file)
@@ -604,6 +604,11 @@ void MEMORY::release()
 
 void MEMORY::reset()
 {
+#if !defined(_PX7)
+       for(int i = 0; i < MAX_DRIVE; i++) {
+               access[i] = false;
+       }
+#endif
        update_map((0 << 0) | (1 << 2) | (2 << 4) | (3 << 6));
 }
 
@@ -696,6 +701,18 @@ static bool get_boot_sector(DISK *disk)
        return false;
 }
 
+uint32_t MEMORY::read_signal(int id)
+{
+       uint32_t stat = 0;
+       for(int i = 0; i < MAX_DRIVE; i++) {
+               if(access[i]) {
+                       stat |= 1 << i;
+                       access[i] = false;
+               }
+       }
+       return stat;
+}
+
 bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_t* hl, pair_t* ix, pair_t* iy, uint8_t* iff1)
 {
        #define AF      af->w.l
@@ -735,6 +752,8 @@ bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_
                                                AF = 0x0801; // record not found
                                                return true;
                                        }
+                                       access[drv] = true;
+                                       
                                        if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
                                                AF = 0x0801; // record not found
                                                return true;
@@ -756,6 +775,8 @@ bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_
                                                AF = 0x0801; // record not found
                                                return true;
                                        }
+                                       access[drv] = true;
+                                       
                                        if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
                                                AF = 0x0801; // record not found
                                                return true;
@@ -791,7 +812,7 @@ bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_
                        F &= ~CF;
                        return true;
                } else if(PC == GETDPB) {
-                       // det drive parameter block
+                       // get drive parameter block
                        int drv = A;
                        if(!(drv < MAX_DRIVE && disk[drv]->inserted)) {
                                AF = 0x0201; // not ready
@@ -801,6 +822,8 @@ bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_
                                AF = 0x0c01; // other error
                                return true;
                        }
+                       access[drv] = true;
+                       
                        if(disk[drv]->data_crc_error && !disk[drv]->ignore_crc()) {
                                AF = 0x0401; // data crc error
                                return true;
@@ -858,6 +881,8 @@ bool MEMORY::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_
                                AF = 0x0001; // write protected
                                return true;
                        }
+                       access[drv] = true;
+                       
                        // physical format
                        int max_trkside = info[desc].sectors / info[desc].per_track;
                        for(int trkside = 0; trkside < max_trkside; trkside++) {
index 42172e3..a94d9d5 100644 (file)
@@ -217,6 +217,7 @@ private:
        DEVICE *d_map[4];
 #if !defined(_PX7)
        DISK* disk[MAX_DRIVE];
+       bool access[MAX_DRIVE]
 #endif
        uint32_t slot_select;
        void update_map(uint32_t val);
@@ -240,6 +241,7 @@ public:
        void write_io8(uint32_t addr, uint32_t data);
        void write_signal(int id, uint32_t data, uint32_t mask);
 #if !defined(_PX7)
+       uint32_t read_signal(int id);
        bool bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_t* hl, pair_t* ix, pair_t* iy, uint8_t* iff1);
 #endif
        void save_state(FILEIO* state_fio);
index fd339a4..6311333 100644 (file)
@@ -1004,6 +1004,11 @@ void MEMORY_EX::release()
 
 void MEMORY_EX::reset()
 {
+#if defined(FDD_PATCH_SLOT)
+       for(int i = 0; i < MAX_DRIVE; i++) {
+               access[i] = false;
+       }
+#endif
        ssl[0] = ssl[1] = ssl[2] = ssl[3] = 0;
 //     update_map((0 << 0) | (1 << 2) | (2 << 4) | (3 << 6));
        update_map(0);
@@ -1137,6 +1142,18 @@ static bool get_sector_2(DISK *disk, int sector)
 }
 #endif
 
+uint32_t MEMORY_EX::read_signal(int id)
+{
+       uint32_t stat = 0;
+       for(int i = 0; i < MAX_DRIVE; i++) {
+               if(access[i]) {
+                       stat |= 1 << i;
+                       access[i] = false;
+               }
+       }
+       return stat;
+}
+
 bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_t* hl, pair_t* ix, pair_t* iy, uint8_t* iff1)
 {
        #define AF      af->w.l
@@ -1192,6 +1209,8 @@ bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pa
                                                return true;
                                        }
 #endif
+                                       access[drv] = true;
+                                       
                                        if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
                                                AF = 0x0801; // record not found
                                                return true;
@@ -1226,6 +1245,8 @@ bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pa
                                                return true;
                                        }
 #endif
+                                       access[drv] = true;
+                                       
                                        if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
                                                AF = 0x0801; // record not found
                                                return true;
@@ -1261,7 +1282,7 @@ bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pa
                        F &= ~CF;
                        return true;
                } else if(PC == GETDPB) {
-                       // det drive parameter block
+                       // get drive parameter block
                        int drv = A;
                        if(!(drv < MAX_DRIVE && disk[drv]->inserted)) {
                                AF = 0x0201; // not ready
@@ -1271,6 +1292,8 @@ bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pa
                                AF = 0x0c01; // other error
                                return true;
                        }
+                       access[drv] = true;
+                       
                        if(disk[drv]->data_crc_error && !disk[drv]->ignore_crc()) {
                                AF = 0x0401; // data crc error
                                return true;
@@ -1328,6 +1351,8 @@ bool MEMORY_EX::bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pa
                                AF = 0x0001; // write protected
                                return true;
                        }
+                       access[drv] = true;
+                       
                        // physical format
                        int max_trkside = info[desc].sectors / info[desc].per_track;
                        for(int trkside = 0; trkside < max_trkside; trkside++) {
index ac0a68e..bd7d21a 100644 (file)
@@ -379,6 +379,7 @@ private:
 #if defined(FDD_PATCH_SLOT)
        DISK* disk[MAX_DRIVE];
        DEVICE *d_fdpat;
+       bool access[MAX_DRIVE];
 #endif
 #if defined(FDD_PATCH_SLOT) && defined(_MSX_VDP_MESS)
        DEVICE *d_vdp;
@@ -413,6 +414,7 @@ public:
        void write_io8(uint32_t addr, uint32_t data);
        void write_signal(int id, uint32_t data, uint32_t mask);
 #if defined(FDD_PATCH_SLOT)
+       uint32_t read_signal(int id);
        bool bios_ret_z80(uint16_t PC, pair_t* af, pair_t* bc, pair_t* de, pair_t* hl, pair_t* ix, pair_t* iy, uint8_t* iff1);
 #endif
        void save_state(FILEIO* state_fio);
index cf5cb0f..6501d4a 100644 (file)
@@ -358,6 +358,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 #if defined(_PX7)
 void VM::open_laser_disc(const _TCHAR* file_path)
 {
@@ -373,6 +378,11 @@ bool VM::is_laser_disc_inserted()
 {
        return ldp->is_disc_inserted();
 }
+
+uint32_t VM::is_laser_disc_accessed()
+{
+       return lpd->read_signal(0);
+}
 #else
 void VM::open_floppy_disk(int drv, const _TCHAR* file_path, int bank)
 {
@@ -398,6 +408,11 @@ bool VM::is_floppy_disk_protected(int drv)
 {
        return memory->is_disk_protected(drv);
 }
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return memory->read_signal(0);
+}
 #endif
 
 bool VM::is_frame_skippable()
index 775a3bb..7c3cdc3 100644 (file)
@@ -205,16 +205,19 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
 #if defined(_PX7)
        void open_laser_disc(const _TCHAR* file_path);
        void close_laser_disc();
        bool is_laser_disc_inserted();
+       uint32_t is_laser_disc_accessed();
 #else
        void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
        void close_floppy_disk(int drv);
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #endif
        bool is_frame_skippable();
        
index da535ae..cd0baed 100644 (file)
@@ -539,6 +539,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 #if defined(LDC_SLOT)
 void VM::open_laser_disc(const _TCHAR* file_path)
 {
@@ -554,7 +559,13 @@ bool VM::is_laser_disc_inserted()
 {
        return ldp->is_disc_inserted();
 }
+
+uint32_t VM::is_laser_disc_accessed()
+{
+       return ldp->read_signal(0);
+}
 #endif
+
 #if defined(FDD_PATCH_SLOT)
 void VM::open_floppy_disk(int drv, const _TCHAR* file_path, int bank)
 {
@@ -580,6 +591,11 @@ bool VM::is_floppy_disk_protected(int drv)
 {
        return memory->is_disk_protected(drv);
 }
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return memory->read_signal(0);
+}
 #endif
 
 bool VM::is_frame_skippable()
index 8cae93c..073c37c 100644 (file)
@@ -395,10 +395,12 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
 #if defined(LDC_SLOT)
        void open_laser_disc(const _TCHAR* file_path);
        void close_laser_disc();
        bool is_laser_disc_inserted();
+       uint32_t is_laser_disc_accessed();
 #endif
 #if defined(FDD_PATCH_SLOT)
        void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
@@ -406,6 +408,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #endif
        bool is_frame_skippable();
        
index 72069b5..86d7c43 100644 (file)
@@ -200,12 +200,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -274,6 +268,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        cmt->play_tape(file_path);
index 52ba5d2..b9a673e 100644 (file)
@@ -43,7 +43,6 @@
 #define USE_AUTO_KEY_CAPS
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define SUPPORT_ROMA_KANA_CONVERSION
 
 //#define USE_SOUND_FILES_RELAY
@@ -134,7 +133,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -150,6 +148,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
index 4e97d88..28c8864 100644 (file)
@@ -313,6 +313,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index fdc0714..94e36e8 100644 (file)
@@ -134,6 +134,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 336d118..e06ef1d 100644 (file)
@@ -230,7 +230,7 @@ uint32_t MZ1E30::read_dma_io8(uint32_t addr)
 uint32_t MZ1E30::read_signal(int ch)
 {
        // get access status
-       uint32_t stat = (drive[0].access ? 0x10 : 0) | (drive[1].access ? 0x20 : 0);
+       uint32_t stat = (drive[0].access ? 1 : 0) | (drive[1].access ? 2 : 0);
        drive[0].access = drive[1].access = false;
        return stat;
 }
index f9a281c..9b15fe8 100644 (file)
@@ -307,12 +307,6 @@ void VM::draw_screen()
        crtc->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0) | mz1e30->read_signal(0);
-       return (status & 0x30) ? 4 : (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -430,6 +424,16 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
+uint32_t VM::is_hard_disk_accessed()
+{
+       return mz1e30->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        bool value = drec->play_tape(file_path);
@@ -472,6 +476,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index 35022ef..3f459c0 100644 (file)
@@ -43,6 +43,7 @@
 #define USE_FD4
 #define USE_TAPE
 #define USE_TAPE_BUTTON
+#define USE_HARD_DISK          2
 #define USE_SOCKET
 #define USE_SHIFT_NUMPAD_KEY
 #define USE_ALT_F10_KEY
@@ -51,7 +52,6 @@
 #define USE_MONITOR_TYPE       4
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define SUPPORT_ROMA_KANA_CONVERSION
 #define USE_SOUND_VOLUME       7
 #define USE_JOYSTICK
@@ -170,7 +170,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -195,6 +194,8 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
+       uint32_t is_hard_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -202,6 +203,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index fda627c..fe0e922 100644 (file)
@@ -342,16 +342,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-#ifdef SUPPORT_QUICK_DISK
-       uint32_t status = fdc->read_signal(0) | qd->read_signal(0);
-#else
-       uint32_t status = fdc->read_signal(0);
-#endif
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -423,6 +413,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 #ifdef SUPPORT_QUICK_DISK
 void VM::open_quick_disk(int drv, const _TCHAR* file_path)
 {
@@ -446,6 +441,11 @@ bool VM::is_quick_disk_inserted(int drv)
                return false;
        }
 }
+
+uint32_t VM::is_quick_disk_accessed()
+{
+       return qd->read_signal(0);
+}
 #endif
 
 void VM::play_tape(const _TCHAR* file_path)
@@ -500,6 +500,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index bf89322..239ae6a 100644 (file)
@@ -69,7 +69,6 @@
 #define USE_CRT_FILTER
 #endif
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       4
 #define USE_PRINTER
 #define USE_PRINTER_TYPE       4
@@ -181,7 +180,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -197,10 +195,12 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #ifdef SUPPORT_QUICK_DISK
        void open_quick_disk(int drv, const _TCHAR* file_path);
        void close_quick_disk(int drv);
        bool is_quick_disk_inserted(int drv);
+       uint32_t is_quick_disk_accessed();
 #endif
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
@@ -209,6 +209,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index e8d2dd0..5fa1225 100644 (file)
@@ -292,12 +292,6 @@ void VM::draw_screen()
        crtc->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -368,6 +362,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 3e57d22..e549fa2 100644 (file)
@@ -38,7 +38,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       4
 #define USE_JOYSTICK
 #define USE_MOUSE
@@ -144,7 +143,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -160,6 +158,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index 67d1592..f743ae8 100644 (file)
@@ -350,12 +350,6 @@ void VM::draw_screen()
        subbus->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -435,6 +429,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 6ea4188..701b6c5 100644 (file)
@@ -44,7 +44,6 @@
 #define USE_MONITOR_TYPE       4
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_PRINTER
 #define USE_PRINTER_TYPE       4
@@ -145,7 +144,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -165,6 +163,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index 6317d09..50031ee 100644 (file)
@@ -319,12 +319,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -404,6 +398,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 38f227d..cede5f4 100644 (file)
@@ -60,7 +60,6 @@
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_MOUSE
 #define USE_PRINTER
@@ -174,7 +173,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -194,6 +192,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index 4998564..efb127e 100644 (file)
@@ -464,14 +464,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-#if defined(_MZ800) || defined(_MZ1500)
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0) | qd->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-#endif
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -578,6 +570,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
@@ -625,6 +622,11 @@ bool VM::is_quick_disk_inserted(int drv)
        }
 }
 
+uint32_t VM::is_quick_disk_accessed()
+{
+       return qd->read_signal(0);
+}
+
 void VM::open_floppy_disk(int drv, const _TCHAR* file_path, int bank)
 {
        fdc->open_disk(drv, file_path, bank);
@@ -649,6 +651,11 @@ bool VM::is_floppy_disk_protected(int drv)
 {
        return fdc->is_disk_protected(drv);
 }
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
 #endif
 
 bool VM::is_frame_skippable()
index b4ccb4f..038132d 100644 (file)
@@ -76,9 +76,6 @@
 //#if defined(_MZ1500)
 #define USE_SCREEN_ROTATE
 //#endif
-#if defined(_MZ800) || defined(_MZ1500)
-#define USE_ACCESS_LAMP
-#endif
 #if defined(_MZ700)
 #define USE_SOUND_VOLUME       3
 #elif defined(_MZ800)
@@ -220,9 +217,6 @@ public:
        
        // draw screen
        void draw_screen();
-#if defined(_MZ800) || defined(_MZ1500)
-       uint32_t get_access_lamp_status();
-#endif
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -240,6 +234,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
@@ -250,11 +245,13 @@ public:
        void open_quick_disk(int drv, const _TCHAR* file_path);
        void close_quick_disk(int drv);
        bool is_quick_disk_inserted(int drv);
+       uint32_t is_quick_disk_accessed();
        void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
        void close_floppy_disk(int drv);
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #endif
        bool is_frame_skippable();
        
index 488b5cb..3deaed4 100644 (file)
@@ -260,14 +260,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-#if defined(SUPPORT_MZ80AIF) || defined(SUPPORT_MZ80FIO)
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-#endif
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -357,8 +349,14 @@ bool VM::is_floppy_disk_protected(int drv)
 {
        return fdc->is_disk_protected(drv);
 }
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
 #endif
 
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -400,6 +398,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index 5918886..76caf45 100644 (file)
@@ -75,7 +75,6 @@
 #define USE_FD2
 #define USE_FD3
 #define USE_FD4
-#define USE_ACCESS_LAMP
 #endif
 #if defined(_MZ80K)
 #define USE_MONITOR_TYPE       2
@@ -176,9 +175,6 @@ public:
        
        // draw screen
        void draw_screen();
-#if defined(SUPPORT_MZ80AIF) || defined(SUPPORT_MZ80FIO)
-       uint32_t get_access_lamp_status();
-#endif
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -199,6 +195,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #endif
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
@@ -207,6 +204,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index f1d3085..b80d00c 100644 (file)
@@ -294,12 +294,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -385,6 +379,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 44785ce..c88cb8c 100644 (file)
@@ -34,7 +34,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #include "../../common.h"
 #include "../../fileio.h"
@@ -114,7 +113,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -134,6 +132,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index 37d6933..f0d9465 100644 (file)
@@ -265,12 +265,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -342,6 +336,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -379,6 +378,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::load_binary(int drv, const _TCHAR* file_path)
 {
        if(drv == 0) {
index 9a990ad..2f88e8b 100644 (file)
@@ -68,7 +68,6 @@
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define SUPPORT_ROMA_KANA_CONVERSION
 #define USE_SOUND_VOLUME       4
 #define USE_JOYSTICK
@@ -160,7 +159,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -176,6 +174,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -183,6 +182,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void load_binary(int drv, const _TCHAR* file_path);
        void save_binary(int drv, const _TCHAR* file_path) {}
        bool is_frame_skippable();
index f59da99..bdccf7b 100644 (file)
@@ -261,12 +261,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -344,6 +338,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -381,6 +380,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::load_binary(int drv, const _TCHAR* file_path)
 {
        pac2->open_rampac2(drv, file_path);
index 4a77d03..ac04c35 100644 (file)
@@ -57,7 +57,6 @@
 #define USE_AUTO_KEY_RELEASE   6
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       6
 #define USE_JOYSTICK
 #define USE_DEBUGGER
@@ -153,7 +152,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -169,6 +167,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -176,6 +175,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void load_binary(int drv, const _TCHAR* file_path);
        void save_binary(int drv, const _TCHAR* file_path) {}
        bool is_frame_skippable();
index 2ac557a..1f7c1b3 100644 (file)
@@ -220,12 +220,6 @@ void VM::draw_screen()
        crtc->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -308,6 +302,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 3aba8b6..bdc343e 100644 (file)
@@ -42,7 +42,6 @@
 #define USE_MONITOR_TYPE       2
 #define USE_CRT_FILTER
 #define USE_SCREEN_ROTATE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       3
 #define USE_MOUSE
 #define USE_DEBUGGER
@@ -129,7 +128,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -149,6 +147,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index ec190c3..f4070ea 100644 (file)
@@ -248,6 +248,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 87a523b..637a035 100644 (file)
@@ -121,6 +121,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index ffeaf13..c2e3c51 100644 (file)
@@ -466,20 +466,6 @@ bool VM::is_cart_inserted(int drv)
        }
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = 0; /// fdc->read_signal(0);
-#if defined(_PC6601) || defined(_PC6601SR)
-       status = floppy->read_signal(0);
-#endif
-       if(support_pc80s31k) {
-               status |= fdc_pc80s31k->read_signal(0);
-       } else {
-               status |= pc6031->read_signal(0);
-       }
-       return status;
-}
-
 void VM::open_floppy_disk(int drv, const _TCHAR* file_path, int bank)
 {
 #if defined(_PC6601) || defined(_PC6601SR)
@@ -563,6 +549,21 @@ bool VM::is_floppy_disk_protected(int drv)
        }
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       uint32_t status = 0; /// fdc->read_signal(0);
+       if(support_pc80s31k) {
+               status |= fdc_pc80s31k->read_signal(0);
+       } else {
+               status |= pc6031->read_signal(0);
+       }
+#if defined(_PC6601) || defined(_PC6601SR)
+       status <<= 2;
+       status |= floppy->read_signal(0);
+#endif
+       return status;
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        if(support_sub_cpu) {
@@ -637,6 +638,15 @@ int VM::get_tape_position()
        }
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       if(support_sub_cpu) {
+               return drec->get_message();
+       } else {
+               return NULL;
+       }
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index b21a236..515355b 100644 (file)
@@ -95,7 +95,6 @@
 #define USE_CRT_FILTER
 #define USE_SCANLINE
 #endif
-#define USE_ACCESS_LAMP
 #if defined(_PC6001)
 #define USE_SOUND_VOLUME       4
 #else
@@ -245,12 +244,12 @@ public:
        void open_cart(int drv, const _TCHAR* file_path);
        void close_cart(int drv);
        bool is_cart_inserted(int drv);
-       uint32_t get_access_lamp_status();
        void open_floppy_disk(int drv, const _TCHAR* file_path, int bank);
        void close_floppy_disk(int drv);
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -258,6 +257,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index da2f82a..4781058 100644 (file)
@@ -264,6 +264,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 85cdf75..453bf15 100644 (file)
@@ -126,6 +126,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 78d209e..f5d9dc1 100644 (file)
@@ -320,11 +320,6 @@ void VM::draw_screen()
        pc88->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       return pc88fdc_sub->read_signal(0);
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -458,6 +453,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return pc88fdc_sub->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return pc88fdc_sub->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        pc88->play_tape(file_path);
index 9b256d5..d970d36 100644 (file)
@@ -90,7 +90,6 @@
 #define USE_CRT_FILTER
 #define USE_SCANLINE
 #define USE_SCREEN_ROTATE
-#define USE_ACCESS_LAMP
 #ifdef SUPPORT_PC88_OPNA
 #ifdef SUPPORT_PC88_SB2
 #define USE_SOUND_DEVICE_TYPE  3
@@ -226,7 +225,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -246,6 +244,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
index d02261c..03f1e8f 100644 (file)
@@ -927,23 +927,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-#if defined(_PC9801) || defined(_PC9801E)
-       return (fdc_2hd->read_signal(0) & 3) | (fdc_2dd->read_signal(0) & 3) | (fdc_sub->read_signal(0) & 3);
-#elif defined(_PC9801VF) || defined(_PC9801U)
-       return fdc_2dd->read_signal(0);
-#elif defined(_PC98DO) || defined(_PC98DOPLUS)
-       if(boot_mode != 0) {
-               return pc88fdc_sub->read_signal(0);
-       } else {
-               return fdc->read_signal(0);
-       }
-#else
-       return fdc->read_signal(0);
-#endif
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -1222,6 +1205,23 @@ bool VM::is_floppy_disk_protected(int drv)
        return false;
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+#if defined(_PC9801) || defined(_PC9801E)
+       return (fdc_2hd->read_signal(0) & 3) | ((fdc_2dd->read_signal(0) & 3) << 2) | ((fdc_sub->read_signal(0) & 3) << 4);
+#elif defined(_PC9801VF) || defined(_PC9801U)
+       return fdc_2dd->read_signal(0);
+#elif defined(_PC98DO) || defined(_PC98DOPLUS)
+       if(boot_mode != 0) {
+               return pc88fdc_sub->read_signal(0);
+       } else {
+               return fdc->read_signal(0);
+       }
+#else
+       return fdc->read_signal(0);
+#endif
+}
+
 #if defined(SUPPORT_CMT_IF) || defined(_PC98DO) || defined(_PC98DOPLUS)
 void VM::play_tape(const _TCHAR* file_path)
 {
index 685b9ea..ad6b851 100644 (file)
 #endif
 #define USE_CRT_FILTER
 #define USE_SCREEN_ROTATE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_DEVICE_TYPE  5
 #if defined(_PC98DO) || defined(_PC98DOPLUS)
 #if    defined(SUPPORT_PC98_OPNA) &&  defined(SUPPORT_PC88_OPNA)
@@ -410,7 +409,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -430,6 +428,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
 #if defined(SUPPORT_CMT_IF) || defined(_PC98DO) || defined(_PC98DOPLUS)
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
index 9e6c847..f6f1d46 100644 (file)
@@ -292,12 +292,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -377,6 +371,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 1a77d42..2db38b0 100644 (file)
@@ -47,7 +47,6 @@
 #define USE_ALT_F10_KEY
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   6
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_PRINTER
 #define USE_PRINTER_TYPE       4
@@ -155,7 +154,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -175,6 +173,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index ed6aab6..79749a0 100644 (file)
@@ -240,6 +240,11 @@ bool VM::is_compact_disc_inserted()
        return scsi_cdrom->is_disc_inserted();
 }
 
+uint32_t VM::is_compact_disc_accessed()
+{
+       return scsi_cdrom->read_signal(0);
+}
+
 void VM::update_config()
 {
        for(DEVICE* device = first_device; device; device = device->next_device) {
index fc9d9a2..9bc788a 100644 (file)
@@ -130,6 +130,7 @@ public:
        void open_compact_disc(const _TCHAR* file_path);
        void close_compact_disc();
        bool is_compact_disc_inserted();
+       uint32_t is_compact_disc_accessed();
        bool is_frame_skippable()
        {
                return false;
index d616906..51198e0 100644 (file)
@@ -214,6 +214,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 692e51b..3294f2b 100644 (file)
@@ -105,6 +105,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 8d533ba..653894e 100644 (file)
@@ -249,6 +249,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 69ab790..cdaae77 100644 (file)
@@ -130,6 +130,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index bc8fa7c..5bfdc35 100644 (file)
@@ -238,6 +238,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index abac47e..b207b45 100644 (file)
@@ -112,6 +112,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 5f8fe98..c40d4f2 100644 (file)
@@ -243,12 +243,6 @@ void VM::draw_screen()
        display->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -328,6 +322,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 671c61c..27e32ad 100644 (file)
@@ -51,7 +51,6 @@
 #ifdef _COLOR_MONITOR
 #define USE_CRT_FILTER
 #endif
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       2
 #define USE_DEBUGGER
 #define USE_STATE
@@ -139,7 +138,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -159,6 +157,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        bool is_frame_skippable();
        
        void update_config();
index d57a821..dc6c86c 100644 (file)
@@ -255,6 +255,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 32d06c0..16bf50a 100644 (file)
@@ -120,6 +120,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index f88f67f..5c3a4b6 100644 (file)
@@ -175,12 +175,6 @@ void VM::draw_screen()
        vdp->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -277,6 +271,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -314,6 +313,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 bool VM::is_frame_skippable()
 {
        return event->is_frame_skippable();
index 68e750c..57f35d1 100644 (file)
@@ -31,7 +31,6 @@
 #define USE_AUTO_KEY           5
 #define USE_AUTO_KEY_RELEASE   8
 #define USE_AUTO_KEY_CAPS
-#define USE_ACCESS_LAMP
 #define USE_SOUND_VOLUME       4
 #define SUPPORT_TV_RENDER
 #define USE_JOYSTICK
@@ -107,7 +106,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -126,6 +124,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -133,6 +132,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        bool is_frame_skippable();
        
        void update_config();
index 043e9cf..10e8dd1 100644 (file)
@@ -80,6 +80,7 @@ void SCSI_CDROM::event_callback(int event_id, int err)
                                        fio_img->Fread(cdda_buffer, sizeof(cdda_buffer), 1);
                                        cdda_buffer_ptr = 0;
                                        cdda_playing_frame = cdda_start_frame;
+                                       access = true;
                                } else {
                                        // stop
                                        if(cdda_interrupt) {
@@ -91,6 +92,7 @@ void SCSI_CDROM::event_callback(int event_id, int err)
                                // refresh buffer
                                fio_img->Fread(cdda_buffer, sizeof(cdda_buffer), 1);
                                cdda_buffer_ptr = 0;
+                               access = true;
                        }
                }
                break;
@@ -270,6 +272,7 @@ void SCSI_CDROM::start_command()
                                fio_img->Fread(cdda_buffer, sizeof(cdda_buffer), 1);
                                cdda_buffer_ptr = 0;
                                cdda_playing_frame = cdda_start_frame;
+                               access = true;
                                
                                // change to status phase
                                set_dat(SCSI_STATUS_GOOD);
@@ -451,6 +454,7 @@ void SCSI_CDROM::read_buffer(int length)
                                position++;
                                offset = (offset + 1) % 2352;
                        }
+                       access = true;
                }
        }
 }
index 0e0248d..30420b6 100644 (file)
@@ -31,6 +31,7 @@ void SCSI_DEV::reset()
        data_bus = 0;
        sel_status = atn_status = ack_status = rst_status = false;
        selected = atn_pending = false;
+       access = false;
        
        event_sel = event_phase = event_req = -1;
        set_phase(SCSI_PHASE_BUS_FREE);
@@ -305,6 +306,13 @@ void SCSI_DEV::write_signal(int id, uint32_t data, uint32_t mask)
        }
 }
 
+uint32_t SCSI_DEV::read_signal(int id)
+{
+       uint32_t stat = access ? 1 : 0;
+       access = false;
+       return stat;
+}
+
 void SCSI_DEV::event_callback(int event_id, int err)
 {
        switch(event_id) {
index 2aabbe7..d444c58 100644 (file)
@@ -166,6 +166,7 @@ public:
        void release();
        void reset();
        void write_signal(int id, uint32_t data, uint32_t mask);
+       uint32_t read_signal(int id);
        void event_callback(int event_id, int err);
        void save_state(FILEIO* state_fio);
        bool load_state(FILEIO* state_fio);
@@ -227,6 +228,7 @@ public:
        int bytes_per_sec;
        
        int scsi_id;
+       bool access;
 };
 
 #endif
index 320bc0c..d02b135 100644 (file)
@@ -32,6 +32,7 @@ void SCSI_HDD::read_buffer(int length)
                        position += tmp_length;
                }
                fio->Fclose();
+               access = true;
        }
        delete fio;
 }
@@ -58,6 +59,7 @@ void SCSI_HDD::write_buffer(int length)
                        position += tmp_length;
                }
                fio->Fclose();
+               access = true;
        }
        delete fio;
 }
index 4aa85b2..351362a 100644 (file)
@@ -254,6 +254,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::load_binary(int drv, const _TCHAR* file_path)
 {
        if(drv == 0) {
index 20f1403..3a8fc5c 100644 (file)
@@ -165,6 +165,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void load_binary(int drv, const _TCHAR* file_path);
        void save_binary(int drv, const _TCHAR* file_path);
        bool is_frame_skippable();
index 7312e7e..3d5a406 100644 (file)
@@ -198,12 +198,6 @@ void VM::draw_screen()
        memory->draw_screen();
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -299,6 +293,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        drec->play_tape(file_path);
@@ -336,6 +335,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index 2cdc6ef..d6a2223 100644 (file)
@@ -53,7 +53,6 @@
 #define USE_VM_AUTO_KEY_TABLE
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #if defined(_SMC70)
 #define USE_SOUND_FILES                5
 #else
@@ -212,7 +211,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -232,6 +230,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -239,6 +238,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index 1ceb5c3..44984d1 100644 (file)
@@ -441,6 +441,11 @@ int VM::get_tape_position()
 {
        return drec->get_tape_position();
 }
+
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
 #endif
 
 bool VM::is_frame_skippable()
index d56aedf..791a967 100644 (file)
@@ -298,6 +298,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
 #endif
        bool is_frame_skippable();
        
index fbcede5..ce8e5b8 100644 (file)
@@ -532,12 +532,6 @@ void VM::draw_screen()
 #endif
 }
 
-uint32_t VM::get_access_lamp_status()
-{
-       uint32_t status = fdc->read_signal(0);
-       return (status & (1 | 4)) ? 1 : (status & (2 | 8)) ? 2 : 0;
-}
-
 // ----------------------------------------------------------------------------
 // soud manager
 // ----------------------------------------------------------------------------
@@ -681,6 +675,11 @@ bool VM::is_floppy_disk_protected(int drv)
        return fdc->is_disk_protected(drv);
 }
 
+uint32_t VM::is_floppy_disk_accessed()
+{
+       return fdc->read_signal(0);
+}
+
 void VM::play_tape(const _TCHAR* file_path)
 {
        bool value = drec->play_tape(file_path);
@@ -737,6 +736,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index 9a9ef0d..e4b14d0 100644 (file)
 #define USE_MONITOR_TYPE       2
 #define USE_CRT_FILTER
 #define USE_SCANLINE
-#define USE_ACCESS_LAMP
 #define USE_SOUND_DEVICE_TYPE          3
 // ToDo
 #define DATAREC_SOUND
@@ -358,7 +357,6 @@ public:
        
        // draw screen
        void draw_screen();
-       uint32_t get_access_lamp_status();
        
        // sound generation
        void initialize_sound(int rate, int samples);
@@ -378,6 +376,7 @@ public:
        bool is_floppy_disk_inserted(int drv);
        void is_floppy_disk_protected(int drv, bool value);
        bool is_floppy_disk_protected(int drv);
+       uint32_t is_floppy_disk_accessed();
        void play_tape(const _TCHAR* file_path);
        void rec_tape(const _TCHAR* file_path);
        void close_tape();
@@ -385,6 +384,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index 0d232ba..e884511 100644 (file)
@@ -241,6 +241,11 @@ int VM::get_tape_position()
        return drec->get_tape_position();
 }
 
+const _TCHAR* VM::get_tape_message()
+{
+       return drec->get_message();
+}
+
 void VM::push_play()
 {
        drec->set_ff_rew(0);
index fd1f546..8c5beb3 100644 (file)
@@ -129,6 +129,7 @@ public:
        bool is_tape_playing();
        bool is_tape_recording();
        int get_tape_position();
+       const _TCHAR* get_tape_message();
        void push_play();
        void push_stop();
        void push_fast_forward();
index 3c745a9..a467759 100644 (file)
@@ -21,6 +21,8 @@
 #include <windowsx.h>
 #include <mmsystem.h>
 #include <process.h>
+#include <commctrl.h>
+#include <wingdi.h>
 #include <gdiplus.h>
 #include <d3d9.h>
 #include <d3dx9.h>
@@ -36,7 +38,9 @@
 #include <winsock.h>
 #pragma comment(lib, "wsock32.lib")
 #endif
-#pragma comment(lib, "Gdiplus.lib")
+#pragma comment(lib, "comctl32.lib")
+#pragma comment(lib, "msimg32.lib")
+#pragma comment(lib, "gdiplus.lib")
 using namespace Gdiplus;
 #pragma comment(lib, "d3d9.lib")
 #pragma comment(lib, "d3dx9.lib")
index acc5d3d..c583499 100644 (file)
@@ -312,7 +312,9 @@ int OSD::draw_screen()
        // invalidate window
 #ifdef ONE_BOARD_MICRO_COMPUTER
        if(first_invalidate) {
-               InvalidateRect(main_window_handle, NULL, TRUE);
+//             InvalidateRect(main_window_handle, NULL, TRUE);
+               RECT rect = { 0, 0, host_window_width, host_window_height };
+               InvalidateRect(main_window_handle, &rect, TRUE);
        } else {
 #ifdef MAX_DRAW_RANGES
                for(int i = 0; i < MAX_DRAW_RANGES; i++) {
@@ -328,7 +330,9 @@ int OSD::draw_screen()
                }
        }
 #else
-       InvalidateRect(main_window_handle, NULL, first_invalidate);
+//     InvalidateRect(main_window_handle, NULL, first_invalidate);
+       RECT rect = { 0, 0, host_window_width, host_window_height };
+       InvalidateRect(main_window_handle, &rect, first_invalidate);
 #endif
        UpdateWindow(main_window_handle);
        first_draw_screen = self_invalidate = true;
@@ -412,64 +416,22 @@ void OSD::update_screen(HDC hdc)
        if(first_draw_screen) {
                int dest_x = (host_window_width - draw_screen_width) / 2;
                int dest_y = (host_window_height - draw_screen_height) / 2;
-#ifdef USE_ACCESS_LAMP
-               // get access lamps status of drives
-               uint32_t status = vm->get_access_lamp_status() & 7;
-               static uint32_t prev_status = 0;
-               bool render_in = (status != 0);
-               bool render_out = (prev_status != status);
-               prev_status = status;
                
-               COLORREF crColor = RGB((status & 1) ? 255 : 0, (status & 2) ? 255 : 0, (status & 4) ? 255 : 0);
-               int right_bottom_x = dest_x + draw_screen_width;
-               int right_bottom_y = dest_y + draw_screen_height;
-#endif
                if(config.use_d3d9) {
                        LPDIRECT3DSURFACE9 lpd3d9BackSurface = NULL;
                        if(lpd3d9Device != NULL && lpd3d9Device->GetBackBuffer(0, 0, D3DBACKBUFFER_TYPE_MONO, &lpd3d9BackSurface) == D3D_OK && lpd3d9BackSurface != NULL) {
                                RECT rectSrc = { 0, 0, draw_screen_buffer->width, draw_screen_buffer->height };
                                RECT rectDst = { dest_x, dest_y, dest_x + draw_screen_width, dest_y + draw_screen_height };
+                               RECT rectWin = { 0, 0, host_window_width, host_window_height };
                                bool stretch_screen = !(draw_screen_buffer->width == draw_screen_width && draw_screen_buffer->height == draw_screen_height);
                                
                                lpd3d9Device->UpdateSurface(lpd3d9OffscreenSurface, NULL, lpd3d9Surface, NULL);
                                lpd3d9Device->StretchRect(lpd3d9Surface, &rectSrc, lpd3d9BackSurface, &rectDst, stretch_screen ? D3DTEXF_LINEAR : D3DTEXF_POINT);
-#ifdef USE_ACCESS_LAMP
-                               // draw access lamps
-                               if(render_in || render_out) {
-                                       HDC hDC = 0;
-                                       for(int y = host_window_height - 6; y < host_window_height; y++) {
-                                               for(int x = host_window_width - 6; x < host_window_width; x++) {
-                                                       if((x < right_bottom_x && y < right_bottom_y) ? render_in : render_out) {
-                                                               if(hDC == 0 && lpd3d9BackSurface->GetDC(&hDC) != D3D_OK) {
-                                                                       goto quit;
-                                                               }
-                                                               SetPixelV(hDC, x, y, crColor);
-                                                       }
-                                               }
-                                       }
-quit:
-                                       if(hDC != 0) {
-                                               lpd3d9BackSurface->ReleaseDC(hDC);
-                                       }
-                               }
-#endif
-                               lpd3d9BackSurface->Release();
-                               lpd3d9Device->Present(NULL, NULL, NULL, NULL);
+                               lpd3d9BackSurface->Release();                           
+                               lpd3d9Device->Present(&rectWin, &rectWin, NULL, NULL);
                        }
                } else {
                        BitBlt(hdc, dest_x, dest_y, draw_screen_width, draw_screen_height, draw_screen_buffer->hdcDib, 0, 0, SRCCOPY);
-#ifdef USE_ACCESS_LAMP
-                       // draw access lamps
-                       if(render_in || render_out) {
-                               for(int y = host_window_height - 6; y < host_window_height; y++) {
-                                       for(int x = host_window_width - 6; x < host_window_width; x++) {
-                                               if((x < right_bottom_x && y < right_bottom_y) ? render_in : render_out) {
-                                                       SetPixelV(hdc, x, y, crColor);
-                                               }
-                                       }
-                               }
-                       }
-#endif
                }
                first_invalidate = self_invalidate = false;
        }
index 3a200c5..d181348 100644 (file)
@@ -43,6 +43,14 @@ void update_menu(HWND hWnd, HMENU hMenu, int pos);
 void show_menu_bar(HWND hWnd);
 void hide_menu_bar(HWND hWnd);
 
+// status bar
+HWND hStatus = NULL;
+bool status_bar_visible = false;
+
+void show_status_bar(HWND hWnd);
+void hide_status_bar(HWND hWnd);
+int get_status_bar_height();
+
 // file
 #ifdef USE_CART1
 void open_cart_dialog(HWND hWnd, int drv);
@@ -221,13 +229,17 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR szCmdL
        ShowWindow(hWnd, iCmdShow);
        UpdateWindow(hWnd);
        
-       // show menu
+       // show menu bar
        show_menu_bar(hWnd);
        
+       // show status bar
+       show_status_bar(hWnd);
+       
+       int status_bar_height = get_status_bar_height();
        RECT rect_tmp;
        GetClientRect(hWnd, &rect_tmp);
-       if(rect_tmp.bottom != WINDOW_HEIGHT) {
-               rect.bottom += WINDOW_HEIGHT - rect_tmp.bottom;
+       if(rect_tmp.bottom != WINDOW_HEIGHT + status_bar_height) {
+               rect.bottom += WINDOW_HEIGHT + status_bar_height - rect_tmp.bottom;
                dest_y = (int)((desktop_height - (rect.bottom - rect.top)) / 2);
                dest_y = (dest_y < 0) ? 0 : dest_y;
                SetWindowPos(hWnd, NULL, dest_x, dest_y, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER);
@@ -331,6 +343,10 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR szCmdL
                                skip_frames = 0;
                                next_time = timeGetTime();
                        }
+                       if(hStatus != NULL && status_bar_visible) {
+                               // update status bar
+                               SendMessage(hStatus, SB_SETTEXT, (WPARAM)0 | SBT_OWNERDRAW, (LPARAM)NULL);
+                       }
                        Sleep(sleep_period);
                        
                        // calc frame rate
@@ -378,6 +394,9 @@ int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR szCmdL
 
 LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
 {
+       static HINSTANCE hInstance;
+       LPDRAWITEMSTRUCT lpds;
+       
        switch(iMsg) {
        case WM_CREATE:
                if(config.disable_dwm && win8_or_later) {
@@ -389,6 +408,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
 #ifdef SUPPORT_DRAG_DROP
                DragAcceptFiles(hWnd, TRUE);
 #endif
+               hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
                break;
        case WM_CLOSE:
 #ifdef USE_NOTIFY_POWER_OFF
@@ -409,6 +429,11 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
                now_fullscreen = false;
                if(hMenu != NULL && IsMenu(hMenu)) {
                        DestroyMenu(hMenu);
+                       hMenu = NULL;
+               }
+               if(hStatus != NULL) {
+                       DestroyWindow(hStatus);
+                       hStatus = NULL;
                }
                DestroyWindow(hWnd);
                // release emulation core
@@ -421,13 +446,16 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
        case WM_DESTROY:
                PostQuitMessage(0);
                return 0;
-#ifdef ONE_BOARD_MICRO_COMPUTER
        case WM_SIZE:
+               if(hStatus != NULL) {
+                       SendMessage(hStatus, WM_SIZE, wParam, lParam);
+               }
+#ifdef ONE_BOARD_MICRO_COMPUTER
                if(emu) {
                        emu->reload_bitmap();
                }
-               break;
 #endif
+               break;
        case WM_KILLFOCUS:
                if(emu) {
                        emu->key_lost_focus();
@@ -449,13 +477,131 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
                        EndPaint(hWnd, &ps);
                }
                return 0;
-#ifdef ONE_BOARD_MICRO_COMPUTER
        case WM_DRAWITEM:
-//             if(((LPDRAWITEMSTRUCT)lParam)->itemAction & (ODA_DRAWENTIRE | ODA_SELECT)) {
-                       draw_button(((LPDRAWITEMSTRUCT)lParam)->hDC, (UINT)wParam - ID_BUTTON, ((LPDRAWITEMSTRUCT)lParam)->itemState & ODS_SELECTED);
-//             }
+               lpds = (LPDRAWITEMSTRUCT)lParam;
+               if(lpds->CtlID == ID_STATUS) {
+                       if(emu) {
+                               TEXTMETRIC tm;
+                               SIZE size;
+                               GetTextMetrics(lpds->hDC, &tm);
+                               int text_top = (lpds->rcItem.top + lpds->rcItem.bottom) / 2 - tm.tmHeight / 2;
+                               int draw_left = lpds->rcItem.left;
+                               
+                               SetTextColor(lpds->hDC, RGB(0, 0, 0));
+                               SetBkMode(lpds->hDC, TRANSPARENT);
+                               
+                               #if defined(USE_FD1) || defined(USE_QD1) || defined(USE_HARD_DISK) || defined(USE_COMPACT_DISC) || defined(USE_LASER_DISC)
+                                       HDC hdcMem = CreateCompatibleDC(lpds->hDC);
+                                       HBITMAP hBitmap[2];
+                                       BITMAP bmp[2];
+                                       hBitmap[0] = LoadBitmap(hInstance, _T("IDI_BITMAP_ACCESS_OFF"));
+                                       hBitmap[1] = LoadBitmap(hInstance, _T("IDI_BITMAP_ACCESS_ON" ));
+                                       
+                                       if(hBitmap[0] != NULL && hBitmap[1] != NULL) {
+                                               GetObject(hBitmap[0], sizeof(BITMAP), &bmp[0]);
+                                               GetObject(hBitmap[1], sizeof(BITMAP), &bmp[1]);
+                                               
+                                               int bmp_width = bmp[0].bmWidth;
+                                               int bmp_height = bmp[0].bmHeight;
+                                               int bmp_top = (lpds->rcItem.top + lpds->rcItem.bottom) / 2 - bmp_height / 2;
+                                               
+                                               #ifdef USE_FD1
+                                                       TextOut(lpds->hDC, draw_left, text_top, _T("FD:"), 3);
+                                                       GetTextExtentPoint32(lpds->hDC, _T("FD:"), 3, &size);
+                                                       draw_left += size.cx + 4;
+                                                       
+                                                       uint32_t fd_status = emu->is_floppy_disk_accessed();
+                                                       for(int i = 0; i < MAX_FD; i++) {
+                                                               int idx = (fd_status >> i) & 1;
+                                                               SelectObject(hdcMem, hBitmap[idx]);
+                                                               TransparentBlt(lpds->hDC, draw_left, bmp_top, bmp_width, bmp_height, hdcMem, 0, 0, bmp_width, bmp_height, 0);
+                                                               draw_left += bmp_width + 2;
+                                                       }
+                                                       draw_left += 8;
+                                               #endif
+                                               #ifdef USE_QD1
+                                                       TextOut(lpds->hDC, draw_left, text_top, _T("QD:"), 3);
+                                                       GetTextExtentPoint32(lpds->hDC, _T("QD:"), 3, &size);
+                                                       draw_left += size.cx + 4;
+                                                       
+                                                       uint32_t qd_status = emu->is_quick_disk_accessed();
+                                                       for(int i = 0; i < MAX_QD; i++) {
+                                                               int idx = (qd_status >> i) & 1;
+                                                               SelectObject(hdcMem, hBitmap[idx]);
+                                                               TransparentBlt(lpds->hDC, draw_left, bmp_top, bmp_width, bmp_height, hdcMem, 0, 0, bmp_width, bmp_height, 0);
+                                                               draw_left += bmp_width + 2;
+                                                       }
+                                                       draw_left += 8;
+                                               #endif
+                                               #ifdef USE_HARD_DISK
+                                                       TextOut(lpds->hDC, draw_left, text_top, _T("HD:"), 3);
+                                                       GetTextExtentPoint32(lpds->hDC, _T("HD:"), 3, &size);
+                                                       draw_left += size.cx + 4;
+                                                       
+                                                       uint32_t hd_status = emu->is_hard_disk_accessed();
+                                                       for (int i = 0; i < USE_HARD_DISK; i++) {
+                                                               int idx = (hd_status >> i) & 1;
+                                                               SelectObject(hdcMem, hBitmap[idx]);
+                                                               TransparentBlt(lpds->hDC, draw_left, bmp_top, bmp_width, bmp_height, hdcMem, 0, 0, bmp_width, bmp_height, 0);
+                                                               draw_left += bmp_width + 2;
+                                                       }
+                                                       draw_left += 8;
+                                               #endif
+                                               #ifdef USE_COMPACT_DISC
+                                                       TextOut(lpds->hDC, draw_left, text_top, _T("CD:"), 3);
+                                                       GetTextExtentPoint32(lpds->hDC, _T("CD:"), 3, &size);
+                                                       draw_left += size.cx + 4;
+                                                       
+                                                       uint32_t cd_status = emu->is_compact_disc_accessed();
+                                                       for (int i = 0; i < 1; i++) {
+                                                               int idx = (cd_status >> i) & 1;
+                                                               SelectObject(hdcMem, hBitmap[idx]);
+                                                               TransparentBlt(lpds->hDC, draw_left, bmp_top, bmp_width, bmp_height, hdcMem, 0, 0, bmp_width, bmp_height, 0);
+                                                               draw_left += bmp_width + 2;
+                                                       }
+                                                       draw_left += 8;
+                                               #endif
+                                               #ifdef USE_LASER_DISC
+                                                       TextOut(lpds->hDC, draw_left, text_top, _T("LD:"), 3);
+                                                       GetTextExtentPoint32(lpds->hDC, _T("LD:"), 3, &size);
+                                                       draw_left += size.cx + 4;
+                                                       
+                                                       uint32_t ld_status = emu->is_laser_disc_accessed();
+                                                       for (int i = 0; i < 1; i++) {
+                                                               int idx = (ld_status >> i) & 1;
+                                                               SelectObject(hdcMem, hBitmap[idx]);
+                                                               TransparentBlt(lpds->hDC, draw_left, bmp_top, bmp_width, bmp_height, hdcMem, 0, 0, bmp_width, bmp_height, 0);
+                                                               draw_left += bmp_width + 2;
+                                                       }
+                                                       draw_left += 8;
+                                               #endif
+                                       }
+                                       if(hBitmap[0] != NULL) {
+                                               DeleteObject(hBitmap[0]);
+                                       }
+                                       if(hBitmap[1] != NULL) {
+                                               DeleteObject(hBitmap[1]);
+                                       }
+                                       DeleteDC(hdcMem);
+                               #endif
+                               #if defined(USE_TAPE) && !defined(TAPE_BINARY_ONLY)
+                                       const _TCHAR* message = emu->get_tape_message();
+                                       if(message != NULL) {
+                                               TextOut(lpds->hDC, draw_left, text_top, _T("CMT:"), 4);
+                                               GetTextExtentPoint32(lpds->hDC, _T("CMT:"), 4, &size);
+                                               draw_left += size.cx + 4;
+                                               TextOut(lpds->hDC, draw_left, text_top, message, _tcslen(message));
+                                       }
+                               #endif
+                       }
+               } else {
+                       #ifdef ONE_BOARD_MICRO_COMPUTER
+//                             if(lpds->itemAction & (ODA_DRAWENTIRE | ODA_SELECT)) {
+                                       draw_button(((LPDRAWITEMSTRUCT)lParam)->hDC, (UINT)wParam - ID_BUTTON, ((LPDRAWITEMSTRUCT)lParam)->itemState & ODS_SELECTED);
+//                             }
+                       #endif
+               }
                return TRUE;
-#endif
        case WM_MOVING:
                if(emu) {
                        emu->suspend();
@@ -1716,6 +1862,38 @@ void hide_menu_bar(HWND hWnd)
 }
 
 // ----------------------------------------------------------------------------
+// status bar
+// ----------------------------------------------------------------------------
+
+void show_status_bar(HWND hWnd)
+{
+       if(hStatus == NULL) {
+               InitCommonControls();
+               hStatus = CreateStatusWindow(WS_CHILD | WS_VISIBLE | CCS_BOTTOM, NULL, hWnd, ID_STATUS);
+       }
+       ShowWindow(hStatus, SW_SHOW);
+       status_bar_visible = true;
+}
+
+void hide_status_bar(HWND hWnd)
+{
+       if(hStatus != NULL) {
+               ShowWindow(hStatus, SW_HIDE);
+       }
+       status_bar_visible = false;
+}
+
+int get_status_bar_height()
+{
+       if(hStatus != NULL && status_bar_visible) {
+               RECT rect;
+               GetWindowRect(hStatus, &rect);
+               return rect.bottom - rect.top;
+       }
+       return 0;
+}
+
+// ----------------------------------------------------------------------------
 // file
 // ----------------------------------------------------------------------------
 
@@ -2294,16 +2472,20 @@ void set_window(HWND hWnd, int mode)
                        SetWindowPos(hWnd, HWND_TOP, dest_x, dest_y, rect.right - rect.left, rect.bottom - rect.top, SWP_SHOWWINDOW);
                        now_fullscreen = false;
                        
-                       // show menu
+                       // show menu bar
                        show_menu_bar(hWnd);
+                       
+                       // show status bar
+                       show_status_bar(hWnd);
                } else {
                        SetWindowPos(hWnd, NULL, dest_x, dest_y, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER);
                }
                
+               int status_bar_height = get_status_bar_height();
                RECT rect_tmp;
                GetClientRect(hWnd, &rect_tmp);
-               if(rect_tmp.bottom != height) {
-                       rect.bottom += height - rect_tmp.bottom;
+               if(rect_tmp.bottom != height + status_bar_height) {
+                       rect.bottom += height + status_bar_height - rect_tmp.bottom;
                        dest_y = (int)((desktop_height - (rect.bottom - rect.top)) / 2);
                        dest_y = (dest_y < 0) ? 0 : dest_y;
                        SetWindowPos(hWnd, NULL, dest_x, dest_y, rect.right - rect.left, rect.bottom - rect.top, SWP_NOZORDER);
@@ -2343,9 +2525,12 @@ void set_window(HWND hWnd, int mode)
                        }
                        config.window_mode = mode;
                        
-                       // remove menu
+                       // hide menu bar
                        hide_menu_bar(hWnd);
                        
+                       // hide status bar
+                       hide_status_bar(hWnd);
+                       
                        // set screen size to emu class
                        emu->set_host_window_size(width, height, false);
                }
index 7a02810..872a9c9 100644 (file)
@@ -107,6 +107,10 @@ devenv.com jr100.vcproj /Rebuild Release
 mkdir build_xp\jr100
 copy Release\jr100.exe build_xp\jr100\.
 
+devenv.com jr800.vcproj /Rebuild Release
+mkdir build_xp\jr800
+copy Release\jr800.exe build_xp\jr800\.
+
 devenv.com jx.vcproj /Rebuild Release
 mkdir build_xp\jx
 copy Release\jx.exe build_xp\jx\.
index 8e1c25e..c755213 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 2f8f517..88385a4 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 1ac25d7..3d146d2 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index b2dc52c..14ce10a 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index b2f3a31..bc5eabf 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 04c2f86..e121ab8 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 86c29e2..b31a888 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 005fcbf..baebf54 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 97a5ff1..0fb279b 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 804a4f4..c1074e3 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 953d60b..cfc1034 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f85c5b2..21e3400 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 6b99c65..00e0ce2 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index c9a3ffa..27cf491 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 4a1c495..e96493c 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index eb4c162..57c6f63 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 82a51e2..a7ebedd 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index a928331..457627d 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 1ea4350..585eba8 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 743f2ad..e5fc19e 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 7ebdb1a..13212ae 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 1b0b168..92b07d5 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 054d489..8234440 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
diff --git a/source/vc++2008/jr800.vcproj b/source/vc++2008/jr800.vcproj
new file mode 100644 (file)
index 0000000..9e01471
--- /dev/null
@@ -0,0 +1,794 @@
+<?xml version="1.0" encoding="shift_jis"?>
+<VisualStudioProject
+       ProjectType="Visual C++"
+       Version="9.00"
+       Name="jr800"
+       ProjectGUID="{E189B8CC-341D-4715-9266-08610C61015A}"
+       RootNamespace="jr800"
+       TargetFrameworkVersion="131072"
+       >
+       <Platforms>
+               <Platform
+                       Name="Win32"
+               />
+       </Platforms>
+       <ToolFiles>
+       </ToolFiles>
+       <Configurations>
+               <Configuration
+                       Name="Debug|Win32"
+                       OutputDirectory=".\Debug"
+                       IntermediateDirectory=".\Debug"
+                       ConfigurationType="1"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+                       UseOfMFC="0"
+                       ATLMinimizesCRunTimeLibraryUsage="false"
+                       CharacterSet="2"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                               PreprocessorDefinitions="_DEBUG"
+                               MkTypLibCompatible="true"
+                               SuppressStartupBanner="true"
+                               TargetEnvironment="1"
+                               TypeLibraryName=".\Debug/jr800.tlb"
+                               HeaderFileName=""
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               Optimization="0"
+                               PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_JR800"
+                               MinimalRebuild="true"
+                               BasicRuntimeChecks="3"
+                               RuntimeLibrary="1"
+                               PrecompiledHeaderFile=".\Debug/jr800.pch"
+                               AssemblerListingLocation=".\Debug/"
+                               ObjectFile=".\Debug/"
+                               ProgramDataBaseFileName=".\Debug/"
+                               BrowseInformation="1"
+                               WarningLevel="3"
+                               SuppressStartupBanner="true"
+                               DebugInformationFormat="4"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                               PreprocessorDefinitions="_DEBUG"
+                               Culture="1041"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               AdditionalDependencies="odbc32.lib odbccp32.lib winmm.lib imm32.lib"
+                               OutputFile=".\Debug/jr800.exe"
+                               LinkIncremental="2"
+                               SuppressStartupBanner="true"
+                               GenerateDebugInformation="true"
+                               ProgramDatabaseFile=".\Debug/jr800.pdb"
+                               SubSystem="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               TargetMachine="1"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                               SuppressStartupBanner="true"
+                               OutputFile=".\Debug/jr800.bsc"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+               <Configuration
+                       Name="Release|Win32"
+                       OutputDirectory=".\Release"
+                       IntermediateDirectory=".\Release"
+                       ConfigurationType="1"
+                       InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC60.vsprops"
+                       UseOfMFC="0"
+                       ATLMinimizesCRunTimeLibraryUsage="false"
+                       CharacterSet="2"
+                       >
+                       <Tool
+                               Name="VCPreBuildEventTool"
+                       />
+                       <Tool
+                               Name="VCCustomBuildTool"
+                       />
+                       <Tool
+                               Name="VCXMLDataGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCWebServiceProxyGeneratorTool"
+                       />
+                       <Tool
+                               Name="VCMIDLTool"
+                               PreprocessorDefinitions="NDEBUG"
+                               MkTypLibCompatible="true"
+                               SuppressStartupBanner="true"
+                               TargetEnvironment="1"
+                               TypeLibraryName=".\Release/jr800.tlb"
+                               HeaderFileName=""
+                       />
+                       <Tool
+                               Name="VCCLCompilerTool"
+                               Optimization="2"
+                               InlineFunctionExpansion="2"
+                               PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_JR800"
+                               StringPooling="true"
+                               RuntimeLibrary="0"
+                               EnableFunctionLevelLinking="true"
+                               EnableEnhancedInstructionSet="2"
+                               PrecompiledHeaderFile=".\Release/jr800.pch"
+                               AssemblerListingLocation=".\Release/"
+                               ObjectFile=".\Release/"
+                               ProgramDataBaseFileName=".\Release/"
+                               BrowseInformation="1"
+                               WarningLevel="3"
+                               SuppressStartupBanner="true"
+                       />
+                       <Tool
+                               Name="VCManagedResourceCompilerTool"
+                       />
+                       <Tool
+                               Name="VCResourceCompilerTool"
+                               PreprocessorDefinitions="NDEBUG"
+                               Culture="1033"
+                       />
+                       <Tool
+                               Name="VCPreLinkEventTool"
+                       />
+                       <Tool
+                               Name="VCLinkerTool"
+                               AdditionalDependencies="odbc32.lib odbccp32.lib winmm.lib imm32.lib"
+                               OutputFile=".\Release/jr800.exe"
+                               LinkIncremental="1"
+                               SuppressStartupBanner="true"
+                               ProgramDatabaseFile=".\Release/jr800.pdb"
+                               SubSystem="2"
+                               RandomizedBaseAddress="1"
+                               DataExecutionPrevention="0"
+                               TargetMachine="1"
+                       />
+                       <Tool
+                               Name="VCALinkTool"
+                       />
+                       <Tool
+                               Name="VCManifestTool"
+                       />
+                       <Tool
+                               Name="VCXDCMakeTool"
+                       />
+                       <Tool
+                               Name="VCBscMakeTool"
+                               SuppressStartupBanner="true"
+                               OutputFile=".\Release/jr800.bsc"
+                       />
+                       <Tool
+                               Name="VCFxCopTool"
+                       />
+                       <Tool
+                               Name="VCAppVerifierTool"
+                       />
+                       <Tool
+                               Name="VCPostBuildEventTool"
+                       />
+               </Configuration>
+       </Configurations>
+       <References>
+       </References>
+       <Files>
+               <Filter
+                       Name="Source Files"
+                       Filter="cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
+                       >
+                       <File
+                               RelativePath="..\src\common.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
+                               RelativePath="..\src\config.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
+                               RelativePath="..\src\fifo.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
+                               RelativePath="..\src\fileio.cpp"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCCLCompilerTool"
+                                               PreprocessorDefinitions=""
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <Filter
+                               Name="EMU Source Files"
+                               Filter="cpp"
+                               >
+                               <File
+                                       RelativePath="..\src\debugger.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\emu.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="OSD Source Files"
+                               Filter="cpp"
+                               >
+                               <File
+                                       RelativePath="..\src\win32\osd.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\win32\osd_console.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\win32\osd_input.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\win32\osd_screen.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\win32\osd_sound.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\win32\winmain.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="VM Common Source Files"
+                               Filter="cpp"
+                               >
+                               <File
+                                       RelativePath="..\src\vm\datarec.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\event.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\hd44102.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\mc6800.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       Optimization="0"
+                                                       PreprocessorDefinitions=""
+                                                       BasicRuntimeChecks="3"
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\memory.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\noise.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\pcm1bit.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="VM Driver Source Files"
+                               Filter="cpp"
+                               >
+                               <File
+                                       RelativePath="..\src\vm\jr800\io.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\jr800\jr800.cpp"
+                                       >
+                                       <FileConfiguration
+                                               Name="Debug|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                                       <FileConfiguration
+                                               Name="Release|Win32"
+                                               >
+                                               <Tool
+                                                       Name="VCCLCompilerTool"
+                                                       PreprocessorDefinitions=""
+                                               />
+                                       </FileConfiguration>
+                               </File>
+                       </Filter>
+               </Filter>
+               <Filter
+                       Name="Header Files"
+                       Filter="h;hpp;hxx;hm;inl"
+                       >
+                       <File
+                               RelativePath="..\src\common.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\config.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\fifo.h"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\fileio.h"
+                               >
+                       </File>
+                       <Filter
+                               Name="EMU Header Files"
+                               Filter="h"
+                               >
+                               <File
+                                       RelativePath="..\src\emu.h"
+                                       >
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="OSD Header Files"
+                               Filter="h"
+                               >
+                               <File
+                                       RelativePath="..\src\win32\osd.h"
+                                       >
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="VM Common Header Files"
+                               Filter="h"
+                               >
+                               <File
+                                       RelativePath="..\src\vm\datarec.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\debugger.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\device.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\event.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\hd44102.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\mc6800.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\memory.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\noise.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\pcm1bit.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\vm.h"
+                                       >
+                               </File>
+                       </Filter>
+                       <Filter
+                               Name="VM Driver Header Files"
+                               Filter="h"
+                               >
+                               <File
+                                       RelativePath="..\src\vm\jr800\io.h"
+                                       >
+                               </File>
+                               <File
+                                       RelativePath="..\src\vm\jr800\jr800.h"
+                                       >
+                               </File>
+                       </Filter>
+               </Filter>
+               <Filter
+                       Name="Resource Files"
+                       Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
+                       >
+                       <File
+                               RelativePath="..\src\res\jr800.ico"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\jr800.rc"
+                               >
+                               <FileConfiguration
+                                       Name="Debug|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCResourceCompilerTool"
+                                               PreprocessorDefinitions=""
+                                               AdditionalIncludeDirectories="..\src\res"
+                                       />
+                               </FileConfiguration>
+                               <FileConfiguration
+                                       Name="Release|Win32"
+                                       >
+                                       <Tool
+                                               Name="VCResourceCompilerTool"
+                                               PreprocessorDefinitions=""
+                                               AdditionalIncludeDirectories="..\src\res"
+                                       />
+                               </FileConfiguration>
+                       </File>
+                       <File
+                               RelativePath="..\src\res\resource.h"
+                               >
+                       </File>
+               </Filter>
+       </Files>
+       <Globals>
+       </Globals>
+</VisualStudioProject>
index cc68ced..a1b60c5 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 93815a1..61d12e7 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 7beb3c2..ea81c70 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index bafe148..5b8fb7e 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 9adabc9..39341fd 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 1ab35e7..e6be3a2 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 6de9a56..5241f96 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index ffab7be..1990612 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f1e179e..6bbd6e0 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 38651b4..d9b04e5 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index d192298..9d0dc4c 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 49b808e..4e025f7 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 0714f0d..21a77ce 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 9a1a6fc..1a3d21c 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 8880c22..27721fe 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 26eb149..7dbdecc 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 6bacc25..6fd1c15 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 9fc0953..81df206 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 7dd5b80..8ad04a0 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 1d71510..59c9350 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f3c0691..79d28d9 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 8625d31..8da5c7d 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 3d9292a..e656d51 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 2976bd6..25efa9d 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index abaed7d..f96f005 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 168ce00..a5c90db 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f1970b9..098e90f 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index c34b251..1704fe3 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f648dba..f906282 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 77d96f2..c90b3b4 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index fa2356c..9cf3b95 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index e7a5619..dc07e16 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index b2646d8..aa64052 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index d60ddf5..7219df2 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index b2ab0ec..8325879 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 20b9f7e..38dabcd 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 02b67f7..2323d6e 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 7e85b1b..efdccee 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 3d5a51d..9133155 100644 (file)
                        Filter="ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
                        >
                        <File
+                               RelativePath="..\src\res\pcengine.ico"
+                               >
+                       </File>
+                       <File
                                RelativePath="..\src\res\pcengine.rc"
                                >
                                <FileConfiguration
                                </FileConfiguration>
                        </File>
                        <File
-                               RelativePath="..\src\res\pcengine.ico"
+                               RelativePath="..\src\res\resource.h"
                                >
                        </File>
                        <File
-                               RelativePath="..\src\res\resource.h"
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
                                >
                        </File>
                </Filter>
index 96d4e9e..bbb02b1 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 393c7f5..0675266 100644 (file)
                                RelativePath="..\src\res\resource.h"
                                >
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 951da8f..6ae2695 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 3be6fb1..fd8b1c9 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 5f7e5e8..02bc1d3 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 28da092..b113288 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index f9ee0fc..61fc2bf 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index d24cd52..b45f5fe 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index b8b13a6..1e608a0 100644 (file)
                                        />
                                </FileConfiguration>
                        </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_off.bmp"
+                               >
+                       </File>
+                       <File
+                               RelativePath="..\src\res\indicator\access_on.bmp"
+                               >
+                       </File>
                </Filter>
        </Files>
        <Globals>
index 5281268..9d25339 100644 (file)
@@ -134,6 +134,11 @@ call :clean
 mkdir build_vc12\jr100
 copy binary_vc12\jr100.exe build_vc12\jr100\.
 
+devenv.com jr800.vcxproj /Rebuild Release
+call :clean
+mkdir build_vc12\jr800
+copy binary_vc12\jr800.exe build_vc12\jr800\.
+
 devenv.com jx.vcxproj /Rebuild Release
 call :clean
 mkdir build_vc12\jx
index 1c84049..7495f8b 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm16pi.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm16pi.rc">
index c56a6a1..67da5bd 100644 (file)
     <Image Include="..\src\res\fm16pi.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm16pi.rc">
index 820d599..6f7af17 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm7.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm7.rc">
index a990495..35287e7 100644 (file)
     <Image Include="..\src\res\fm7.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm7.rc">
index 0d33568..fd162ac 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm77.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77.rc">
index 6b5f5c2..0ba1e60 100644 (file)
     <Image Include="..\src\res\fm77.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77.rc">
index dde71f4..b3ae8fa 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm77av.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av.rc">
index e0f1de8..ae4aecc 100644 (file)
     <Image Include="..\src\res\fm77av.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av.rc">
index 9bbf6b5..c7ec262 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm77av40.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av40.rc">
index 3f4ecd3..c434448 100644 (file)
     <Image Include="..\src\res\fm77av40.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av40.rc">
index b266341..a8143b9 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm77av40ex.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av40ex.rc">
index 47b8374..18ce5d5 100644 (file)
     <Image Include="..\src\res\fm77av40ex.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm77av40ex.rc">
index 756f90f..3d415b1 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fm8.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm8.rc">
index dd506de..84f7bad 100644 (file)
     <Image Include="..\src\res\fm8.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fm8.rc">
index 8268853..765d0b3 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr30.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr30.rc">
index 08644ba..87cf905 100644 (file)
     <Image Include="..\src\res\fmr30.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr30.rc">
index e2d2f8a..85e5700 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr30.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr30.rc">
index 08644ba..87cf905 100644 (file)
     <Image Include="..\src\res\fmr30.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr30.rc">
index 377fecb..8aa37b5 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr50.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i286.rc">
index 78c530e..ff5f167 100644 (file)
     <Image Include="..\src\res\fmr50.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i286.rc">
index 4328c4c..3da231b 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr50.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i386.rc">
index cfce1ac..71cd284 100644 (file)
     <Image Include="..\src\res\fmr50.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i386.rc">
index c508a53..c87588b 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr50.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i486.rc">
index 1c61eed..0a8a2cc 100644 (file)
     <Image Include="..\src\res\fmr50.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr50_i486.rc">
index b728bc8..d1bc525 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr60.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr60.rc">
index b20c1e3..df59a03 100644 (file)
     <Image Include="..\src\res\fmr60.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr60.rc">
index 9820900..5badd2d 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr60.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr70.rc">
index d904ae8..dd4c523 100644 (file)
     <Image Include="..\src\res\fmr60.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr70.rc">
index a528a1f..234352e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fmr60.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr80.rc">
index 231a5c1..388d045 100644 (file)
     <Image Include="..\src\res\fmr60.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fmr80.rc">
index bfef7fd..d34e77e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\fp1100.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fp1100.rc">
index 07c9de8..bcb4606 100644 (file)
     <Image Include="..\src\res\fp1100.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\fp1100.rc">
index 9eae551..bb4cc6f 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\gamegear.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\gamegear.rc">
index b2e35ad..e602b59 100644 (file)
     <Image Include="..\src\res\gamegear.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\gamegear.rc">
index a056116..376efbe 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\hc20.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc20.rc">
index 6abfda7..01adaa6 100644 (file)
     <Image Include="..\src\res\hc20.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc20.rc">
index 2494862..fcd21fc 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\hc40.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc40.rc">
index 2efcda6..abe9a50 100644 (file)
     <Image Include="..\src\res\hc40.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc40.rc">
index 6e79872..e4dbc38 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\hc80.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc80.rc">
index 50f4d86..a147616 100644 (file)
     <Image Include="..\src\res\hc80.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hc80.rc">
index 9659a4e..67a44a7 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\hx20.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hx20.rc">
index 512faca..def5915 100644 (file)
     <Image Include="..\src\res\hx20.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\hx20.rc">
index 1500929..b788f8b 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\j3100.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\j3100.rc">
index 8d0f04c..b08b9e0 100644 (file)
     <Image Include="..\src\res\j3100.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\j3100.rc">
index 21b1fa9..538e914 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\j3100.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\j3100.rc">
index 3c6c080..44a8686 100644 (file)
     <Image Include="..\src\res\j3100.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\j3100.rc">
diff --git a/source/vc++2013/jr800.vcxproj b/source/vc++2013/jr800.vcxproj
new file mode 100644 (file)
index 0000000..983338c
--- /dev/null
@@ -0,0 +1,214 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup Label="ProjectConfigurations">
+    <ProjectConfiguration Include="Debug|Win32">
+      <Configuration>Debug</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+    <ProjectConfiguration Include="Release|Win32">
+      <Configuration>Release</Configuration>
+      <Platform>Win32</Platform>
+    </ProjectConfiguration>
+  </ItemGroup>
+  <PropertyGroup Label="Globals">
+    <ProjectGuid>{E189B8CC-341D-4715-9266-08610C61015A}</ProjectGuid>
+    <RootNamespace>jr800</RootNamespace>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v120_xp</PlatformToolset>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
+    <ConfigurationType>Application</ConfigurationType>
+    <PlatformToolset>v120_xp</PlatformToolset>
+    <UseOfMfc>false</UseOfMfc>
+    <CharacterSet>MultiByte</CharacterSet>
+  </PropertyGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
+  <ImportGroup Label="ExtensionSettings">
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
+  </ImportGroup>
+  <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
+    <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
+    <Import Project="$(VCTargetsPath)Microsoft.CPP.UpgradeFromVC60.props" />
+  </ImportGroup>
+  <PropertyGroup Label="UserMacros" />
+  <PropertyGroup>
+    <_ProjectFileVersion>12.0.21005.1</_ProjectFileVersion>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <OutDir>.\Debug\</OutDir>
+    <IntDir>.\Debug\</IntDir>
+    <LinkIncremental>true</LinkIncremental>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(DXSDK_DIR)Include</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(DXSDK_DIR)Lib\x86</LibraryPath>
+  </PropertyGroup>
+  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <OutDir>.\Release\</OutDir>
+    <IntDir>.\Release\</IntDir>
+    <LinkIncremental>false</LinkIncremental>
+    <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);$(DXSDK_DIR)Include</IncludePath>
+    <LibraryPath>$(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);$(DXSDK_DIR)Lib\x86</LibraryPath>
+  </PropertyGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TypeLibraryName>.\Debug/jr800.tlb</TypeLibraryName>
+      <HeaderFileName />
+    </Midl>
+    <ClCompile>
+      <Optimization>Disabled</Optimization>
+      <PreprocessorDefinitions>WIN32;_DEBUG;_WINDOWS;_JR800;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MinimalRebuild>true</MinimalRebuild>
+      <BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
+      <RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
+      <PrecompiledHeaderOutputFile>.\Debug/jr800.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Debug/</AssemblerListingLocation>
+      <ObjectFileName>.\Debug/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Debug/</ProgramDataBaseFileName>
+      <BrowseInformation>true</BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0411</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>odbc32.lib;odbccp32.lib;winmm.lib;imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\Debug/jr800.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <GenerateDebugInformation>true</GenerateDebugInformation>
+      <ProgramDatabaseFile>.\Debug/jr800.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention />
+      <TargetMachine>MachineX86</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\Debug/jr800.bsc</OutputFile>
+    </Bscmake>
+    <Manifest>
+      <AdditionalManifestFiles>..\src\res\vista.manifest</AdditionalManifestFiles>
+    </Manifest>
+  </ItemDefinitionGroup>
+  <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
+    <Midl>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <MkTypLibCompatible>true</MkTypLibCompatible>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <TargetEnvironment>Win32</TargetEnvironment>
+      <TypeLibraryName>.\Release/jr800.tlb</TypeLibraryName>
+      <HeaderFileName />
+    </Midl>
+    <ClCompile>
+      <Optimization>MaxSpeed</Optimization>
+      <InlineFunctionExpansion>AnySuitable</InlineFunctionExpansion>
+      <PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_JR800;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <StringPooling>true</StringPooling>
+      <RuntimeLibrary>MultiThreaded</RuntimeLibrary>
+      <FunctionLevelLinking>true</FunctionLevelLinking>
+      <EnableEnhancedInstructionSet>StreamingSIMDExtensions2</EnableEnhancedInstructionSet>
+      <PrecompiledHeaderOutputFile>.\Release/jr800.pch</PrecompiledHeaderOutputFile>
+      <AssemblerListingLocation>.\Release/</AssemblerListingLocation>
+      <ObjectFileName>.\Release/</ObjectFileName>
+      <ProgramDataBaseFileName>.\Release/</ProgramDataBaseFileName>
+      <BrowseInformation>true</BrowseInformation>
+      <WarningLevel>Level3</WarningLevel>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+    </ClCompile>
+    <ResourceCompile>
+      <PreprocessorDefinitions>NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+      <Culture>0x0409</Culture>
+    </ResourceCompile>
+    <Link>
+      <AdditionalDependencies>odbc32.lib;odbccp32.lib;winmm.lib;imm32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <OutputFile>.\Release/jr800.exe</OutputFile>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <ProgramDatabaseFile>.\Release/jr800.pdb</ProgramDatabaseFile>
+      <SubSystem>Windows</SubSystem>
+      <RandomizedBaseAddress>false</RandomizedBaseAddress>
+      <DataExecutionPrevention />
+      <TargetMachine>MachineX86</TargetMachine>
+      <ImageHasSafeExceptionHandlers>false</ImageHasSafeExceptionHandlers>
+    </Link>
+    <Bscmake>
+      <SuppressStartupBanner>true</SuppressStartupBanner>
+      <OutputFile>.\Release/jr800.bsc</OutputFile>
+    </Bscmake>
+    <Manifest>
+      <AdditionalManifestFiles>..\src\res\vista.manifest</AdditionalManifestFiles>
+    </Manifest>
+  </ItemDefinitionGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\common.cpp" />
+    <ClCompile Include="..\src\config.cpp" />
+    <ClCompile Include="..\src\fifo.cpp" />
+    <ClCompile Include="..\src\fileio.cpp" />
+    <ClCompile Include="..\src\debugger.cpp" />
+    <ClCompile Include="..\src\emu.cpp" />
+    <ClCompile Include="..\src\win32\osd.cpp" />
+    <ClCompile Include="..\src\win32\osd_console.cpp" />
+    <ClCompile Include="..\src\win32\osd_input.cpp" />
+    <ClCompile Include="..\src\win32\osd_screen.cpp" />
+    <ClCompile Include="..\src\win32\osd_sound.cpp" />
+    <ClCompile Include="..\src\win32\winmain.cpp" />
+    <ClCompile Include="..\src\vm\datarec.cpp" />
+    <ClCompile Include="..\src\vm\event.cpp" />
+    <ClCompile Include="..\src\vm\hd44102.cpp" />
+    <ClCompile Include="..\src\vm\mc6800.cpp">
+      <Optimization Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Disabled</Optimization>
+      <BasicRuntimeChecks Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">EnableFastChecks</BasicRuntimeChecks>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\memory.cpp" />
+    <ClCompile Include="..\src\vm\noise.cpp" />
+    <ClCompile Include="..\src\vm\pcm1bit.cpp" />
+    <ClCompile Include="..\src\vm\jr800\io.cpp" />
+    <ClCompile Include="..\src\vm\jr800\jr800.cpp" />
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\common.h" />
+    <ClInclude Include="..\src\config.h" />
+    <ClInclude Include="..\src\fifo.h" />
+    <ClInclude Include="..\src\fileio.h" />
+    <ClInclude Include="..\src\emu.h" />
+    <ClInclude Include="..\src\win32\osd.h" />
+    <ClInclude Include="..\src\vm\datarec.h" />
+    <ClInclude Include="..\src\vm\debugger.h" />
+    <ClInclude Include="..\src\vm\device.h" />
+    <ClInclude Include="..\src\vm\event.h" />
+    <ClInclude Include="..\src\vm\hd44102.h" />
+    <ClInclude Include="..\src\vm\mc6800.h" />
+    <ClInclude Include="..\src\vm\memory.h" />
+    <ClInclude Include="..\src\vm\noise.h" />
+    <ClInclude Include="..\src\vm\pcm1bit.h" />
+    <ClInclude Include="..\src\vm\vm.h" />
+    <ClInclude Include="..\src\vm\jr800\io.h" />
+    <ClInclude Include="..\src\vm\jr800\jr800.h" />
+    <ClInclude Include="..\src\res\resource.h" />
+  </ItemGroup>
+  <ItemGroup>
+    <Image Include="..\src\res\jr800.ico" />
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\src\res\jr800.rc">
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">..\src\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">..\src\res;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+    </ResourceCompile>
+  </ItemGroup>
+  <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
+  <ImportGroup Label="ExtensionTargets">
+  </ImportGroup>
+</Project>
\ No newline at end of file
diff --git a/source/vc++2013/jr800.vcxproj.filters b/source/vc++2013/jr800.vcxproj.filters
new file mode 100644 (file)
index 0000000..e6b29c3
--- /dev/null
@@ -0,0 +1,183 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <ItemGroup>
+    <Filter Include="Source Files">
+      <UniqueIdentifier>{3b24cea0-bebd-480c-8692-75e528cedb7d}</UniqueIdentifier>
+      <Extensions>cpp;c;cxx;rc;def;r;odl;idl;hpj;bat</Extensions>
+    </Filter>
+    <Filter Include="Source Files\EMU Source Files">
+      <UniqueIdentifier>{ccae3d55-118a-4ade-a418-dc1fe3ef63d3}</UniqueIdentifier>
+      <Extensions>cpp</Extensions>
+    </Filter>
+    <Filter Include="Source Files\OSD Source Files">
+      <UniqueIdentifier>{44e1b4d0-0d72-4a8f-8f94-3cb8e2918a1a}</UniqueIdentifier>
+      <Extensions>cpp</Extensions>
+    </Filter>
+    <Filter Include="Source Files\VM Common Source Files">
+      <UniqueIdentifier>{eafd9433-c14b-47ca-9f1a-0b8ff4216fb8}</UniqueIdentifier>
+      <Extensions>cpp</Extensions>
+    </Filter>
+    <Filter Include="Source Files\VM Driver Source Files">
+      <UniqueIdentifier>{0f69d9bb-aead-4d7b-aeca-cdc0d06d399c}</UniqueIdentifier>
+      <Extensions>cpp</Extensions>
+    </Filter>
+    <Filter Include="Header Files">
+      <UniqueIdentifier>{c3abc83b-ff15-401d-a484-c26f4e5a93c3}</UniqueIdentifier>
+      <Extensions>h;hpp;hxx;hm;inl</Extensions>
+    </Filter>
+    <Filter Include="Header Files\EMU Header Files">
+      <UniqueIdentifier>{1fcdfbf5-4b5f-41c8-8603-dcd60255ed7f}</UniqueIdentifier>
+      <Extensions>h</Extensions>
+    </Filter>
+    <Filter Include="Header Files\OSD Header Files">
+      <UniqueIdentifier>{794979c9-ed6e-4faf-b84d-19b539861776}</UniqueIdentifier>
+      <Extensions>h</Extensions>
+    </Filter>
+    <Filter Include="Header Files\VM Common Header Files">
+      <UniqueIdentifier>{b2dfe175-2725-485e-95fb-8ae8ad143048}</UniqueIdentifier>
+      <Extensions>h</Extensions>
+    </Filter>
+    <Filter Include="Header Files\VM Driver Header Files">
+      <UniqueIdentifier>{2cbb49ab-4176-4927-8a15-555a8a96990f}</UniqueIdentifier>
+      <Extensions>h</Extensions>
+    </Filter>
+    <Filter Include="Resource Files">
+      <UniqueIdentifier>{a7b2b30c-5c36-4f79-94d0-21f52ae14d82}</UniqueIdentifier>
+      <Extensions>ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe</Extensions>
+    </Filter>
+  </ItemGroup>
+  <ItemGroup>
+    <ClCompile Include="..\src\common.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\config.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\fifo.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\fileio.cpp">
+      <Filter>Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\debugger.cpp">
+      <Filter>Source Files\EMU Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\emu.cpp">
+      <Filter>Source Files\EMU Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\osd.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\osd_console.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\osd_input.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\osd_screen.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\osd_sound.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\win32\winmain.cpp">
+      <Filter>Source Files\OSD Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\datarec.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\event.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\hd44102.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\mc6800.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\memory.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\noise.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\pcm1bit.cpp">
+      <Filter>Source Files\VM Common Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\jr800\io.cpp">
+      <Filter>Source Files\VM Driver Source Files</Filter>
+    </ClCompile>
+    <ClCompile Include="..\src\vm\jr800\jr800.cpp">
+      <Filter>Source Files\VM Driver Source Files</Filter>
+    </ClCompile>
+  </ItemGroup>
+  <ItemGroup>
+    <ClInclude Include="..\src\common.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\config.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\fifo.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\fileio.h">
+      <Filter>Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\emu.h">
+      <Filter>Header Files\EMU Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\win32\osd.h">
+      <Filter>Header Files\OSD Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\datarec.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\debugger.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\device.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\event.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\hd44102.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\mc6800.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\memory.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\noise.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\pcm1bit.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\vm.h">
+      <Filter>Header Files\VM Common Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\jr800\io.h">
+      <Filter>Header Files\VM Driver Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\vm\jr800\jr800.h">
+      <Filter>Header Files\VM Driver Header Files</Filter>
+    </ClInclude>
+    <ClInclude Include="..\src\res\resource.h">
+      <Filter>Resource Files</Filter>
+    </ClInclude>
+  </ItemGroup>
+  <ItemGroup>
+    <Image Include="..\src\res\jr800.ico">
+      <Filter>Resource Files</Filter>
+    </Image>
+  </ItemGroup>
+  <ItemGroup>
+    <ResourceCompile Include="..\src\res\jr800.rc">
+      <Filter>Resource Files</Filter>
+    </ResourceCompile>
+  </ItemGroup>
+</Project>
\ No newline at end of file
index 910a56c..7a7c456 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\jx.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\jx.rc">
index aff87bd..7bc0d1c 100644 (file)
     <Image Include="..\src\res\jx.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\jx.rc">
index bf79a7f..b4e28f6 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\msx1.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx1.rc">
index cd9ac4d..1efefe4 100644 (file)
     <Image Include="..\src\res\msx1.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx1.rc">
index f917d97..284f01a 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\msx2.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx2.rc">
index da75808..b381edf 100644 (file)
     <Image Include="..\src\res\msx2.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx2.rc">
index e223f1b..3f50221 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\msx2p.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx2p.rc">
index be6f9b3..bb10487 100644 (file)
     <Image Include="..\src\res\msx2p.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\msx2p.rc">
index a130db5..edb2484 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\multi8.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\multi8.rc">
index 917649a..2a38285 100644 (file)
     <Image Include="..\src\res\multi8.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\multi8.rc">
index 520c637..cee266b 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz1200.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz1200.rc">
index 133ef10..b2f60f5 100644 (file)
     <Image Include="..\src\res\mz1200.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz1200.rc">
index 4aa416b..6900c48 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz1500.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz1500.rc">
index d29e542..8be4909 100644 (file)
     <Image Include="..\src\res\mz1500.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz1500.rc">
index 2b15ee4..92786e5 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz2200.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2200.rc">
index 238f8b0..3d8ef4f 100644 (file)
     <Image Include="..\src\res\mz2200.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2200.rc">
index ee9a014..863bfac 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz2500.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2500.rc">
index c336476..7d01643 100644 (file)
     <Image Include="..\src\res\mz2500.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2500.rc">
index 343e376..ac1fcc6 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz2800.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2800.rc">
index 68641fa..fed23ff 100644 (file)
     <Image Include="..\src\res\mz2800.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz2800.rc">
index e7f013e..9e557dd 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz3500.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz3500.rc">
index e52f34f..0653434 100644 (file)
     <Image Include="..\src\res\mz3500.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz3500.rc">
index 6f68eef..0d6813e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz5500.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz5500.rc">
index e3a9756..21730cf 100644 (file)
     <Image Include="..\src\res\mz5500.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz5500.rc">
index beae9bf..4424da5 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz6500.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz6500.rc">
index d66a684..c0bbcd4 100644 (file)
     <Image Include="..\src\res\mz6500.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz6500.rc">
index 8e63916..a8a2fb7 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz6550.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz6550.rc">
index fd9a8c6..7bb50e4 100644 (file)
     <Image Include="..\src\res\mz6550.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz6550.rc">
index 148ae28..6e6f31e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz800.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz800.rc">
index 41162d1..05abc6b 100644 (file)
     <Image Include="..\src\res\mz800.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz800.rc">
index f575ffa..2542063 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz80a.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80a.rc">
index e0b086a..b53012d 100644 (file)
     <Image Include="..\src\res\mz80a.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80a.rc">
index c6ba37f..b9fd2cf 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz80b.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80b.rc">
index 56c8083..c11eea8 100644 (file)
     <Image Include="..\src\res\mz80b.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80b.rc">
index dc40a19..7bdbf59 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\mz80k.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80k.rc">
index 9236ca6..0027cf9 100644 (file)
     <Image Include="..\src\res\mz80k.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\mz80k.rc">
index 98de677..7c8513d 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\n5200.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\n5200.rc">
index 1871aa5..872f2c9 100644 (file)
     <Image Include="..\src\res\n5200.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\n5200.rc">
index d3b737e..cc481b9 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pasopia5.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
index 759b1a6..4ffd40a 100644 (file)
     <Image Include="..\src\res\pasopia5.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
 </Project>
\ No newline at end of file
index bdf184c..b78b989 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pasopia7.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pasopia7.rc">
index 1b007af..2ca907f 100644 (file)
     <Image Include="..\src\res\pasopia7.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pasopia7.rc">
index 44486be..a73ebff 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pasopia7.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pasopia7lcd.rc">
index 46eb57e..9377580 100644 (file)
     <Image Include="..\src\res\pasopia7.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pasopia7lcd.rc">
index b80af37..910bd8d 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc100.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc100.rc">
index 439c2fe..ead696f 100644 (file)
     <Image Include="..\src\res\pc100.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc100.rc">
index ae792f8..d9be230 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc6001.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001.rc">
index d258640..a55782a 100644 (file)
     <Image Include="..\src\res\pc6001.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001.rc">
index 65a505b..3ed8d36 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc6001mk2.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001mk2.rc">
index 8b2cb3c..3cd47f1 100644 (file)
     <Image Include="..\src\res\pc6001mk2.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001mk2.rc">
index b8abb36..873c2e4 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc6001mk2sr.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001mk2sr.rc">
index 1b4d654..88080f7 100644 (file)
     <Image Include="..\src\res\pc6001mk2sr.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6001mk2sr.rc">
index f5e7b57..432cafa 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc6601.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6601.rc">
index c4b78f4..8a97bb8 100644 (file)
     <Image Include="..\src\res\pc6601.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6601.rc">
index 55bd8a4..1c889ef 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc6601sr.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6601sr.rc">
index 8aef533..b450685 100644 (file)
     <Image Include="..\src\res\pc6601sr.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc6601sr.rc">
index 090026d..6d9b97e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc8001mk2sr.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc8001mk2sr.rc">
index 6e092a8..7735398 100644 (file)
     <Image Include="..\src\res\pc8001mk2sr.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc8001mk2sr.rc">
index f478844..e6032e8 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc8801ma.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc8801ma.rc">
index 0d9f82c..9680ab7 100644 (file)
     <Image Include="..\src\res\pc8801ma.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc8801ma.rc">
index e74afc3..087ff77 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc9801.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801.rc">
index 96faa35..608dfc1 100644 (file)
     <Image Include="..\src\res\pc9801.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801.rc">
index aa7b88a..19d2ced 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc9801e.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801e.rc">
index 632f618..020e0f3 100644 (file)
     <Image Include="..\src\res\pc9801e.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801e.rc">
index c1c2726..e415868 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc9801u.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801u.rc">
index 15eb4d7..9cd27d2 100644 (file)
     <Image Include="..\src\res\pc9801u.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801u.rc">
index 00b1711..a3ea342 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc9801vf.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801vf.rc">
index 3842cb7..5fef569 100644 (file)
     <Image Include="..\src\res\pc9801vf.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801vf.rc">
index f3ad9b4..6aa3329 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc9801vm.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801vm.rc">
index f3d6a84..f7154e4 100644 (file)
     <Image Include="..\src\res\pc9801vm.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc9801vm.rc">
index 0d43902..b0b55a8 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc98do.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98do.rc">
index 8b1726b..005a29d 100644 (file)
     <Image Include="..\src\res\pc98do.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98do.rc">
index a4aeab4..267327f 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc98ha.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98ha.rc">
index 5e89e06..7504a03 100644 (file)
     <Image Include="..\src\res\pc98ha.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98ha.rc">
index 0f01164..dd5bb39 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pc98lt.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98lt.rc">
index bc0ba51..28be09d 100644 (file)
     <Image Include="..\src\res\pc98lt.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\pc98lt.rc">
index 16f1294..a5519bb 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\pcengine.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
   <ImportGroup Label="ExtensionTargets">
index 28c24c3..9ef9f55 100644 (file)
     <Image Include="..\src\res\pcengine.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
 </Project>
\ No newline at end of file
index e81bbe3..f929936 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\qc10.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\qc10.rc">
index ae0ceff..fb15d0a 100644 (file)
     <Image Include="..\src\res\qc10.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\qc10.rc">
index 435f9d5..a5c0e97 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\qc10.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\qc10cms.rc">
index 6e1fed5..ce3c5b2 100644 (file)
     <Image Include="..\src\res\qc10.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\qc10cms.rc">
index 654e074..30e63f3 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\sc3000.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\sc3000.rc">
index 8766d88..0a7ceb9 100644 (file)
     <Image Include="..\src\res\sc3000.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\sc3000.rc">
index 7def69a..5aec7f8 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\smc70.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\smc70.rc">
index a1f4e1f..b7b9cb7 100644 (file)
     <Image Include="..\src\res\smc70.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\smc70.rc">
index 548ff92..c20b166 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\smc777.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\smc777.rc">
index cd4625b..d379954 100644 (file)
     <Image Include="..\src\res\smc777.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\smc777.rc">
index d37c71d..f78beba 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\x1.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1.rc">
index 0fa4361..8896137 100644 (file)
     <Image Include="..\src\res\x1.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1.rc">
index 48226c0..31e3b03 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\x1turbo.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1turbo.rc">
index 0b3ad85..950eae5 100644 (file)
     <Image Include="..\src\res\x1turbo.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1turbo.rc">
index 857bbeb..1c75e1e 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\x1turboz.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1turboz.rc">
index d9cfdf4..3ce0eec 100644 (file)
     <Image Include="..\src\res\x1turboz.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1turboz.rc">
index 7adfc5f..eee99bf 100644 (file)
   </ItemGroup>
   <ItemGroup>
     <Image Include="..\src\res\x1twin.ico" />
+    <Image Include="..\src\res\indicator\access_off.bmp" />
+    <Image Include="..\src\res\indicator\access_on.bmp" />
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1twin.rc">
index def9917..ec3b0ed 100644 (file)
     <Image Include="..\src\res\x1twin.ico">
       <Filter>Resource Files</Filter>
     </Image>
+    <Image Include="..\src\res\indicator\access_off.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
+    <Image Include="..\src\res\indicator\access_on.bmp">
+      <Filter>Resource Files</Filter>
+    </Image>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="..\src\res\x1twin.rc">