Redesigned several icons and reduced CD-ROM, floppy, and hard disk icons to just one instead of a different icon for each bus or type;
Added a network activity indicator icon; The Video section of the Settings dialog is now called Display.
@@ -1686,6 +1686,8 @@ mcast_index(const void *dst)
|
||||
static void
|
||||
nic_tx(nic_t *dev, uint32_t val)
|
||||
{
|
||||
update_status_bar_icon(SB_NETWORK, 1);
|
||||
|
||||
dev->CR.tx_packet = 0;
|
||||
dev->TSR.tx_ok = 1;
|
||||
dev->ISR.pkt_tx = 1;
|
||||
@@ -1694,6 +1696,8 @@ nic_tx(nic_t *dev, uint32_t val)
|
||||
if (dev->IMR.tx_inte)
|
||||
nic_interrupt(dev, 1);
|
||||
dev->tx_timer_active = 0;
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1714,6 +1718,8 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
int idx, nextpage;
|
||||
int endbytes;
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 1);
|
||||
|
||||
if (io_len != 60)
|
||||
nelog(2, "%s: rx_frame with length %d\n", dev->name, io_len);
|
||||
|
||||
@@ -1742,11 +1748,15 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
#endif
|
||||
) {
|
||||
nelog(1, "%s: no space\n", dev->name);
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
if ((io_len < 40/*60*/) && !dev->RCR.runts_ok) {
|
||||
nelog(1, "%s: rejected small packet, length %d\n", dev->name, io_len);
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1767,6 +1777,8 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
/* Broadcast not enabled, we're done. */
|
||||
if (! dev->RCR.broadcast) {
|
||||
nelog(2, "%s: RX BC disabled\n", dev->name);
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1778,6 +1790,8 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
#if 1
|
||||
nelog(2, "%s: RX MC disabled\n", dev->name);
|
||||
#endif
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1785,6 +1799,8 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
idx = mcast_index(buf);
|
||||
if (! (dev->mchash[idx>>3] & (1<<(idx&0x7)))) {
|
||||
nelog(2, "%s: RX MC not listed\n", dev->name);
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
return;
|
||||
}
|
||||
}
|
||||
@@ -1829,6 +1845,8 @@ nic_rx(void *priv, uint8_t *buf, int io_len)
|
||||
|
||||
if (dev->IMR.rx_inte)
|
||||
nic_interrupt(dev, 1);
|
||||
|
||||
update_status_bar_icon(SB_NETWORK, 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -215,10 +215,15 @@ network_pcap_setup(uint8_t *mac, NETRXCB func, void *arg)
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5],
|
||||
mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
|
||||
if (f_pcap_compile(pcap, &fp, filter_exp, 0, 0xffffffff) != -1) {
|
||||
if (f_pcap_setfilter(pcap, &fp) == -1)
|
||||
if (f_pcap_setfilter(pcap, &fp) == -1) {
|
||||
pclog(" Error installing filter (%s) !\n", filter_exp);
|
||||
f_pcap_close(pcap);
|
||||
return (-1);
|
||||
}
|
||||
} else {
|
||||
pclog(" Could not compile filter (%s) !\n", filter_exp);
|
||||
f_pcap_close(pcap);
|
||||
return (-1);
|
||||
}
|
||||
|
||||
/* Save the callback info. */
|
||||
@@ -269,6 +274,84 @@ network_pcap_close(void)
|
||||
}
|
||||
|
||||
|
||||
/* Test WinPcap - 1 = success, 0 = failure. */
|
||||
int
|
||||
network_pcap_test(void)
|
||||
{
|
||||
char temp[PCAP_ERRBUF_SIZE];
|
||||
char filter_exp[255];
|
||||
struct bpf_program fp;
|
||||
char *dev;
|
||||
|
||||
/* Did we already load the DLL? */
|
||||
if (pcap_handle == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#if 1
|
||||
/* Get the value of our capture interface. */
|
||||
dev = network_pcap;
|
||||
if (dev == NULL) {
|
||||
pclog(" PCap device is a null pointer!\n");
|
||||
return 0;
|
||||
}
|
||||
if ((dev[0] == '\0') || !strcmp(dev, "none")) {
|
||||
pclog(" No network device configured!\n");
|
||||
return 0;
|
||||
}
|
||||
pclog(" Network interface: '%s'\n", dev);
|
||||
#endif
|
||||
|
||||
strcpy(temp, f_pcap_lib_version());
|
||||
dev = strchr(temp, '(');
|
||||
if (dev != NULL) *(dev-1) = '\0';
|
||||
pclog("PCAP: initializing, %s\n", temp);
|
||||
|
||||
#if 0
|
||||
/* Get the value of our capture interface. */
|
||||
dev = network_pcap;
|
||||
if ((dev[0] == '\0') || !strcmp(dev, "none")) {
|
||||
pclog(" No network device configured!\n");
|
||||
return 0;
|
||||
}
|
||||
pclog(" Network interface: '%s'\n", dev);
|
||||
#else
|
||||
dev = network_pcap;
|
||||
#endif
|
||||
|
||||
pcap = f_pcap_open_live(dev, /* interface name */
|
||||
1518, /* maximum packet size */
|
||||
1, /* promiscuous mode? */
|
||||
10, /* timeout in msec */
|
||||
temp); /* error buffer */
|
||||
if (pcap == NULL) {
|
||||
pclog(" Unable to open device: %s!\n", temp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Create a MAC address based packet filter. */
|
||||
sprintf(filter_exp,
|
||||
"( ((ether dst ff:ff:ff:ff:ff:ff) or (ether dst %02x:%02x:%02x:%02x:%02x:%02x)) and not (ether src %02x:%02x:%02x:%02x:%02x:%02x) )",
|
||||
0, 1, 2, 3, 4, 5,
|
||||
0, 1, 2, 3, 4, 5);
|
||||
if (f_pcap_compile(pcap, &fp, filter_exp, 0, 0xffffffff) != -1) {
|
||||
if (f_pcap_setfilter(pcap, &fp) == -1) {
|
||||
pclog(" Error installing filter (%s) !\n", filter_exp);
|
||||
f_pcap_close(pcap);
|
||||
return 0;
|
||||
}
|
||||
} else {
|
||||
pclog(" Could not compile filter (%s) !\n", filter_exp);
|
||||
f_pcap_close(pcap);
|
||||
return 0;
|
||||
}
|
||||
|
||||
f_pcap_close(pcap);
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
/* Send a packet to the Pcap interface. */
|
||||
void
|
||||
network_pcap_in(uint8_t *bufp, int len)
|
||||
|
||||
@@ -164,6 +164,22 @@ network_slirp_close(void)
|
||||
}
|
||||
|
||||
|
||||
/* Test SLiRP - 1 = success, 0 = failure. */
|
||||
int
|
||||
network_slirp_test(void)
|
||||
{
|
||||
if (slirp_init() != 0) {
|
||||
pclog("SLiRP could not be initialized!\n");
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
slirp_exit(0);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Send a packet to the SLiRP interface. */
|
||||
void
|
||||
network_slirp_in(uint8_t *pkt, int pkt_len)
|
||||
|
||||
@@ -138,7 +138,24 @@ network_close(void)
|
||||
network_slirp_close();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Test the network. */
|
||||
int
|
||||
network_test(void)
|
||||
{
|
||||
switch(network_type) {
|
||||
case NET_TYPE_PCAP:
|
||||
return network_pcap_test();
|
||||
break;
|
||||
|
||||
case NET_TYPE_SLIRP:
|
||||
return network_slirp_test();
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ extern char network_pcap[512];
|
||||
extern void network_init(void);
|
||||
extern int network_attach(void *, uint8_t *, NETRXCB);
|
||||
extern void network_close(void);
|
||||
extern int network_test(void);
|
||||
extern void network_reset(void);
|
||||
extern void network_tx(uint8_t *, int);
|
||||
|
||||
@@ -66,10 +67,12 @@ extern int network_pcap_init(netdev_t *);
|
||||
extern void network_pcap_reset(void);
|
||||
extern int network_pcap_setup(uint8_t *, NETRXCB, void *);
|
||||
extern void network_pcap_close(void);
|
||||
extern int network_pcap_test(void);
|
||||
extern void network_pcap_in(uint8_t *, int);
|
||||
|
||||
extern int network_slirp_setup(uint8_t *, NETRXCB, void *);
|
||||
extern void network_slirp_close(void);
|
||||
extern int network_slirp_test(void);
|
||||
extern void network_slirp_in(uint8_t *, int);
|
||||
|
||||
extern int network_dev_to_id(char *);
|
||||
|
||||
@@ -505,74 +505,34 @@ END
|
||||
/* Icon by Devcore - https://commons.wikimedia.org/wiki/File:Icon_PC2_256x256.png */
|
||||
100 ICON DISCARDABLE "WIN/ICONS/86Box.ico"
|
||||
#endif
|
||||
128 ICON DISCARDABLE "WIN/ICONS/floppy_525_1dd.ico"
|
||||
129 ICON DISCARDABLE "WIN/ICONS/floppy_525_1dd_active.ico"
|
||||
130 ICON DISCARDABLE "WIN/ICONS/floppy_525_2dd.ico"
|
||||
131 ICON DISCARDABLE "WIN/ICONS/floppy_525_2dd_active.ico"
|
||||
132 ICON DISCARDABLE "WIN/ICONS/floppy_525_2qd.ico"
|
||||
133 ICON DISCARDABLE "WIN/ICONS/floppy_525_2qd_active.ico"
|
||||
134 ICON DISCARDABLE "WIN/ICONS/floppy_525_2hd.ico"
|
||||
135 ICON DISCARDABLE "WIN/ICONS/floppy_525_2hd_active.ico"
|
||||
144 ICON DISCARDABLE "WIN/ICONS/floppy_35_1dd.ico"
|
||||
145 ICON DISCARDABLE "WIN/ICONS/floppy_35_1dd_active.ico"
|
||||
146 ICON DISCARDABLE "WIN/ICONS/floppy_35_2dd.ico"
|
||||
147 ICON DISCARDABLE "WIN/ICONS/floppy_35_2dd_active.ico"
|
||||
150 ICON DISCARDABLE "WIN/ICONS/floppy_35_2hd.ico"
|
||||
151 ICON DISCARDABLE "WIN/ICONS/floppy_35_2hd_active.ico"
|
||||
152 ICON DISCARDABLE "WIN/ICONS/floppy_35_2ed.ico"
|
||||
153 ICON DISCARDABLE "WIN/ICONS/floppy_35_2ed_active.ico"
|
||||
160 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi.ico"
|
||||
161 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_active.ico"
|
||||
162 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_dma.ico"
|
||||
163 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_dma_active.ico"
|
||||
164 ICON DISCARDABLE "WIN/ICONS/cdrom_scsi.ico"
|
||||
165 ICON DISCARDABLE "WIN/ICONS/cdrom_scsi_active.ico"
|
||||
176 ICON DISCARDABLE "WIN/ICONS/hard_disk_removable_scsi.ico"
|
||||
177 ICON DISCARDABLE "WIN/ICONS/hard_disk_removable_scsi_active.ico"
|
||||
192 ICON DISCARDABLE "WIN/ICONS/hard_disk_mfm.ico"
|
||||
193 ICON DISCARDABLE "WIN/ICONS/hard_disk_mfm_active.ico"
|
||||
194 ICON DISCARDABLE "WIN/ICONS/hard_disk_xtide.ico"
|
||||
195 ICON DISCARDABLE "WIN/ICONS/hard_disk_xtide_active.ico"
|
||||
196 ICON DISCARDABLE "WIN/ICONS/hard_disk_rll.ico"
|
||||
197 ICON DISCARDABLE "WIN/ICONS/hard_disk_rll_active.ico"
|
||||
198 ICON DISCARDABLE "WIN/ICONS/hard_disk.ico"
|
||||
199 ICON DISCARDABLE "WIN/ICONS/hard_disk_active.ico"
|
||||
200 ICON DISCARDABLE "WIN/ICONS/hard_disk_ide.ico"
|
||||
201 ICON DISCARDABLE "WIN/ICONS/hard_disk_ide_active.ico"
|
||||
202 ICON DISCARDABLE "WIN/ICONS/hard_disk_scsi.ico"
|
||||
203 ICON DISCARDABLE "WIN/ICONS/hard_disk_scsi_active.ico"
|
||||
128 ICON DISCARDABLE "WIN/ICONS/floppy_525.ico"
|
||||
129 ICON DISCARDABLE "WIN/ICONS/floppy_525_active.ico"
|
||||
144 ICON DISCARDABLE "WIN/ICONS/floppy_35.ico"
|
||||
145 ICON DISCARDABLE "WIN/ICONS/floppy_35_active.ico"
|
||||
160 ICON DISCARDABLE "WIN/ICONS/cdrom.ico"
|
||||
161 ICON DISCARDABLE "WIN/ICONS/cdrom_active.ico"
|
||||
176 ICON DISCARDABLE "WIN/ICONS/removable_disk.ico"
|
||||
177 ICON DISCARDABLE "WIN/ICONS/removable_disk_active.ico"
|
||||
192 ICON DISCARDABLE "WIN/ICONS/hard_disk.ico"
|
||||
193 ICON DISCARDABLE "WIN/ICONS/hard_disk_active.ico"
|
||||
208 ICON DISCARDABLE "WIN/ICONS/network.ico"
|
||||
209 ICON DISCARDABLE "WIN/ICONS/network_active.ico"
|
||||
256 ICON DISCARDABLE "WIN/ICONS/machine.ico"
|
||||
257 ICON DISCARDABLE "WIN/ICONS/video.ico"
|
||||
257 ICON DISCARDABLE "WIN/ICONS/display.ico"
|
||||
258 ICON DISCARDABLE "WIN/ICONS/input_devices.ico"
|
||||
259 ICON DISCARDABLE "WIN/ICONS/sound.ico"
|
||||
260 ICON DISCARDABLE "WIN/ICONS/network.ico"
|
||||
261 ICON DISCARDABLE "WIN/ICONS/other_peripherals.ico"
|
||||
262 ICON DISCARDABLE "WIN/ICONS/hard_disk.ico"
|
||||
263 ICON DISCARDABLE "WIN/ICONS/removable_devices.ico"
|
||||
384 ICON DISCARDABLE "WIN/ICONS/floppy_525_1dd_empty.ico"
|
||||
385 ICON DISCARDABLE "WIN/ICONS/floppy_525_1dd_empty_active.ico"
|
||||
386 ICON DISCARDABLE "WIN/ICONS/floppy_525_2dd_empty.ico"
|
||||
387 ICON DISCARDABLE "WIN/ICONS/floppy_525_2dd_empty_active.ico"
|
||||
388 ICON DISCARDABLE "WIN/ICONS/floppy_525_2qd_empty.ico"
|
||||
389 ICON DISCARDABLE "WIN/ICONS/floppy_525_2qd_empty_active.ico"
|
||||
390 ICON DISCARDABLE "WIN/ICONS/floppy_525_2hd_empty.ico"
|
||||
391 ICON DISCARDABLE "WIN/ICONS/floppy_525_2hd_empty_active.ico"
|
||||
400 ICON DISCARDABLE "WIN/ICONS/floppy_35_1dd_empty.ico"
|
||||
401 ICON DISCARDABLE "WIN/ICONS/floppy_35_1dd_empty_active.ico"
|
||||
402 ICON DISCARDABLE "WIN/ICONS/floppy_35_2dd_empty.ico"
|
||||
403 ICON DISCARDABLE "WIN/ICONS/floppy_35_2dd_empty_active.ico"
|
||||
406 ICON DISCARDABLE "WIN/ICONS/floppy_35_2hd_empty.ico"
|
||||
407 ICON DISCARDABLE "WIN/ICONS/floppy_35_2hd_empty_active.ico"
|
||||
408 ICON DISCARDABLE "WIN/ICONS/floppy_35_2ed_empty.ico"
|
||||
409 ICON DISCARDABLE "WIN/ICONS/floppy_35_2ed_empty_active.ico"
|
||||
416 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_empty.ico"
|
||||
417 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_empty_active.ico"
|
||||
418 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_dma_empty.ico"
|
||||
419 ICON DISCARDABLE "WIN/ICONS/cdrom_atapi_dma_empty_active.ico"
|
||||
420 ICON DISCARDABLE "WIN/ICONS/cdrom_scsi_empty.ico"
|
||||
421 ICON DISCARDABLE "WIN/ICONS/cdrom_scsi_empty_active.ico"
|
||||
432 ICON DISCARDABLE "WIN/ICONS/hard_disk_removable_scsi_empty.ico"
|
||||
433 ICON DISCARDABLE "WIN/ICONS/hard_disk_removable_scsi_empty_active.ico"
|
||||
384 ICON DISCARDABLE "WIN/ICONS/floppy_525_empty.ico"
|
||||
385 ICON DISCARDABLE "WIN/ICONS/floppy_525_empty_active.ico"
|
||||
400 ICON DISCARDABLE "WIN/ICONS/floppy_35_empty.ico"
|
||||
401 ICON DISCARDABLE "WIN/ICONS/floppy_35_empty_active.ico"
|
||||
416 ICON DISCARDABLE "WIN/ICONS/cdrom_empty.ico"
|
||||
417 ICON DISCARDABLE "WIN/ICONS/cdrom_empty_active.ico"
|
||||
432 ICON DISCARDABLE "WIN/ICONS/removable_disk_empty.ico"
|
||||
433 ICON DISCARDABLE "WIN/ICONS/removable_disk_empty_active.ico"
|
||||
512 ICON DISCARDABLE "WIN/ICONS/floppy_disabled.ico"
|
||||
514 ICON DISCARDABLE "WIN/ICONS/cdrom_disabled.ico"
|
||||
|
||||
@@ -719,7 +679,7 @@ STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_2064 "Configured video BIOS not available.\nDefaulting to an available video BIOS."
|
||||
IDS_2065 "Machine"
|
||||
IDS_2066 "Video"
|
||||
IDS_2066 "Display"
|
||||
IDS_2067 "Input devices"
|
||||
IDS_2068 "Sound"
|
||||
IDS_2069 "Network"
|
||||
|
||||
BIN
src/WIN/ICONS/cdrom.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/cdrom_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/cdrom_empty.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/cdrom_empty_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/display.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_35.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_35_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_35_empty.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_35_empty_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_525.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_525_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_525_empty.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/floppy_525_empty_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/network_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/removable_disk.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/removable_disk_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/removable_disk_empty.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
src/WIN/ICONS/removable_disk_empty_active.ico
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
105
src/WIN/win.c
@@ -28,6 +28,7 @@
|
||||
#include "../ibm.h"
|
||||
#include "../cpu/cpu.h"
|
||||
#include "../mem.h"
|
||||
#include "../network/network.h"
|
||||
#include "../rom.h"
|
||||
#include "../nvr.h"
|
||||
#include "../config.h"
|
||||
@@ -663,26 +664,20 @@ int fdd_type_to_icon(int type)
|
||||
case 0:
|
||||
return 512;
|
||||
case 1:
|
||||
return 128;
|
||||
case 2:
|
||||
return 130;
|
||||
case 3:
|
||||
return 132;
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
return 134;
|
||||
return 128;
|
||||
case 7:
|
||||
return 144;
|
||||
case 8:
|
||||
return 146;
|
||||
case 9:
|
||||
case 10:
|
||||
case 11:
|
||||
case 12:
|
||||
return 150;
|
||||
case 13:
|
||||
return 152;
|
||||
return 144;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -894,6 +889,20 @@ void create_hd_tip(int part)
|
||||
wcscpy(sbTips[part], tempTip);
|
||||
}
|
||||
|
||||
void create_network_tip(int part)
|
||||
{
|
||||
WCHAR tempTip[512];
|
||||
|
||||
_swprintf(tempTip, win_language_get_string_from_id(IDS_2069));
|
||||
|
||||
if (sbTips[part] != NULL)
|
||||
{
|
||||
free(sbTips[part]);
|
||||
}
|
||||
sbTips[part] = (WCHAR *) malloc((wcslen(tempTip) << 1) + 2);
|
||||
wcscpy(sbTips[part], tempTip);
|
||||
}
|
||||
|
||||
void update_tip(int meaning)
|
||||
{
|
||||
int i = 0;
|
||||
@@ -1022,9 +1031,28 @@ void destroy_tips(void)
|
||||
sbTips = NULL;
|
||||
}
|
||||
|
||||
int display_network_icon(void)
|
||||
{
|
||||
if (network_card == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (network_type == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
return network_test();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void update_status_bar_panes(HWND hwnds)
|
||||
{
|
||||
int i, j, id;
|
||||
int i, id;
|
||||
int edge = 0;
|
||||
|
||||
int c_mfm = 0;
|
||||
@@ -1034,6 +1062,8 @@ void update_status_bar_panes(HWND hwnds)
|
||||
int c_ide_dma = 0;
|
||||
int c_scsi = 0;
|
||||
|
||||
int do_net = 0;
|
||||
|
||||
sb_ready = 0;
|
||||
|
||||
c_mfm = count_hard_disks(HDD_BUS_MFM);
|
||||
@@ -1043,6 +1073,8 @@ void update_status_bar_panes(HWND hwnds)
|
||||
c_ide_dma = count_hard_disks(HDD_BUS_IDE_PIO_AND_DMA);
|
||||
c_scsi = count_hard_disks(HDD_BUS_SCSI);
|
||||
|
||||
do_net = display_network_icon();
|
||||
|
||||
if (sb_parts > 0)
|
||||
{
|
||||
for (i = 0; i < sb_parts; i++)
|
||||
@@ -1136,6 +1168,10 @@ void update_status_bar_panes(HWND hwnds)
|
||||
{
|
||||
sb_parts++;
|
||||
}
|
||||
if (do_net)
|
||||
{
|
||||
sb_parts++;
|
||||
}
|
||||
sb_parts++;
|
||||
|
||||
iStatusWidths = (int *) malloc(sb_parts * sizeof(int));
|
||||
@@ -1239,6 +1275,13 @@ void update_status_bar_panes(HWND hwnds)
|
||||
sb_part_meanings[sb_parts] = SB_HDD | HDD_BUS_SCSI;
|
||||
sb_parts++;
|
||||
}
|
||||
if (do_net)
|
||||
{
|
||||
edge += SB_ICON_WIDTH;
|
||||
iStatusWidths[sb_parts] = edge;
|
||||
sb_part_meanings[sb_parts] = SB_NETWORK;
|
||||
sb_parts++;
|
||||
}
|
||||
if (sb_parts)
|
||||
{
|
||||
iStatusWidths[sb_parts - 1] += (24 - SB_ICON_WIDTH);
|
||||
@@ -1277,19 +1320,7 @@ void update_status_bar_panes(HWND hwnds)
|
||||
{
|
||||
sb_icon_flags[i] = 256;
|
||||
}
|
||||
if (cdrom_drives[id].bus_type == CDROM_BUS_SCSI)
|
||||
{
|
||||
j = 164;
|
||||
}
|
||||
else if (cdrom_drives[id].bus_type == CDROM_BUS_ATAPI_PIO_AND_DMA)
|
||||
{
|
||||
j = 162;
|
||||
}
|
||||
else
|
||||
{
|
||||
j = 160;
|
||||
}
|
||||
sb_part_icons[i] = j | sb_icon_flags[i];
|
||||
sb_part_icons[i] = 160 | sb_icon_flags[i];
|
||||
sb_menu_handles[i] = create_popup_menu(i);
|
||||
create_cdrom_submenu(sb_menu_handles[i], sb_part_meanings[i] & 0xf);
|
||||
EnableMenuItem(sb_menu_handles[i], IDM_CDROM_RELOAD | (sb_part_meanings[i] & 0xf), MF_BYCOMMAND | MF_GRAYED);
|
||||
@@ -1308,9 +1339,14 @@ void update_status_bar_panes(HWND hwnds)
|
||||
break;
|
||||
case SB_HDD:
|
||||
/* Hard disk */
|
||||
sb_part_icons[i] = 192 + (((sb_part_meanings[i] & 0xf) - 1) << 1);
|
||||
sb_part_icons[i] = 192;
|
||||
create_hd_tip(i);
|
||||
break;
|
||||
case SB_NETWORK:
|
||||
/* Hard disk */
|
||||
sb_part_icons[i] = 208;
|
||||
create_network_tip(i);
|
||||
break;
|
||||
case SB_TEXT:
|
||||
/* Status text */
|
||||
SendMessage(hwnds, SB_SETTEXT, i | SBT_NOBORDERS, (LPARAM) L"");
|
||||
@@ -1340,22 +1376,17 @@ HWND EmulatorStatusBar(HWND hwndParent, int idStatus, HINSTANCE hinst)
|
||||
RECT rectDialog;
|
||||
int dw, dh;
|
||||
|
||||
for (i = 128; i < 136; i++)
|
||||
for (i = 128; i < 130; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 144; i < 148; i++)
|
||||
for (i = 144; i < 146; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 150; i < 154; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 160; i < 166; i++)
|
||||
for (i = 160; i < 162; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
@@ -1365,27 +1396,27 @@ HWND EmulatorStatusBar(HWND hwndParent, int idStatus, HINSTANCE hinst)
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 192; i < 204; i++)
|
||||
for (i = 192; i < 194; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 384; i < 392; i++)
|
||||
for (i = 208; i < 210; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 400; i < 404; i++)
|
||||
for (i = 384; i < 386; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 406; i < 410; i++)
|
||||
for (i = 400; i < 402; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
|
||||
for (i = 416; i < 422; i++)
|
||||
for (i = 416; i < 418; i++)
|
||||
{
|
||||
hIcon[i] = LoadIconEx((PCTSTR) i);
|
||||
}
|
||||
@@ -1533,6 +1564,8 @@ int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpsz
|
||||
|
||||
init_cdrom_host_drives();
|
||||
|
||||
network_init();
|
||||
|
||||
hwndStatus = EmulatorStatusBar(hwnd, IDC_STATUS, hThisInstance);
|
||||
|
||||
OriginalStatusBarProcedure = GetWindowLongPtr(hwndStatus, GWLP_WNDPROC);
|
||||
|
||||
@@ -3483,14 +3483,6 @@ static BOOL win_settings_cdrom_drives_image_list_init(HWND hwndList)
|
||||
ImageList_AddIcon(hSmall, hiconItem);
|
||||
DestroyIcon(hiconItem);
|
||||
|
||||
hiconItem = LoadIcon(hinstance, (LPCWSTR) 162);
|
||||
ImageList_AddIcon(hSmall, hiconItem);
|
||||
DestroyIcon(hiconItem);
|
||||
|
||||
hiconItem = LoadIcon(hinstance, (LPCWSTR) 164);
|
||||
ImageList_AddIcon(hSmall, hiconItem);
|
||||
DestroyIcon(hiconItem);
|
||||
|
||||
ListView_SetImageList(hwndList, hSmall, LVSIL_SMALL);
|
||||
|
||||
return TRUE;
|
||||
@@ -3578,12 +3570,12 @@ static BOOL win_settings_cdrom_drives_recalc_list(HWND hwndList)
|
||||
case CDROM_BUS_ATAPI_PIO_AND_DMA:
|
||||
wsprintf(szText, win_language_get_string_from_id(fsid), temp_cdrom_drives[i].ide_channel >> 1, temp_cdrom_drives[i].ide_channel & 1);
|
||||
lvI.pszText = szText;
|
||||
lvI.iImage = 2;
|
||||
lvI.iImage = 1;
|
||||
break;
|
||||
case CDROM_BUS_SCSI:
|
||||
wsprintf(szText, win_language_get_string_from_id(fsid), temp_cdrom_drives[i].scsi_device_id, temp_cdrom_drives[i].scsi_device_lun);
|
||||
lvI.pszText = szText;
|
||||
lvI.iImage = 3;
|
||||
lvI.iImage = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -3774,12 +3766,12 @@ static void win_settings_cdrom_drives_update_item(HWND hwndList, int i)
|
||||
case CDROM_BUS_ATAPI_PIO_AND_DMA:
|
||||
wsprintf(szText, win_language_get_string_from_id(fsid), temp_cdrom_drives[i].ide_channel >> 1, temp_cdrom_drives[i].ide_channel & 1);
|
||||
lvI.pszText = szText;
|
||||
lvI.iImage = 2;
|
||||
lvI.iImage = 1;
|
||||
break;
|
||||
case CDROM_BUS_SCSI:
|
||||
wsprintf(szText, win_language_get_string_from_id(fsid), temp_cdrom_drives[i].scsi_device_id, temp_cdrom_drives[i].scsi_device_lun);
|
||||
lvI.pszText = szText;
|
||||
lvI.iImage = 3;
|
||||
lvI.iImage = 1;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -809,6 +809,7 @@ extern void status_settext(char *str);
|
||||
#define SB_CDROM 0x10
|
||||
#define SB_RDISK 0x20
|
||||
#define SB_HDD 0x40
|
||||
#define SB_TEXT 0x50
|
||||
#define SB_NETWORK 0x50
|
||||
#define SB_TEXT 0x60
|
||||
|
||||
#define UNUSED(x) (void)x
|
||||
|
||||