Trim down excessively long DESCR files in ports i either own, or where
i'm somehow related to (hpscan, that is). Requested by: asmi (long ago)
This commit is contained in:
parent
aee48c8801
commit
3138dc639c
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=5057
5 changed files with 4 additions and 336 deletions
|
@ -5,23 +5,6 @@
|
|||
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.
|
||||
|
@ -34,205 +17,6 @@ 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=<
|
||||
The author is:
|
||||
|
||||
David Hedley, hedley@cs.bris.ac.uk
|
||||
|
|
|
@ -12,39 +12,9 @@ This version of xmine is based on Paul Falstad's version 1.0.3, as
|
|||
published in comp.sources.x. It has been heavily munged to work
|
||||
without OSF/Motif.
|
||||
|
||||
Almost everything needed was already in the Athena Widget Set, with
|
||||
the exception of a Canvas Widget (or DrawingAreaWidget in Motif
|
||||
terms). Hence i have included a copy of the Canvas Widget of the Free
|
||||
Widget Foundation, only slightly modified to take the #include's from
|
||||
the current directory. If anybody is unlucky with the GPL conditions
|
||||
applying to the FWF code, she is free to drop in own versions of a
|
||||
Canvas Widget (really not much of code).
|
||||
|
||||
I originally intented to #ifdef Paul's version for use with the Athena
|
||||
Widget Set, but realized that this would have resulted in too much of
|
||||
spagghetti code. That's why i hacked a separate source out of it. I
|
||||
cleaned it up a bit, so it will compile now without complaints with
|
||||
the -Wall flag set under gcc.
|
||||
|
||||
Since the game itself has some 3D look, linking against the famous
|
||||
Xaw3d library is highly recommended.
|
||||
|
||||
|
||||
ACKNOWLEDGEMENTS:
|
||||
=================
|
||||
|
||||
For X11:
|
||||
The X Consortium, MIT, DEC, ...
|
||||
|
||||
For the original OSF/Motif version of xmine:
|
||||
Paul Falstad (pf@z-code.com)
|
||||
|
||||
For the three-D lookalike Athena Widget set:
|
||||
Kaleb S. Keithley (kaleb@jpl-devvax.jpl.nasa.gov)
|
||||
|
||||
For the Canvas Widget of the Free Widget Foundation:
|
||||
Robert H. Forsman Jr.
|
||||
|
||||
---
|
||||
enjoy,
|
||||
Joerg Wunsch <joerg_wunsch@uriah.sax.de>
|
||||
Joerg Wunsch <joerg@FreeBSD.org>
|
||||
|
|
|
@ -1,17 +1,4 @@
|
|||
The xonix application consists of a playing area and a
|
||||
status display below.
|
||||
|
||||
The status display shows the current values for level,
|
||||
filled area (in percent), number of players (lifes), and
|
||||
elapsed time.
|
||||
|
||||
The playing area has several regions. The brown region
|
||||
(initially only the border) is ``filled region'', where
|
||||
the player can move, starting from the top left corner.
|
||||
Beware of the bouncing yellow eater(s) that do also move
|
||||
across filled regions however, if they hit the player, a
|
||||
life will go away. The flyers can only bounce across the
|
||||
green (so-called empty) area in the middle.
|
||||
Xonix is an old action game.
|
||||
|
||||
The purpose of the game is to move the player across the
|
||||
empty region (whereby it leaves his way in a brown color
|
||||
|
@ -29,11 +16,8 @@ Every level, there will be one flyer more. Every second
|
|||
level, an additional player will be granted. Every fifth
|
||||
level, an additional eater will be fired off.
|
||||
|
||||
|
||||
|
||||
The original xonix game has been seen somewhere on an old
|
||||
PC/XT clone. This is a reimplementation from scratch,
|
||||
done by Torsten Schönitz starting the project on a Macin-
|
||||
tosh. The X11 support has been written by Jörg Wunsch
|
||||
with the pleasant help by Alfredo Herrera Hernández.
|
||||
|
||||
|
|
|
@ -8,11 +8,6 @@ like the following:
|
|||
# HP Scanner
|
||||
device pt0 at scbus?
|
||||
|
||||
Re-configure, build, and install the new kernel. On bootup you should
|
||||
seem something similar to this which shows your scanner is attached:
|
||||
(ncr0:5:0): "HP C2520A 3503" type 3 fixed SCSI 2
|
||||
pt0(ncr0:5:0): Processor
|
||||
|
||||
Next, you'll want to make a link from /dev/pt0 to /dev/scanner for the
|
||||
driver software.
|
||||
|
||||
|
@ -22,43 +17,5 @@ driver software.
|
|||
At this point, you should be able to run the scanner program and see
|
||||
results.
|
||||
|
||||
- Nate
|
||||
|
||||
|
||||
Original README follows:
|
||||
---------------------------
|
||||
This software is copyright Richard Tobin 1994. It may be freely
|
||||
redistributed provided the copyright notices are not removed.
|
||||
|
||||
You can ftp this code from macbeth.cogsci.ed.ac.uk.
|
||||
|
||||
This is (a very early version of) a SCSI driver for the HP ScanJet range
|
||||
of scanners and a corresponding graphical user interface.
|
||||
|
||||
The HP scanners (or at least some of them) are SCSI devices, but do
|
||||
not implement the SCSI scanner interface. Instead they act as SCSI
|
||||
processor devices. They use the SCSI send and receive commands to
|
||||
transfer (hard as it is to believe) escape sequences.
|
||||
|
||||
The file scsi.c implements the SCSI send and receive commands in user
|
||||
mode, using the *BSD "uk" (unknown device) driver. The uk driver is
|
||||
somewhat flaky, rarely returning errors even if the device is switched
|
||||
off. Error detection is therefore likely to be minimal.
|
||||
|
||||
The file scanner.c provides a thin layer on top of scsi.c, and might
|
||||
decode error returns if there were any.
|
||||
|
||||
The file scl.c implements many of the HP SCL (Scanner Control
|
||||
Language) commands. This involves generating and parsing lots of
|
||||
escape sequences.
|
||||
|
||||
The file gui.c provides a simple X interface to the scanner. It
|
||||
allows you to preview the whole scan area, zoom in on the bit you're
|
||||
interested in, and scan it to a file. So far it can only scan 24-bit
|
||||
colour, preview on a colour display, and produce ppm files.
|
||||
|
||||
All of this has been hacked up in a hurry, so it's pretty minimal. It
|
||||
has been tried only under FreeBSD 1.1 with a ScanJet IIcx connected to
|
||||
an Adaptec 1542CF. I don't have much time to spend on it, so don't
|
||||
expect rapid improvements. Please send bug-reports and improvements
|
||||
to R.Tobin@ed.ac.uk.
|
||||
|
|
|
@ -1,10 +1,3 @@
|
|||
From: pcg@aber.ac.uk (Piercarlo Grandi)
|
||||
Newsgroups: comp.sources.unix
|
||||
Subject: v27i195: team - portable multi-buffered tape streaming utility, Part01/01
|
||||
Date: 13 Jan 1994 13:24:40 -0800
|
||||
Approved: vixie@gw.home.vix.com
|
||||
Message-ID: <1.758496249.28141@gw.home.vix.com>
|
||||
|
||||
Submitted-By: pcg@aber.ac.uk (Piercarlo Grandi)
|
||||
Posting-Number: Volume 27, Issue 195
|
||||
Archive-Name: team/part01
|
||||
|
@ -21,24 +14,4 @@ take turns at reading from the former and writing to the latter; they
|
|||
synchronize by using a ring of pipes between them, where a "read-enable"
|
||||
and a "write-enable" token circulate.
|
||||
|
||||
team is not just very portable, but also portable and efficient. It also
|
||||
has some bells & whistles, like command line options to specify the
|
||||
number of processes in a team, the block size for IO, and the volume
|
||||
size of the input or output media. It also optionally reports its
|
||||
progress.
|
||||
|
||||
Previous versions of team have been circulating (e.g. via alt.sources)
|
||||
for several years; I have not found a bug for a long time, even if
|
||||
surely they will exist.
|
||||
|
||||
The team source is GPL'ed, and it comes with no warranty.
|
||||
|
||||
Note: this program was developed entirely by the author in his own
|
||||
time, using his own resources, on his machine, in the context of
|
||||
his own research activities. In no way has the University of Wales,
|
||||
Aberystwyth contributed aided or abetted to this work, for which
|
||||
they bear no responsibility whatsoever. I am grateful to UWA for the
|
||||
ability to use their systems (as a paying customer) to post this work.
|
||||
|
||||
pcg@aber.ac.uk (Piercarlo Grandi)
|
||||
|
||||
|
|
Loading…
Reference in a new issue