script will still work.
- specify the config file in run.bat since now it ends with .bxrc
- rename the link on the desktop to "Linux Demo in Bochs 2.0.pre2"
- rename "Bochs Shell Extensions" to "Register .bxrc Extension" and
make it required. I want to document how it works, so I don't want
it to sometimes work like the docs and sometimes not. Use .bxrc
instead of .bxr.
- create registry keys for Run, Configure, Edit, and Debugger.
packages. Michael Rich made this installer setup based on initial work
by Robert (segra) and an example by Joost Verburg.
Added Files:
Makefile ModernUI.nsh WinMessages.NSH bochs.ico bochs.nsi
modern.bmp modern2.exe penguin.ico
> Attached is script_compiled.rsrc. This is the end result of running
> osacompile on bochs.applescript and merging it with the resources in
> script.r. (At which point I did cp bochs.scpt/rsrc script_compiled.rsrc
> to get the resource fork as a single file)
>
> To actually turn script.data and script_compiled.rsrc into one single
> application, you still need to run the following
>
> cp script.data bochs.scpt
> cp script_compiled.rsrc bochs.scpt/rsrc
> SetFile -t "APPL" -c "aplt" bochs.scpt
Now I hope I have it right. After the sed script it should look like
%attr(-,root,root) %dir /usr/lib/bochs
I was having trouble getting the initial / on "/usr/lib/bochs"
files specified as before. This solves the problem of
"error: cannot remove /usr/share/doc - directory not empty"
which I was getting when I tried to remove the RPM.
I am somewhat unhappy about the fact that this patch relies (at the
top) on finding rpmbuild in /usr/bin/. A better patch would search the
user's path properly, or perhaps be generated via configure to know
the correct rpmbuild path.
- Now compiles for plain ia-32
- Fixed some printf formatting for ia32 only.
- Update to latest Win32 DLL
- Added an ICEBP (Undoc 0xF8, INT 01) facility.
- updated to use latest VGA refresh routine
Patch name: patch.macosx-console-launch-script
Author: Jeremy Parsons <brefin@mac.com>
Date: Wed Oct 16 2002
Detailed description:
Since the Carbon gui does not yet have a console window of its own, then it
can't be configured from the gui (only the command line) and stdout/stderr both
go to the console. As a shortcut, I offer this patch consisting of this file and
build/macosx/script.data
build/macosx/script.r
build/macosx/bochs.applescript
script.data and script.r are taken from a script compiled into an application.
Flattened out to be checked in. (osacompile can produce runnable scripts, but
wants to create them for the classic environment, so I use these files as part
of a workaround)
When bochs.app is built, it also builds bochs.scpt. To use bochs.scpt you put
both bochs.app and bochs.scpt into the directory with your bochsrc.txt.
bochs.scpt is an applescript that when run notes the current directory, then
tells the terminal application to open a window, cd to the current directory,
and run bochs from the commandline.
----------------------------------------------------------------------
Modified Files:
Makefile.in
Added Files:
build/macosx/bochs.applescript build/macosx/script.data
build/macosx/script.r
[ 618071 ] Cleaned up MacOSX Application Icon
His comments:
> The original icon was actually in a .bin (MacBinary)
> format but lacked that extension. So wouldn't work in
> practice.
>
> I've cleaned up the icon by adding transparent areas.
> (So it doesn't show up as a white square with the image
> in it) as well.
you can switch on and off using the $TEST_* varables at top.
- when running with --parallel, use "-geom +x+y" argument to xterm
to make the windows appear in a regular pattern.
- try to find the configure script and set the path correctly, in case
the script is run from the main directory, build, etc.
- name the build directories build-$name so they don't overwrite anything.
Now that I have "rm -rf" in my script I wanted to be a little more careful.
an improvement because you have to do a configure before using any makefile.
It used to be "configure; make rpm" and now it's just
"./build/redhat/make-rpm".
of it into pieces, so that you can unzip&configure with one prefix setting
and install with another. This should fix the dlxlinux/bochsrc.txt
pathname problem.
the dlx linux install into 1) unpack and configure, and 2) copy into place.
Because they are separate, we can unpack and configure with prefix=/usr
and then copy into place with prefix=$BUILDROOT/dlxlinux.
under /usr/bochs was just a hack so that I didn't have to list the individual
man pages in the file list. But nobody would find the man pages in
/usr/bochs/man unless they changed their manpath.
everything about the installation path. There should be no more
hardcoded references to /usr/local/bochs. Instead, there are
references to @prefix@ which get replaced by the configure script
with the real prefix.
what directory they were installed in. For example bochs-dlx and
bochs-docs, etc. have the $prefix substituted into them, so if the
prefix is /var/tmp/rpm-buildroot/usr/bochs then they will not work
right.
user's home directory the first time they run bochs-dlx and runs it
from there. This avoids the need for a world-writable directory installed
by the RPM.
for debug configuration or obj-release for release configuration.
- instead of gui,iodev,cpu,etc. having their own obj-debug directory, it
all goes into a single output directory for the whole project. I did
this when I was having trouble getting any debug information from the
static library directories to be recognized in the VC++ debugger. Maybe
it's not necessary.
- changed the compile arguments for the debug config so that debug symbols
are created. We used to have:
debug config: /G6 /MT /W4 /GX /O2
Now it says this:
debug config: /MTd /W3 /GX /Z7 /Od
I guess I haven't tested the release config yet, but the debug config is
working great now. I even have symbolic debugging of functions in the
gui/iodev/cpu libraries.
I don't have to list them, and also apparantly fixes a mysterious problem
which occurred when Anders Nielsen was trying to build the RPM for
PPC: his rpm appears to gzip the man pages automatically, and then
complains that /usr/man/man1/bochs.1 is not found!
- start using autoconf/configure's standard of prefix, exec_prefix, bindir,
mandir to control where make install puts things
- added script install-x11-fonts
- make install no longer tries to install DLXlinux (since not everyone will
want it). Now you must do make install_dlx if you want it.
- renamed erase_install to uninstall
- in RPM spec file:
- run .conf.linux instead of .conf.linux-x86. This is just a name change.
- build directory hierarchy in the buildroot
- patch up broken symbolic links in buildroot (ugly)
- run font install script in %post
- clean up dlxlinux directory in %preun to avoid warning about not
removing /usr/local/bochs/dlxlinux/bochsout.txt
- remove /usr/local/bochs if nothing left in it
in BRANCH-smp-bochs revisions.
- The general task was to make multiple CPU's which communicate
through their APICs. So instead of BX_CPU and BX_MEM, we now have
BX_CPU(x) and BX_MEM(y). For an SMP simulation you have several
processors in a shared memory space, so there might be processors
BX_CPU(0..3) but only one memory space BX_MEM(0). For cosimulation,
you could have BX_CPU(0) with BX_MEM(0), then BX_CPU(1) with
BX_MEM(1). WARNING: Cosimulation is almost certainly broken by the
SMP changes.
- to simulate multiple CPUs, you have to give each CPU time to execute
in turn. This is currently implemented using debugger guards. The
cpu loop steps one CPU for a few instructions, then steps the
next CPU for a few instructions, etc.
- there is some limited support in the debugger for two CPUs, for
example printing information from each CPU when single stepping.