summaryrefslogtreecommitdiff
path: root/emulators/pcemu/pkg-descr
diff options
context:
space:
mode:
Diffstat (limited to 'emulators/pcemu/pkg-descr')
-rw-r--r--emulators/pcemu/pkg-descr238
1 files changed, 0 insertions, 238 deletions
diff --git a/emulators/pcemu/pkg-descr b/emulators/pcemu/pkg-descr
deleted file mode 100644
index 812ce717b029..000000000000
--- a/emulators/pcemu/pkg-descr
+++ /dev/null
@@ -1,238 +0,0 @@
-[This is David Hedley's original README, FreeBSD port comments below]
-
- PC Emulator for Unix and X Windows
-
-As the title suggests, this is a Unix/X windows program which is
-designed to emulate a standard 8086 based PC.
-
-In its current form it runs most text based programs. The programs I have
-tried and found to work are as follows:
-
-MSDOS 5.0 MSDOS 6.2
-WordPerfect 5.1 Borland C++ 2.0
-Turbo Debugger 2.51 Turbo Assembler 2.51
-BBCBasic 4.61 MSDOS QBasic
-MSDOS GWBASIC Virtually all program that came with MSDOS 5
-Hitchhiker's Guide to the Galaxy PC Magazine's ANSI.COM
-SemWare's QEdit 2.1 Norton Utils 4.50 Advanced Edition
-Norton Utils 6.0 Xtree Professional 1.1
-PowerMeter Utils Autoroute (ancient version)
-Minitab 8.0 Microsoft Diagnostics
-
-This is all the programs I could lay my hands on which were text based
-and could run on an 8086
-
-The emulator runs at about 8-10MHz 80286 speed on a Sun SparcStation
-10/40 (without the -mviking flag) and at about 6MHz 8088 speed on a
-33MHz 80486 box running Linux.
-
-I have included a Postscript representation of my project report. It's
-a bit out of date now, but it's the closest thing I've got to
-documentation! I'll do some kind of latex thing for the next
-release....
-
-The program rather hogs the cpu but unmapping the window (iconifying
-it) will put it to sleep.
-
-The most recent version of this program will always be in ftp.cs.bris.ac.uk
-currently in the directory /users/hedley
-
-INSTALLING THE EMULATOR
-
-Edit the Makefile to change the OPTIONS, CFLAGS and XROOT to be
-appropriate for your system (I am assuming you are using GNU GCC,
-although any ANSI C compiler should work just as well). Ensure you are
-using the best (speed) optimisations possible (e.g. -O2 -fomit-frame-poiner)
-
-Edit the file mytypes.h and ensure that the types for INT8, UINT8,
-INT16, UINT16 etc are correct. Hopefully nothing need be changed in
-this file, but you never can tell... I have assumed that 'char's are 8
-bit bytes, 'short's are 16 bit words and 'long's are 32 bit words. If
-your compiler treats these differently to the above then you will have
-to edit this header file.
-
-Type 'make' and go away and have a cup of tea! Compiling 'cpu.c' takes
-a while (and quite a bit of memory!).
-
-Get a floppy disk of the same size/type as you specified in the Makefile
-(i.e. if you chose -DBOOT720, then you'll need a 3.5" 720k disk). Install
-MSDOS on it. Copy the files 'config.sys', 'emufs.sys' and 'lredir.exe' from
-the 'programs' directory onto this floppy disk. Shove it in your Unix box
-and type cp /dev/fd0 DriveA This should create a 720k (or whatever) file
-which the emulator can boot from. If you do not have access to a Unix box
-with a floppy disk on it, then you can use the supplied 'dumpdisk' program
-to create a disk image. All you need is access to a PC. Simply put in a
-bootable MSDOS disk into the drive and type dumpdisk A (or dumpdisk B if in
-drive B). The program will copy the entire disk to a file called
-'drivea'. You must then transfer it to your Unix box...
-
-You then need to convert the vga font (vga.bdf) into a font format
-your X server can understand (either SNF or PCF) using either
-'bdftosnf' or 'bdftopcf' and install the resulting font file somewhere
-where your X server can find it. Then type 'mkfontdir' to rebuild the
-fonts.dir file and then type 'xset fp rehash' to tell your X server
-about the new font. If you type 'xlsfonts' you should see 'vga' as one
-of the fonts listed. If not, then something has gone wrong. I may or
-may not be able to help - it depends on your local setup. The emulator
-will run without the font as it uses the standard 8x16 X11 font -
-although most programs which use the extended character set will look
-pretty terrible. A warning will be displayed if the correct VGA font
-cannot be found. If you are using openwindows, you will have to type
-'convertfont' and then 'bldfamily'
-
-You should now be in a position to run the emulator
-
-By default, the emulator requires the disk image called 'DriveA' to be in
-the current directory or else it will complain. If you don't like this,
-then you can change the file the emulator boots from by altering your
-.pcemurc file (see below) or by changing the default at compile time (by
-modifying the Makefile)
-
-Once run, the emulator should come up with the usual MSDOS banner and
-request the current date and time (which should already be
-correct). You can now run PC programs, mount Unix directories as
-drives etc. You will already have one drive redirection - drive C: is
-the Unix root directory. To mount further directories as drives, you
-must use the program 'lredir'. Consult the file 'lredir.readme' for
-instructions...
-
- The .pcemurc file
-
-At present this file allows a few things to be changed at run time. If this
-file is found (either in the current directory or in your home directory),
-then it is read and parsed and the values overwriting the equivalent
-compile time options. Currently the only options supported at present are:
-
-bootfile diskfile
-
-where diskfile is the disk image you want to boot from (no quotes or
-anything are needed and the filename must not contain white spaces).
-
-boottype type
-
-where type is either 360, 720, 144 or 12. This tells the emulator the type
-of disk the disk image file represents (360k, 720k, 1.44MB, 1.2MB
-respectively).
-
-updatespeed n
-
-where n is an integer > 0
-This is the rate at which the screen memory gets checked for changes (and
-hence the update speed at which the screen gets updated for non-BIOS
-writes). n is measured in internal interrupt ticks of which there are ~72.8
-per second (depends on the resolution of the system timer).
-
-cursorspeed n
-
-where n is an integer
-This specifies how fast the cursor should flash. Flashing the cursor can
-take a fair amount of bandwidth and so on slow/heavily loaded networks it
-may be best to slow down the cursor flashing. Setting n to 0 or less will
-disable cursor flashing - the cursor will be permanently on.
-
-An example .pcemurc file can be found in this directory.
-
-If you have problems compiling or running the emulator, then please contact
-me giving details of what went wrong (along with your computer type
-etc).
-
-Architectures tested:
-
-Computer OS Comments
------------------------------------------------------------------------------
-PC 486/33 Linux 0.99.14w Runs quite well. A bit pointless though :)
-Sun 3/60 SunOS 4.1.x Takes an age to compile and not really worth
- the effort...
-SparcStation 10 SunOS 4.1.3 Runs well. Takes > 20MB RAM to compile though
-HP 755/99 HPUX Runs OK (>25MB RAM to compile...)
-Sun 4 Solaris 2.3 Runs OK
-RS6000 ??? Had a few problems getting it to compile.
- Getting there slowly though.
-SGI Indigo IRIX 4.?.? Doesn't work if compiled with optimisation
- using the standard compiler. Haven't tried
- it using gcc yet...
-
-As you can see this list is quite small. The main limiting factor is the range
-of machines I have access to. If anyone else can get it running on other
-architectures then please contact me!
-
-Warning: This program is not secure! Do not make is suid or sgid anything
-unless you wish to compromise the security of your system!
-
-EMULATOR LIMITATIONS etc
-
-Some parts of the PC architecture are emulated better than others. The
-BIOS has been partly implemented - enough to get MSDOS to boot and to
-allow most programs to run. Anyhow, most decent programs bypass the
-BIOS for screen access. BIOS Disk calls for drive A have been mostly
-emulated, although formatting doesn't work.
-
-Some of the hardware has been emulated but not much. Timer interrupts
-are generated by the system but there is now way (at present) to
-reprogram the timer. The Programmable Interrupt Controller has been
-emulated in part to respond to the End Of Interrupt command and reads
-from and writes to the mask register should work OK.
-
-None of the VGA hardware has been emulated at present (apart from
-screen updating) although this will change in the near future. Mode
-changes must therefore be done through the BIOS.
-
-The keyboard has been mostly emulated. The program converts X11
-keysyms to raw PC scan codes and then generates an interrupt 9 as per
-usual. There is a BIOS routine which takes these scan codes and
-generates the correct BIOS ASCII/scan code pair. The keysyms used can
-be found in the module 'xstuff.c'. In the future these keysyms will be
-read in from a file at run time.
-
-THANKS
-
-Thanks go to the following:
-
-Andy Norman at HPLabs, Bristol (ange@hpl.hewlett-packard.co.uk) for the HP
-port.
-Dieter Becker (becker@med-in.uni-sb.de) for help with the Solaris port
-Klaas Esselink (esselin1@ksla.nl) for help with the RS6000 port
-
-Please report bugs/comments etc to me (hedley@cs.bris.ac.uk) and I'll
-do my best to sort them out (no guarantees though). After June 25th I
-will be leaving University and will not be able to check email very
-frequently - please be patient if you want a response - I will reply
-eventually.
-
-Have fun...
-
-David
-
-
-
-[FreeBSD port comments]
-
-I (joerg_wunsch@uriah.heep.sax.de) have slightly extended the .pcemurc
-functionality, in order to improve the handling of international key-
-boards. David's code hard-coded the keyboard mapping from XKeyStrings
-to PC scancodes.
-
-I've been adding a .pcemurc section that defines the reverse mapping
-from XKeyStrings to PC scancodes, so it's at the very least possible
-to remap the keyboard to the original US layout even for international
-versions. The syntax for this rules is
-
- `keymap' <scancode>`='<XKeyString>
-
-This is my personal .pcemurc file, just to illustrate the usage.
-
-bootfile /home/joerg/pcemu/DriveA
-boottype 720
-keymap 12=ß
-keymap 13='
-keymap 21=z
-keymap 26=]
-keymap 27=+
-keymap 39=\
-keymap 40=[
-keymap 41=^
-keymap 43=#
-keymap 44=y
-keymap 53=-
-keymap 86=<
-