+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
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)
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.*
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
return false;
}
}
+
+uint32_t EMU::is_floppy_disk_accessed()
+{
+ return vm->is_floppy_disk_accessed();
+}
#endif
#ifdef USE_QD1
return false;
}
}
+
+uint32_t EMU::is_quick_disk_accessed()
+{
+ return vm->is_quick_disk_accessed();
+}
#endif
#ifdef USE_TAPE
{
return vm->get_tape_position();
}
+
+const _TCHAR* EMU::get_tape_message()
+{
+ return vm->get_tape_message();
+}
#endif
#ifdef USE_TAPE_BUTTON
{
return vm->is_compact_disc_inserted();
}
+
+uint32_t EMU::is_compact_disc_accessed()
+{
+ return vm->is_compact_disc_accessed();
+}
#endif
#ifdef USE_LASER_DISC
{
return vm->is_laser_disc_inserted();
}
+
+uint32_t EMU::is_laser_disc_accessed()
+{
+ return vm->is_laser_disc_accessed();
+}
#endif
#ifdef USE_BINARY_FILE1
}
#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
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);
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();
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);
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);
)
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()
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 {
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 {
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");
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;
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
${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
)
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()
QString config_name;
QString device_name;
// USE_* flags
- bool use_access_lamp;
bool use_alt_f10_key;
bool use_roma_kana_conversion;
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; }
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;
// 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"
/////////////////////////////////////////////////////////////////////////////
// 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"
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
-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
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
--- /dev/null
+// 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
+
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
#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
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
// 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"
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
// 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"
/////////////////////////////////////////////////////////////////////////////
// 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"
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
/////////////////////////////////////////////////////////////////////////////
//
+// Image
+//
+
+IDI_BITMAP_ACCESS_OFF BITMAP DISCARDABLE "indicator/access_off.bmp"
+IDI_BITMAP_ACCESS_ON BITMAP DISCARDABLE "indicator/access_on.bmp"
+
+
+/////////////////////////////////////////////////////////////////////////////
+//
// Icon
//
// 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"
/////////////////////////////////////////////////////////////////////////////
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
// draw screen
void draw_screen();
-// uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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) {
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;
register_event(this, EVENT_SIGNAL, sample_usec / DATAREC_FAST_REW_SPEED, true, ®ister_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, ®ister_id);
}
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;
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();
#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() {}
}
return 0;
}
+ const _TCHAR* get_message()
+ {
+ return message;
+ }
void set_remote(bool value);
void set_ff_rew(int value);
bool do_apss(int value);
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
}
}
+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);
return 0;
}
+const _TCHAR* VM::get_tape_message()
+{
+ if(drec != NULL) {
+ return drec->get_message();
+ }
+ return NULL;
+}
+
void VM::push_play()
{
if(drec != NULL) {
#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
void update_dipswitch(void);
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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);
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void push_play();
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);
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
// ----------------------------------------------------------------------------
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();
// 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
#endif
class IO;
class MB8877;
+class SCSI_HDD;
class SCSI_HOST;
class SN76489AN;
#endif
IO* io;
MB8877* fdc;
+ SCSI_HDD* scsi_hdd[7];
SCSI_HOST* scsi_host;
SN76489AN* psg;
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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;
}
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;
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;
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;
return true;
}
// load ipl
- access_scsi = true;
+ access_scsi[drv] = true;
fio->Fread(buffer, BLOCK_SIZE * 4, 1);
fio->Fclose();
delete fio;
{
// 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;
}
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:
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);
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
// ----------------------------------------------------------------------------
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();
#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
class MB8877;
class MSM58321;
class PCM1BIT;
+class SCSI_HDD;
class SCSI_HOST;
class UPD71071;
MB8877* fdc;
MSM58321* rtc;
PCM1BIT* pcm;
+ SCSI_HDD* scsi_hdd[7];
SCSI_HOST* scsi_host;
UPD71071* dma;
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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);
}
// ----------------------------------------------------------------------------
#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)
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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
// ----------------------------------------------------------------------------
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);
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
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);
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
/// 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);
/// 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();
#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
// draw screen
void draw_screen();
-/// uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
/// 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();
{
if(index == 0) {
return cpu;
+ } else if(index == 1) {
+ return cpu_tf20;
}
return NULL;
}
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
// ----------------------------------------------------------------------------
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);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
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)
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
#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;
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));
}
//-------------------------------------------------
// 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;
// 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);
}
}
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();
// 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;
}
}
}
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);
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();
#include "../emu.h"
#include "device.h"
-#define SIG_HD44102_CS2 0
+//#define SIG_HD44102_CS2 0
class HD44102 : public DEVICE
{
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
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:
// 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
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
// ----------------------------------------------------------------------------
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();
#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"
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
// draw screen
void draw_screen();
-// uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
--- /dev/null
+/*
+ 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;
+}
+
--- /dev/null
+/*
+ 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
+
--- /dev/null
+/*
+ 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;
+}
+
--- /dev/null
+/*
+ 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
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
}
}
+uint32_t LD700::read_signal(int id)
+{
+ return (status == STATUS_PLAY) ? 1 : 0;
+}
+
void LD700::event_frame()
{
int prev_frame_raw = cur_frame_raw;
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);
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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++
output_compare.b.h = data;
MODIFIED_counters;
}
+ tcsr &=~TCSR_OCF;
break;
case 0x0c:
// output compare register (lsb)
output_compare.b.l = data;
MODIFIED_counters;
}
+ tcsr &=~TCSR_OCF;
break;
case 0x0f:
// port3 control/status register
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));
}
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
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;
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;
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
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;
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++) {
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);
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);
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);
}
#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
return true;
}
#endif
+ access[drv] = true;
+
if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
AF = 0x0801; // record not found
return true;
return true;
}
#endif
+ access[drv] = true;
+
if(disk[drv]->addr_crc_error && !disk[drv]->ignore_crc()) {
AF = 0x0801; // record not found
return true;
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
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;
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++) {
#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;
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);
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)
{
{
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)
{
{
return memory->is_disk_protected(drv);
}
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+ return memory->read_signal(0);
+}
#endif
bool VM::is_frame_skippable()
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();
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)
{
{
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)
{
{
return memory->is_disk_protected(drv);
}
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+ return memory->read_signal(0);
+}
#endif
bool VM::is_frame_skippable()
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);
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();
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
// ----------------------------------------------------------------------------
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);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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;
}
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
// ----------------------------------------------------------------------------
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);
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
#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
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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();
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
// ----------------------------------------------------------------------------
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)
{
return false;
}
}
+
+uint32_t VM::is_quick_disk_accessed()
+{
+ return qd->read_signal(0);
+}
#endif
void VM::play_tape(const _TCHAR* file_path)
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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);
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();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
}
}
+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);
{
return fdc->is_disk_protected(drv);
}
+
+uint32_t VM::is_floppy_disk_accessed()
+{
+ return fdc->read_signal(0);
+}
#endif
bool VM::is_frame_skippable()
//#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)
// 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);
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();
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();
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
// ----------------------------------------------------------------------------
{
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);
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
#define USE_FD2
#define USE_FD3
#define USE_FD4
-#define USE_ACCESS_LAMP
#endif
#if defined(_MZ80K)
#define USE_MONITOR_TYPE 2
// 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);
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);
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();
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
// ----------------------------------------------------------------------------
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();
#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"
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
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);
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) {
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_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();
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
// ----------------------------------------------------------------------------
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);
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);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_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();
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
}
}
-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)
}
}
+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) {
}
}
+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();
#define USE_CRT_FILTER
#define USE_SCANLINE
#endif
-#define USE_ACCESS_LAMP
#if defined(_PC6001)
#define USE_SOUND_VOLUME 4
#else
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
pc88->draw_screen();
}
-uint32_t VM::get_access_lamp_status()
-{
- return pc88fdc_sub->read_signal(0);
-}
-
// ----------------------------------------------------------------------------
// soud manager
// ----------------------------------------------------------------------------
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);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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
// ----------------------------------------------------------------------------
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)
{
#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)
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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);
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
// ----------------------------------------------------------------------------
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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) {
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;
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
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();
#ifdef _COLOR_MONITOR
#define USE_CRT_FILTER
#endif
-#define USE_ACCESS_LAMP
#define USE_SOUND_VOLUME 2
#define USE_DEBUGGER
#define USE_STATE
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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();
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();
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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
// ----------------------------------------------------------------------------
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);
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();
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
bool is_frame_skippable();
void update_config();
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) {
// refresh buffer
fio_img->Fread(cdda_buffer, sizeof(cdda_buffer), 1);
cdda_buffer_ptr = 0;
+ access = true;
}
}
break;
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);
position++;
offset = (offset + 1) % 2352;
}
+ access = true;
}
}
}
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);
}
}
+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) {
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);
int bytes_per_sec;
int scsi_id;
+ bool access;
};
#endif
position += tmp_length;
}
fio->Fclose();
+ access = true;
}
delete fio;
}
position += tmp_length;
}
fio->Fclose();
+ access = true;
}
delete fio;
}
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) {
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();
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
// ----------------------------------------------------------------------------
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);
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
void push_play();
void push_stop();
void push_fast_forward();
{
return drec->get_tape_position();
}
+
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
#endif
bool VM::is_frame_skippable()
bool is_tape_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
#endif
bool is_frame_skippable();
#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
// ----------------------------------------------------------------------------
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);
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
#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
// draw screen
void draw_screen();
- uint32_t get_access_lamp_status();
// sound generation
void initialize_sound(int rate, int samples);
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_playing();
bool is_tape_recording();
int get_tape_position();
+ const _TCHAR* get_tape_message();
void push_play();
void push_stop();
void push_fast_forward();
return drec->get_tape_position();
}
+const _TCHAR* VM::get_tape_message()
+{
+ return drec->get_message();
+}
+
void VM::push_play()
{
drec->set_ff_rew(0);
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();
#include <windowsx.h>
#include <mmsystem.h>
#include <process.h>
+#include <commctrl.h>
+#include <wingdi.h>
#include <gdiplus.h>
#include <d3d9.h>
#include <d3dx9.h>
#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")
// 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++) {
}
}
#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;
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;
}
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);
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);
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
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) {
#ifdef SUPPORT_DRAG_DROP
DragAcceptFiles(hWnd, TRUE);
#endif
+ hInstance = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE);
break;
case WM_CLOSE:
#ifdef USE_NOTIFY_POWER_OFF
now_fullscreen = false;
if(hMenu != NULL && IsMenu(hMenu)) {
DestroyMenu(hMenu);
+ hMenu = NULL;
+ }
+ if(hStatus != NULL) {
+ DestroyWindow(hStatus);
+ hStatus = NULL;
}
DestroyWindow(hWnd);
// release emulation core
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();
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();
}
// ----------------------------------------------------------------------------
+// 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
// ----------------------------------------------------------------------------
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);
}
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);
}
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\.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
--- /dev/null
+<?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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
/>
</FileConfiguration>
</File>
+ <File
+ RelativePath="..\src\res\indicator\access_off.bmp"
+ >
+ </File>
+ <File
+ RelativePath="..\src\res\indicator\access_on.bmp"
+ >
+ </File>
</Filter>
</Files>
<Globals>
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
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
--- /dev/null
+<?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
--- /dev/null
+<?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
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">
</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">
<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">