- fopen with "wb" so that win32 doesn't translate CRLF
- add initmode setting
- fix bug, fill in behavior in write handler
- now it works for him with DOS, Linux, and Windows guests
probably been treated as ifdef instead, but a sun compiler doesn't like
them. Anyway, they were being used around a check for irq_num > 15.
This bounds check seems ok to do all the time, so I just removed the
#if BX_DEBUG lines and corresponding #endifs.
interface menus. Parallel port #1 is implemented, and I left stubs for
parallel port #2 in case we want to ever add it. If the parallel port
is enabled, the init method of parallel.cc does an fopen() on the output
file. If disabled, or if the fopen fails, the file handler remains
NULL and no characters are printed. There is no attempt to enable/disable
the operation of the parallel port, only the output to a file.
[ #468340 ] pic:slave: OCW3 not implemented
The service_master_pic() method supported special mask mode but
service_slave_pic() did not. I added the code to service_slave_pic(). I
have no clear way to test that this is actually working right. If I can put
a gdb breakpoint in the pic.cc code and then step through and watch it work,
I'll be more confident.
I compiled Bochs on Linux and installed a linux
in it, but when I ping a machine on my LAN, I get
packet loss. Sometimes as much as 70% is lost.
So I read ne2k.cc, Linux 8390 driver and 8390 chip
specification. I find that 8390 command register START
bit is misused in ne2k.cc. According to the chip
specification, even if START=0, the chip does not stop
working.
device and disk file for a while. Even though its version of
read_toc is minimal, in fact I would say broken, it lets people use
an ISO disk file as a cdrom.
- in this revision, I wrote the "unix equivalent" of the win32 code, including
the broken version of read_toc. Now win32 and unix should act very similar
when they encounter an ISO disk image.
- one important improvement is in read_toc, I have added "*length=1" for both
win32 and unix, since otherwise the function returns random junk for the
length of the TOC. I also tried "*length=0" and that created the "lost
interrupt" behavior that psyon has been trying to get rid of...I changed it
back to *length=1 of course and left a note to him in that bug report.
which were generated with gcc -MM to the end of each Makefile.in
so that make understands which files depend on which. Basically,
everything depends on bochs.h, which depends on everything, which
is not ideal.
of just panicing. In particular, if the logical sector is out of bounds
or the disk image cannot be read/written at the desired offset, we now
abort the ATA command and return an error code. Many of the old BX_PANIC
messages are turned to BX_ERROR, so they will still appear in the
log, but now the device model will try to communicate this fact to
the OS instead of simply giving up.