New upstream version 2.0pre9.2
This commit is contained in:
commit
91736529d5
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# These are supported funding model platforms
|
||||
|
||||
patreon: stsp
|
51
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
51
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,51 @@
|
||||
---
|
||||
name: Bug report
|
||||
about: Create a bug report
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A description of what the problem is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behaviour:
|
||||
|
||||
**Attach program/game binaries or provide an URL**
|
||||
If the problem needs specific DOS files to reproduce, please attach
|
||||
or provide the download URL.
|
||||
|
||||
**Attach the log**
|
||||
It is located in ~/.dosemu/boot.log
|
||||
Unless you get the plain crash of dosemu2,
|
||||
you may need to enable some logging flags
|
||||
to make your report more useful.
|
||||
See description of -D option in `man dosemu.bin`.
|
||||
|
||||
**A regression?**
|
||||
If you happened to know this problem didn't
|
||||
exist on dosemu1 or some earlier versions of
|
||||
dosemu2, please write.
|
||||
|
||||
**dosemu2 origins**
|
||||
Please describe where do you get dosemu2
|
||||
from (PPA, COPR, git sources). In case of a
|
||||
source build, please describe any configure-time
|
||||
customizations. In case of binary packages,
|
||||
please specify your distribution and make sure
|
||||
to install the debuginfo packages before creating
|
||||
the log file.
|
||||
|
||||
**Additional info**
|
||||
Please write here if you did any dosemu2 setup
|
||||
customizations, like installing any custom DOS
|
||||
or command.com, or altering the dosemu2
|
||||
configuration settings. Note that freedos, even
|
||||
from dosemu-freedos package of dosemu1, counts
|
||||
as a custom DOS and should be mentioned here.
|
||||
Also make a note if it is a protected or real-mode
|
||||
program. If you suspect any particular dosemu2
|
||||
component (DPMI, PIC, PIT etc) to be responsible
|
||||
for the problem, please write.
|
10
.github/ISSUE_TEMPLATE/feature-request-or-question.md
vendored
Normal file
10
.github/ISSUE_TEMPLATE/feature-request-or-question.md
vendored
Normal file
@ -0,0 +1,10 @@
|
||||
---
|
||||
name: Feature request or question
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
62
.github/workflows/ci-build.yml
vendored
Normal file
62
.github/workflows/ci-build.yml
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
name: Build
|
||||
on:
|
||||
workflow_call:
|
||||
inputs:
|
||||
jobtype:
|
||||
required: true
|
||||
type: string
|
||||
subtype:
|
||||
required: true
|
||||
type: string
|
||||
runtype:
|
||||
required: true
|
||||
type: string
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-22.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: package install
|
||||
run: ./ci_prereq.sh
|
||||
|
||||
- name: build
|
||||
env:
|
||||
JOBTYPE: ${{ inputs.jobtype }}
|
||||
SUBTYPE: ${{ inputs.subtype }}
|
||||
RUNTYPE: ${{ inputs.runtype }}
|
||||
run: ./ci_build.sh
|
||||
|
||||
- name: cache binaries
|
||||
uses: actions/cache@v4
|
||||
env:
|
||||
cache-name: test-binaries
|
||||
with:
|
||||
path: ~/cache
|
||||
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-build-${{ env.cache-name }}-
|
||||
|
||||
- name: Enable KVM group perms
|
||||
run: |
|
||||
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --name-match=kvm
|
||||
|
||||
- name: test
|
||||
id: test
|
||||
env:
|
||||
JOBTYPE: ${{ inputs.jobtype }}
|
||||
SUBTYPE: ${{ inputs.subtype }}
|
||||
RUNTYPE: ${{ inputs.runtype }}
|
||||
run: ./ci_test.sh
|
||||
|
||||
- name: upload failure logs
|
||||
if: ${{ always() && (steps.test.outcome == 'failure') }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: failure-logs
|
||||
path: test_*
|
12
.github/workflows/ci-manual-asan.yml
vendored
Normal file
12
.github/workflows/ci-manual-asan.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
name: Manual ASAN
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
manual_asan:
|
||||
name: Manual (ASAN)
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'manual'
|
||||
subtype: 'asan'
|
||||
runtype: 'simple'
|
12
.github/workflows/ci-manual-full.yml
vendored
Normal file
12
.github/workflows/ci-manual-full.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
name: Manual FULL
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
manual_full:
|
||||
name: Manual (FULL)
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'manual'
|
||||
subtype: ''
|
||||
runtype: 'full'
|
12
.github/workflows/ci-manual-normal.yml
vendored
Normal file
12
.github/workflows/ci-manual-normal.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
||||
name: Manual Normal
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
manual_normal:
|
||||
name: Manual (Normal)
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'manual'
|
||||
subtype: ''
|
||||
runtype: 'normal'
|
73
.github/workflows/ci-master.yml
vendored
Normal file
73
.github/workflows/ci-master.yml
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
name: Master
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '23 23 * * 0' # 23:23 Every Sunday
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
- synchronize
|
||||
push:
|
||||
|
||||
jobs:
|
||||
# scheduled_asan:
|
||||
# name: Scheduled (ASAN)
|
||||
# if: (github.event_name == 'schedule' &&
|
||||
# github.repository_owner == 'dosemu2')
|
||||
|
||||
# uses: ./.github/workflows/ci-build.yml
|
||||
# with:
|
||||
# jobtype: 'schedule'
|
||||
# subtype: 'asan'
|
||||
# runtype: 'simple'
|
||||
|
||||
scheduled_full:
|
||||
name: Scheduled (FULL)
|
||||
if: (github.event_name == 'schedule' &&
|
||||
github.repository_owner == 'dosemu2')
|
||||
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'schedule'
|
||||
subtype: ''
|
||||
runtype: 'full'
|
||||
|
||||
triggered:
|
||||
name: Triggered
|
||||
if: (github.event_name != 'schedule' &&
|
||||
contains(github.event.head_commit.message, '[skip ci]') == false &&
|
||||
contains(github.event.head_commit.message, '[full ci]') == false &&
|
||||
contains(github.event.head_commit.message, '[asan ci]') == false)
|
||||
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'triggered'
|
||||
subtype: ''
|
||||
runtype: 'normal'
|
||||
|
||||
triggered_asan:
|
||||
name: Triggered (ASAN)
|
||||
if: (github.event_name != 'schedule' &&
|
||||
contains(github.event.head_commit.message, '[skip ci]') == false &&
|
||||
contains(github.event.head_commit.message, '[full ci]') == false &&
|
||||
contains(github.event.head_commit.message, '[asan ci]') == true)
|
||||
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'triggered'
|
||||
subtype: 'asan'
|
||||
runtype: 'simple'
|
||||
|
||||
triggered_full:
|
||||
name: Triggered (FULL)
|
||||
if: (github.event_name != 'schedule' &&
|
||||
contains(github.event.head_commit.message, '[skip ci]') == false &&
|
||||
contains(github.event.head_commit.message, '[full ci]') == true &&
|
||||
contains(github.event.head_commit.message, '[asan ci]') == false)
|
||||
|
||||
uses: ./.github/workflows/ci-build.yml
|
||||
with:
|
||||
jobtype: 'triggered'
|
||||
subtype: ''
|
||||
runtype: 'full'
|
39
.gitignore
vendored
Normal file
39
.gitignore
vendored
Normal file
@ -0,0 +1,39 @@
|
||||
/install-sh
|
||||
/config.status
|
||||
/config.sub
|
||||
*.d
|
||||
!dosrc.d
|
||||
*.o
|
||||
configure
|
||||
config.log
|
||||
aclocal.m4
|
||||
autom4te.cache
|
||||
Makefile.conf
|
||||
plugin_enable
|
||||
*.map
|
||||
*.xxd
|
||||
_*.h.in
|
||||
_*.h
|
||||
*.hh
|
||||
config.hh.in
|
||||
*.yy.c
|
||||
*.zz.c
|
||||
parser.c
|
||||
parser.h
|
||||
parser.output
|
||||
*.1
|
||||
dosemu_c.c
|
||||
global_c.c
|
||||
etc/Xfonts
|
||||
/etc/ttf/.uuid
|
||||
.tstamp
|
||||
/2.*
|
||||
/bin
|
||||
/commands
|
||||
/lib
|
||||
dosemu.desktop
|
||||
dosdebug
|
||||
hdinfo
|
||||
bios_symbols.c
|
||||
keysym_attributes.c
|
||||
make_attributes
|
3
.tito/packages/.readme
Normal file
3
.tito/packages/.readme
Normal file
@ -0,0 +1,3 @@
|
||||
the .tito/packages directory contains metadata files
|
||||
named after their packages. Each file has the latest tagged
|
||||
version and the project's relative directory.
|
1
.tito/packages/dosemu2
Normal file
1
.tito/packages/dosemu2
Normal file
@ -0,0 +1 @@
|
||||
2.0pre9-2 ./
|
6
.tito/tito.props
Normal file
6
.tito/tito.props
Normal file
@ -0,0 +1,6 @@
|
||||
[buildconfig]
|
||||
builder = tito.builder.Builder
|
||||
tagger = tito.tagger.VersionTagger
|
||||
changelog_do_not_remove_cherrypick = 0
|
||||
changelog_format = %s (%ae)
|
||||
|
28
.travis.yml
Normal file
28
.travis.yml
Normal file
@ -0,0 +1,28 @@
|
||||
language: c
|
||||
|
||||
os: linux
|
||||
dist: focal
|
||||
|
||||
if: type = cron
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/cache
|
||||
|
||||
before_install:
|
||||
- ./ci_prereq.sh
|
||||
|
||||
install:
|
||||
- ./ci_build.sh
|
||||
|
||||
before_script:
|
||||
# this acl no longer persists in Focal due to /dev/kvm management by systemd
|
||||
# - sudo setfacl -m u:${USER}:rw /dev/kvm
|
||||
# so we have to do this instead
|
||||
- sudo chmod 666 /dev/kvm
|
||||
|
||||
script:
|
||||
- ./ci_test.sh
|
||||
|
||||
after_script:
|
||||
- echo "after_script"
|
2
BUGS
Normal file
2
BUGS
Normal file
@ -0,0 +1,2 @@
|
||||
Please report bugs to the Bug Tracking System for DOSEMU2 at
|
||||
https://github.com/dosemu2/dosemu2/issues
|
76
CONTRIBUTING.md
Normal file
76
CONTRIBUTING.md
Normal file
@ -0,0 +1,76 @@
|
||||
# How to contribute
|
||||
|
||||
## Submitting changes
|
||||
|
||||
Please send a
|
||||
[GitHub Pull Request to dosemu2](https://github.com/dosemu2/dosemu2/pull/new/master)
|
||||
with a clear list of what you've done (read more about
|
||||
[pull requests](http://help.github.com/pull-requests/)). Please follow our
|
||||
coding conventions (below), make sure all of your commits are atomic (one
|
||||
feature per commit) and ensure at every commit in a series the code compiles.
|
||||
|
||||
Always write a clear log message for your commits. One-line messages are fine
|
||||
for small changes, but bigger changes should look like this:
|
||||
|
||||
$ git commit -m "A brief summary of the commit
|
||||
>
|
||||
> A paragraph describing what changed and its impact."
|
||||
|
||||
## Coding conventions
|
||||
Since dosemu2 has a long history, there are many different coding styles in
|
||||
use. We'd like to standardise on a subtle variant of the Kernighan & Ritchie
|
||||
style, but mass conversion is not really an option as we don't want to obscure
|
||||
the commit history. New code should follow the style below, but old code
|
||||
should be left in the style it is and modifications to it should be in the
|
||||
same style. If an existing function is so horridly formatted as to make it
|
||||
unreadable or it will be 80% changed, then it should be reformatted to the new
|
||||
style and submitted as a separate commit before any changes are done. Changes
|
||||
are then made in a followup commit. This will allow reviewers to view
|
||||
significant changes outside of the reformatting.
|
||||
|
||||
Coding style is that which would be produced by
|
||||
`indent -kr -nut -i2 -cli2`
|
||||
|
||||
```C
|
||||
/*
|
||||
* large block comments
|
||||
* second line
|
||||
*/
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int x, y, z = 1;
|
||||
|
||||
switch (z) {
|
||||
case 1:
|
||||
printf("hello\n");
|
||||
break;
|
||||
|
||||
case 0:
|
||||
printf("there\n");
|
||||
break;
|
||||
|
||||
default:
|
||||
printf("unmatched switch case 0x%02x\n", z);
|
||||
return 1;
|
||||
}
|
||||
|
||||
while (x == y) {
|
||||
a();
|
||||
b();
|
||||
|
||||
if (x)
|
||||
single_line_1();
|
||||
|
||||
if (z) {
|
||||
single_line_2();
|
||||
} else {
|
||||
multiple_line1();
|
||||
multiple_line2();
|
||||
multiple_line3();
|
||||
}
|
||||
}
|
||||
|
||||
return 0; // no round brackets
|
||||
}
|
||||
```
|
339
COPYING
Normal file
339
COPYING
Normal file
@ -0,0 +1,339 @@
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING.DOSEMU, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
364
COPYING.DOSEMU
Normal file
364
COPYING.DOSEMU
Normal file
@ -0,0 +1,364 @@
|
||||
|
||||
Copyright of DOSEMU2, October 2014
|
||||
==================================
|
||||
|
||||
1.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
2. All dosemu2 C sources (*.c) that have no explicit copyright statement,
|
||||
are copyrighted under GPLv2. Headers (*.h) without explicit
|
||||
copyrights are copyrighted similar to their respective .c
|
||||
counterparts, or, if no .c file with that name - under GPLv2+.
|
||||
|
||||
3. Parts of the code not covered by the GPL are marked explicitly
|
||||
within the code, and/or their copyrights are at the end of this
|
||||
file.
|
||||
|
||||
4. There are no restrictions to run any (proprietary or free) DOS software
|
||||
under dosemu2, unless the license of that software says otherwise.
|
||||
|
||||
|
||||
--- GPLv2 (used as a default license in older dosemu releases)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2, as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
|
||||
--- The QEMU emulator, before July 2013
|
||||
(src/base/dev/pic/*, src/base/dev/ne2k/ne2000.c)
|
||||
|
||||
The following points clarify the QEMU license:
|
||||
|
||||
1) QEMU as a whole is released under the GNU General Public License
|
||||
|
||||
2) Parts of QEMU have specific licenses which are compatible with the
|
||||
GNU General Public License. Hence each source file contains its own
|
||||
licensing information.
|
||||
|
||||
Many hardware device emulation sources are released under the BSD license.
|
||||
|
||||
3) The Tiny Code Generator (TCG) is released under the BSD license
|
||||
(see license headers in files).
|
||||
|
||||
4) QEMU is a trademark of Fabrice Bellard.
|
||||
|
||||
Fabrice Bellard.
|
||||
|
||||
dosemu2 note: in July 2013 QEMU license was updated to state GPLv2-only:
|
||||
-1) QEMU as a whole is released under the GNU General Public License
|
||||
+1) QEMU as a whole is released under the GNU General Public License,
|
||||
+version 2.
|
||||
|
||||
Therefore we take care to remove all changes done since that date,
|
||||
while porting QEMU sources to dosemu2.
|
||||
|
||||
--- The Mach DOS Emulator (mfs.c, emm.c, emufs.s)
|
||||
|
||||
Copyright (c) 1991 Carnegie Mellon University
|
||||
All Rights Reserved.
|
||||
|
||||
Permission to use, copy, modify and distribute this software and its
|
||||
documentation is hereby granted, provided that both the copyright
|
||||
notice and this permission notice appear in all copies of the
|
||||
software, derivative works or modified versions, and any portions
|
||||
thereof, and that both notices appear in supporting documentation.
|
||||
|
||||
CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
|
||||
CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
|
||||
|
||||
Carnegie Mellon requests users of this software to return to
|
||||
|
||||
Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
|
||||
School of Computer Science
|
||||
Carnegie Mellon University
|
||||
Pittsburgh PA 15213-3890
|
||||
|
||||
any improvements or extensions that they make and grant Carnegie Mellon
|
||||
the rights to redistribute these changes.
|
||||
|
||||
--- XFree86 (src/base/mouse/mouseint.c)
|
||||
|
||||
Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
Copyright 1993 by David Dawes <dawes@physics.su.oz.au>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of Thomas Roell and David Dawes not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission. Thomas Roell
|
||||
and David Dawes makes no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
THOMAS ROELL AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID DAWES BE LIABLE FOR ANY
|
||||
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
||||
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
--- Doug Lea's malloc in src/base/lib/misc/dlmalloc.c
|
||||
|
||||
This is a version (aka dlmalloc) of malloc/free/realloc written by
|
||||
Doug Lea and released to the public domain, as explained at
|
||||
http://creativecommons.org/licenses/publicdomain. Send questions,
|
||||
comments, complaints, performance data, etc to dl@cs.oswego.edu
|
||||
|
||||
--- The VGA fonts in src/base/dev/vga/vgafonts.c (copyleft_vgafonts.txt)
|
||||
|
||||
This *compilation* is (c) Copyright 1991,1992 Joseph (Yossi) Gil.
|
||||
Permission is granted to use and redistribute the files comprising
|
||||
this collection in any way (including conversion to another format),
|
||||
provided that my name and addresses and this notice is preserved.
|
||||
|
||||
Simple (dare I say trivial?) bitmapped screen fonts such as the ones
|
||||
included in this collection cannot be copyrighted. In general, one can
|
||||
only copyright programs that generate fonts. This is why postscript
|
||||
fonts are copyrightable. For more details refer to discussions various
|
||||
"legal" newsgroups. In addition, I have included a relevant excerpt
|
||||
from the FAQ of comp.fonts at the bottom of this document.
|
||||
|
||||
No one can claim any copyright on the fonts in this archive. They
|
||||
have been collected from numerous sources. Legally speaking, you are
|
||||
*free* to do with the individual fonts whatever you like. Individual
|
||||
fonts are in the public domain. I do ask that you will kindly refrain
|
||||
from causing confusion by distributing modified versions of the fonts
|
||||
contained in this collection.
|
||||
|
||||
Please send any all your EGA/VGA text mode fonts contributions to me
|
||||
rather than distributing a modified version of this collection. I
|
||||
will add your fonts to the next edition of this collection and happily
|
||||
acknowledge your help. Your cooperation will enable us all to benefit
|
||||
from your contribution. See the file LOOKING4.TXT for more details.
|
||||
|
||||
I am trying to keep track of the origins of these fonts. See the file
|
||||
FONTORIG.TXT. Unfortunately, I only started to record this information
|
||||
on version 1.2. Records of origin of earlier fonts are missing.
|
||||
If you know the origin of any of the fonts here, please drop me a note.
|
||||
|
||||
Staring on version 1.6 the collection also includes some of the
|
||||
miscellaneous utilities which I use for preparing it. Among these
|
||||
you will find programs for loading, viewing, trimming and otherwise
|
||||
manipulating the fonts. These utilities are also distributed as a
|
||||
separate archive called fntutlXX.ZIP where XX is the version number.
|
||||
All the utilities require no shareware payment. Restrictions on
|
||||
distribution and usage are only to the extent necessary to protect
|
||||
the free distribution.
|
||||
|
||||
I see this is as my pleasant duty to pay tribute to the following
|
||||
individuals who communicated and contributed to this archive:
|
||||
|
||||
Dov Grobgeld <cfgrob@weizmann.weizmann.ac.il>
|
||||
Angelos Karageorgiou <karage@insci.com>,<karage@scus1.ctstateu.edu>
|
||||
Alexandre (Alex) Khalil <9999SC01@DT3.DT.UH.EDU>,<alex@dt.uh.edu>
|
||||
Patrick Arzul <andrewd@cs.uct.ac.za>
|
||||
Mike Threepoint <linhart@trident.usacs.rutgers.edu>
|
||||
Glaude David [Glu] <dglaude@is1.vub.ac.be>
|
||||
Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||
Itamar Even-Zohar <itiez@ccsg.tau.ac.il>
|
||||
A.Weeks%bath.ac.uk@ib.rl.ac.uk
|
||||
Miguel Farah.
|
||||
|
||||
|
||||
This collection would not have been what it today is without their
|
||||
help!
|
||||
|
||||
|
||||
Author's Address
|
||||
================
|
||||
E-mail internet address: yogi@cs.technion.ac.il
|
||||
|
||||
Alternate E-mail addresses: yogi@cs.ubc.ca, yogi@umiacs.umd.edu.
|
||||
|
||||
Permanent mailing address is:
|
||||
Joseph Gil, P.O. Box 3148, Jerusalem, Israel.
|
||||
|
||||
Hebrew mailing address (you cannot read the following unless
|
||||
your screen adapter can display Hebrew character):
|
||||
ליג יסוי
|
||||
3148 .ד.ת
|
||||
םילשורי
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
From comp.fonts Sat Sep 5 11:12:35 1992
|
||||
walsh@cs.umass.edu (Norman Walsh)
|
||||
Newsgroups: comp.fonts Subject: FAQ: Part-I: General Info Message-ID:
|
||||
<WALSH.92Sep4153207@ibis.cs.umass.edu> Date: 4 Sep 92 19:32:07 GMT
|
||||
Reply-To: walsh@cs.umass.edu Organization: Dept of Comp and Info Sci,
|
||||
Univ of Mass (Amherst)
|
||||
|
||||
FAQ for comp.fonts: Part I: General Info
|
||||
|
||||
Maintained by Norm Walsh <walsh@cs.umass.edu> and
|
||||
Bharathi Jagadeesh <bjag@nwu.edu>
|
||||
|
||||
Version 0.0.3, Release 04SEP92
|
||||
|
||||
Welcome to the comp.fonts FAQ. This article, posted monthly, describes
|
||||
many of the basic questions that seem to be repeated frequently on
|
||||
comp.fonts. Your comments are both welcome and encouraged.
|
||||
|
||||
Standard disclaimers apply.
|
||||
|
||||
....
|
||||
At one level, there are two major sorts of fonts: bitmapped and
|
||||
outline (scalable). Bitmapped fonts are falling out of fashion
|
||||
as various outline technologies grow in popularity and support.
|
||||
|
||||
Bitmapped fonts represent each character as a rectangular grid of
|
||||
pixels. The bitmap for each character indicates precisely what
|
||||
pixels should be on and off. Printing a bitmapped character is
|
||||
simply a matter of blasting the right bits out to the printer.
|
||||
There are a number of disadvantages to this approach. The bitmap
|
||||
represents a particular instance of the character at a particular
|
||||
size and resolution. It is very difficult to change the size,
|
||||
shape, or resolution of a bitmapped character without significant
|
||||
loss of quality in the image. On the other hand, it's easy to do
|
||||
things like shading and filling with bitmapped characters.
|
||||
|
||||
.....
|
||||
|
||||
5. Are fonts copyrightable?
|
||||
|
||||
This topic is hotly debated at regular intervals on comp.fonts.
|
||||
Terry Carroll <tjc50@juts.ccc.amdahl.COM> provides the following
|
||||
analysis of current [ed: as of 6/92] legislation and regulation
|
||||
regarding fonts and copyrights. Members of the comp.fonts community
|
||||
are encouraged to submit other materials that add clarity to the
|
||||
issue.
|
||||
|
||||
*-[Quote]-----------------------------------------------------------*
|
||||
|
||||
First, the short answer: Typefaces are not copyrightable; bitmapped
|
||||
fonts are not copyrightable, but scalable fonts are copyrightable.
|
||||
Authorities for these conclusions follow.
|
||||
|
||||
Before we get started, let's get some terminology down:
|
||||
|
||||
A typeface is a set of letters, numbers, or other symbolic
|
||||
characters, whose forms are related by repeating design elements
|
||||
consistently applied in a notational system and are intended to be
|
||||
embodied in articles whose intrinsic utilitarian function is for use
|
||||
in composing text or other cognizable combinations of characters.
|
||||
|
||||
A font is the computer file or program that is used to represent
|
||||
or create the typeface.
|
||||
|
||||
Now, on to the legal authorities:
|
||||
|
||||
Volume 37 of the Code of Federal Regulations specifies this about
|
||||
the copyrightability of typefaces:
|
||||
|
||||
"The following are examples of works not subject to copyright and
|
||||
applications for registration of such works cannot be entertained:
|
||||
. . . typeface as typeface" 37 CFR 202.1(e).
|
||||
|
||||
By the way, you won't find that in the most recent (7/1/91) edition
|
||||
of the CFR; the addition was enacted 2/21/92. It'll be in the
|
||||
next edition, though. It's described in the 2/21/92 edition of
|
||||
the Federal Register, page 6201 (57 FR 6201). The change didn't
|
||||
actually change the law, it just clarified it, and codified existing
|
||||
Copyright Office policy.
|
||||
|
||||
The regulation is in accordance with the House of Representatives
|
||||
report that accompanied the new copyright law, when it was passed
|
||||
in 1976:
|
||||
|
||||
"The Committee has considered, but chosen to defer, the possibility
|
||||
of protecting the design of typefaces. A 'typeface' can be defined
|
||||
as a set of letters, numbers, or other symbolic characters, whose
|
||||
forms are related by repeating design elements consistently applied
|
||||
in a notational system and are intended to be embodied in articles
|
||||
whose intrinsic utilitarian function is for use in composing text
|
||||
or other cognizable combinations of characters. The Committee
|
||||
does not regard the design of typeface, as thus defined, to be a
|
||||
copyrightable 'pictoral, graphic, or sculptural work' within the
|
||||
meaning of this bill and the application of the dividing line in
|
||||
section 101." H. R. Rep. No. 94-1476, 94th Congress, 2d Session
|
||||
at 55 (1976), reprinted in 1978 U.S. Cong. and Admin. News 5659,
|
||||
5668.
|
||||
|
||||
It's also in accordance with the one court case I know of that
|
||||
has considered the matter: Eltra Corp. V. Ringer, 579 F.2d 294,
|
||||
208 USPQ 1 (1978, C.A. 4, Va.).
|
||||
|
||||
The Copyright Office holds that a bitmapped font is nothing more
|
||||
than a computerized representation of a typeface, and as such is
|
||||
not copyrightable:
|
||||
|
||||
"The [September 29, 1988] Policy Decision [published at 53 FR 38110]
|
||||
based on the [October 10,] 1986 Notice of Inquiry [published at 51
|
||||
FR 36410] reiterated a number of previous registration decisions
|
||||
made by the [Copyright] Office. First, under existing law, typeface
|
||||
as such is not registerable. The Policy Decision then went on
|
||||
to state the Office's position that 'data that merely represents
|
||||
an electronic depiction of a particular typeface or individual
|
||||
letterform' [that is, a bitmapped font] is also not registerable."
|
||||
57 FR 6201.
|
||||
|
||||
However, scalable fonts are, in the opinion of the Copyright
|
||||
Office, computer programs, and as such are copyrightable:
|
||||
|
||||
"... the Copyright Office is persuaded that creating scalable
|
||||
typefonts using already-digitized typeface represents a
|
||||
significant change in the industry since our previous [September
|
||||
29, 1988] Policy Decision. We are also persuaded that computer
|
||||
programs designed for generating typeface in conjunction with low
|
||||
resolution and other printing devices may involve original computer
|
||||
instructions entitled protection under the Copyright Act. For
|
||||
example, the creation of scalable font output programs to produce
|
||||
harmonious fonts consisting of hundreds of characters typically
|
||||
involves many decisions in drafting the instructions that drive the
|
||||
printer. The expression of these decisions is neither limited by
|
||||
the unprotectable shape of the letters nor functionally mandated.
|
||||
This expression, assuming it meets the usual standard of authorship,
|
||||
is thus registerable as a computer program." 57 FR 6202.
|
||||
|
||||
*-[Unquote]---------------------------------------------------------*
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
FLEXI IBM VGA9 FONTS: Scalable TrueType fonts based on the iconic hardware
|
||||
VGA character set.
|
||||
|
||||
INCLUDED FONTS:
|
||||
|
||||
* Flexi IBM VGA9 True: Corrected aspect ratio, extended character set
|
||||
* Flexi IBM VGA9 True 437: Corrected aspect ratio, CP437/DOS encoding
|
||||
* Flexi IBM VGA9 False: Uncorrected aspect ratio, extended character set
|
||||
* Flexi IBM VGA9 False 437: Uncorrected aspect ratio, CP437/DOS encoding
|
||||
|
||||
LICENSE:
|
||||
|
||||
These fonts are released under the Creative Commons Attribution-ShareAlike
|
||||
4.0 International license: http://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
_________________________________________
|
||||
|
||||
// VileR 2018-05 https://int10.org
|
3380
ChangeLog.ancient
Normal file
3380
ChangeLog.ancient
Normal file
File diff suppressed because it is too large
Load Diff
5307
ChangeLog.old
Normal file
5307
ChangeLog.old
Normal file
File diff suppressed because it is too large
Load Diff
8212
ChangeLog.old1
Normal file
8212
ChangeLog.old1
Normal file
File diff suppressed because it is too large
Load Diff
60
INSTALL
Normal file
60
INSTALL
Normal file
@ -0,0 +1,60 @@
|
||||
building and installing dosemu2 from sources
|
||||
==============================================
|
||||
|
||||
-> REQUIREMENTS for dosemu2:
|
||||
- fdpp of the latest version, for now from git or from PPA:
|
||||
https://code.launchpad.net/~dosemu2/+archive/ubuntu/ppa
|
||||
of from COPR:
|
||||
https://copr.fedorainfracloud.org/coprs/stsp/dosemu2/
|
||||
- gcc >= 8.1 or clang >= 3.7.0
|
||||
- glibc >= 2.20
|
||||
- linux >= 3.16 for x86-64, >= 4.7 recommended.
|
||||
With older version than 3.16 there may be some problems
|
||||
with DPMI, especially make sure to not use 3.14 and 3.15.
|
||||
linux >= 4.3 for i386.
|
||||
linux >= 4.11 if you want to run 32bit dosemu under x86_64 kernel
|
||||
with multilib environment (you likely don't want to do this).
|
||||
- bison and flex
|
||||
- SDL >= 2.0.6, >= 2.26.0 is required for copy/paste support.
|
||||
- libslirp >= 4.1.0 recommended for networking
|
||||
- json-c >= 0.13 recommended
|
||||
- development libraries: Xext, slang, gpm, alsa, fluidsynth,
|
||||
ladspa, libao can be used when available.
|
||||
|
||||
This means that Ubuntu Focal or Fedora 31 are the minimum
|
||||
recommended systems.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
1. Compile
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
First you should run:
|
||||
|
||||
./autogen.sh
|
||||
|
||||
Then either:
|
||||
|
||||
./default-configure
|
||||
make
|
||||
|
||||
or
|
||||
|
||||
- create a seperate directory and run
|
||||
$SRCDIR/configure (or $SRCDIR/default-configure; see below)
|
||||
make
|
||||
in that directory.
|
||||
|
||||
- If you want dosemu2 executable with debug info, then add -d parameter
|
||||
to default-configure on the previous step. But expect the debug build
|
||||
to work considerably slower than the release build!
|
||||
|
||||
- sudo make install
|
||||
|
||||
You can now start dosemu2 by typing "dosemu". But if you didn't install
|
||||
comcom32, dosemu2 may not find command.com. We recommend to install
|
||||
the pre-compiled comcom32 package either from PPA or COPR. Or you can
|
||||
instead download it from here:
|
||||
https://dosemu2.github.io/comcom32/files/comcom32.zip
|
||||
unzip to ~/.dosemu/drive_c and symlink as command.com.
|
||||
You may not want to build comcom32 from sources unless you know how
|
||||
to install djgpp.
|
111
Makefile
Normal file
111
Makefile
Normal file
@ -0,0 +1,111 @@
|
||||
# Makefile for DOSEMU
|
||||
#
|
||||
|
||||
all: default
|
||||
|
||||
srcdir=.
|
||||
top_builddir=.
|
||||
SUBDIR:=.
|
||||
ifeq ($(filter deb rpm %/configure configure,$(MAKECMDGOALS)),)
|
||||
-include Makefile.conf
|
||||
endif
|
||||
REALTOPDIR ?= $(abspath $(srcdir))
|
||||
|
||||
$(REALTOPDIR)/configure: $(REALTOPDIR)/configure.ac
|
||||
cd $(@D) && autoreconf --install -v -I m4
|
||||
|
||||
Makefile.conf config.status src/include/config.hh etc/dosemu.desktop: \
|
||||
$(REALTOPDIR)/configure
|
||||
ifeq ($(findstring $(MAKECMDGOALS), clean realclean pristine distclean),)
|
||||
@echo "Running configure ..."
|
||||
$<
|
||||
else
|
||||
$< || true
|
||||
endif
|
||||
|
||||
install: changelog
|
||||
|
||||
default install: config.status src/include/config.hh etc/dosemu.desktop
|
||||
@$(MAKE) -C man $@
|
||||
@$(MAKE) -C src $@
|
||||
|
||||
clean realclean:
|
||||
@$(MAKE) -C man $@
|
||||
@$(MAKE) -C src $@
|
||||
|
||||
uninstall:
|
||||
@$(MAKE) -C src uninstall
|
||||
|
||||
docs:
|
||||
@$(MAKE) -C src/doc all
|
||||
@$(MAKE) -C src/doc install
|
||||
|
||||
docsclean:
|
||||
@$(MAKE) -C src/doc clean
|
||||
|
||||
GIT_REV := $(shell $(REALTOPDIR)/git-rev.sh $(REALTOPDIR) $(top_builddir))
|
||||
.LOW_RESOLUTION_TIME: $(GIT_REV)
|
||||
|
||||
$(PACKETNAME).tar.gz: $(GIT_REV) changelog
|
||||
rm -f $(PACKETNAME).tar.gz
|
||||
(cd $(REALTOPDIR); git archive -o $(abs_top_builddir)/$(PACKETNAME).tar --prefix=$(PACKETNAME)/ HEAD)
|
||||
tar rf $(PACKETNAME).tar --transform 's,^,$(PACKETNAME)/,' --add-file=changelog; \
|
||||
if [ -f "$(fdtarball)" ]; then \
|
||||
tar -Prf $(PACKETNAME).tar --transform 's,^$(dir $(fdtarball)),$(PACKETNAME)/,' --add-file=$(fdtarball); \
|
||||
fi
|
||||
gzip $(PACKETNAME).tar
|
||||
|
||||
dist: $(PACKETNAME).tar.gz
|
||||
|
||||
rpm: dosemu2.spec.rpkg
|
||||
git clean -fd
|
||||
rpkg local
|
||||
|
||||
deb:
|
||||
debuild -e CC=clang -i -us -uc -b
|
||||
|
||||
changelog:
|
||||
if [ -d $(top_srcdir)/.git -o -f $(top_srcdir)/.git ]; then \
|
||||
git --git-dir=$(top_srcdir)/.git log >$@ ; \
|
||||
else \
|
||||
echo "Unofficial build by `whoami`@`hostname`, `date`" >$@ ; \
|
||||
fi
|
||||
|
||||
log: changelog
|
||||
|
||||
tests:
|
||||
python3 test/test_dos.py PPDOSGITTestCase
|
||||
|
||||
pristine distclean mrproper: Makefile.conf docsclean
|
||||
@$(MAKE) -C src pristine
|
||||
rm -f Makefile.conf
|
||||
rm -f $(PACKETNAME).tar.gz
|
||||
rm -f ChangeLog
|
||||
rm -f `find . -name config.cache`
|
||||
rm -f `find . -name config.status`
|
||||
rm -f `find . -name config.log`
|
||||
rm -f `find . -name aclocal.m4`
|
||||
rm -f `find . -name configure`
|
||||
rm -f `find . -name Makefile.conf`
|
||||
rm -rf `find . -name autom4te*.cache`
|
||||
rm -f debian/$(PACKAGE_NAME).*
|
||||
rm -rf debian/$(PACKAGE_NAME)
|
||||
rm -f debian/*-stamp
|
||||
rm -f debian/files
|
||||
rm -f src/include/config.hh
|
||||
rm -f src/include/stamp-h1
|
||||
rm -f src/include/config.hh.in
|
||||
rm -f src/include/version.hh
|
||||
rm -f `find . -name '*~'`
|
||||
rm -f `find . -name '*[\.]o'`
|
||||
rm -f `find src -type f -name '*.d'`
|
||||
rm -f `find . -name '*[\.]orig'`
|
||||
rm -f `find . -name '*[\.]rej'`
|
||||
rm -f gen*.log
|
||||
rm -f config.sub config.guess
|
||||
rm -rf 2.*
|
||||
rm -rf autom4te.cache
|
||||
$(REALTOPDIR)/scripts/mkpluginhooks clean
|
||||
|
||||
tar: distclean
|
||||
VERSION=`cat VERSION` && cd .. && tar czvf dosemu-$$VERSION.tgz dosemu-$$VERSION
|
114
Makefile.conf.in
Normal file
114
Makefile.conf.in
Normal file
@ -0,0 +1,114 @@
|
||||
# Makefile.conf.in for DOSEMU
|
||||
#
|
||||
# This file is included by all Makefiles
|
||||
|
||||
DOSBIN = dosemu.bin
|
||||
|
||||
PACKAGE_TARNAME:=@PACKAGE_TARNAME@
|
||||
prefix:=@prefix@
|
||||
exec_prefix=@exec_prefix@
|
||||
bindir:=@bindir@
|
||||
sysconfdir:=@sysconfdir@
|
||||
confdir:=@confdir@
|
||||
libdir:=@libdir@
|
||||
plugindir:=@plugindir@
|
||||
datarootdir:=@datarootdir@
|
||||
datadir:=@datadir@
|
||||
mandir:=@mandir@
|
||||
docdir:=@docdir@
|
||||
x11fontdir:=@x11fontdir@
|
||||
ttffontdir:=@ttffontdir@
|
||||
fdtarball:=@fdtarball@
|
||||
cmdsuff:=@cmdsuff@
|
||||
abs_top_srcdir:=@abs_top_srcdir@
|
||||
abs_top_builddir:=@abs_top_builddir@
|
||||
|
||||
INCDIR=-I${top_builddir}/src/include -I${top_builddir}/src/plugin/include \
|
||||
-I${top_srcdir}/src/base/bios/x86 -I${top_srcdir}/src/include \
|
||||
-I${top_srcdir}/src/base/lib
|
||||
top_srcdir:=$(abs_top_srcdir)
|
||||
srcdir = $(patsubst %/,%,$(abs_top_srcdir)/src/$(SUBDIR))
|
||||
|
||||
CFLAGS:=@CFLAGS@
|
||||
ALL_CFLAGS:=@DOSEMU_CFLAGS@ $(CFLAGS)
|
||||
ASFLAGS:=@ASFLAGS@
|
||||
XASFLAGS:=@XASFLAGS@
|
||||
CPPFLAGS:=@CPPFLAGS@
|
||||
ALL_CPPFLAGS:=@DOSEMU_CPPFLAGS@ $(INCDIR) $(CPPFLAGS)
|
||||
LDFLAGS:=@LDFLAGS@
|
||||
AS_LDFLAGS:=@AS_LDFLAGS@
|
||||
ALL_LDFLAGS:=@DOSEMU_LDFLAGS@ $(LDFLAGS)
|
||||
DOSBIN_LDFLAGS:=@DOSBIN_LDFLAGS@
|
||||
LIBS:=@LIBS@
|
||||
CC:=@CC@
|
||||
CPP:=@CPP@
|
||||
LD:=@CC@
|
||||
AS:=@AS@
|
||||
XAS:=@XAS@
|
||||
AS_LD:=@AS_LD@
|
||||
XOBJCOPY:=@XOBJCOPY@
|
||||
CC_FOR_BUILD:=@CC_FOR_BUILD@
|
||||
CFLAGS_FOR_BUILD:=@CFLAGS_FOR_BUILD@
|
||||
|
||||
YACC:=@YACC@
|
||||
# NOTE: we really need bison, yacc won't work any more
|
||||
#YACC=bison -y
|
||||
LEX:=@LEX@
|
||||
LN_S := @LN_S@
|
||||
LN_SFT := @LN_SFT@
|
||||
|
||||
# This gets defined even if we chose via ./include/config.h NOT to
|
||||
# use the debugger
|
||||
DEBUGGER:=@DEBUGGER@
|
||||
|
||||
OPTIONALSUBDIRS := @OPTIONALSUBDIRS@
|
||||
PLUGINSUBDIRS := @PLUGINSUBDIRS@
|
||||
ST_PLUGINSUBDIRS := @ST_PLUGINSUBDIRS@
|
||||
|
||||
HAVE_LIBBFD := @HAVE_LIBBFD@
|
||||
|
||||
OS=@CONFIG_HOST@
|
||||
RANLIB:=@RANLIB@
|
||||
|
||||
PACKAGE_NAME:=@PACKAGE_TARNAME@
|
||||
|
||||
USE_DL_PLUGINS := @USE_DL_PLUGINS@
|
||||
X86_EMULATOR := @X86_EMULATOR@
|
||||
X86_JIT := @X86_JIT@
|
||||
DNATIVE := @DNATIVE@
|
||||
KVM := @KVM@
|
||||
MCONTEXT := @MCONTEXT@
|
||||
USE_OFD_LOCKS := @USE_OFD_LOCKS@
|
||||
USE_XATTRS := @USE_XATTRS@
|
||||
USE_EVTIMER_FD := @USE_EVTIMER_FD@
|
||||
USE_OSS := @USE_OSS@
|
||||
USE_SOFTFLOAT := @USE_SOFTFLOAT@
|
||||
|
||||
INSTALL:=@INSTALL@
|
||||
REALTOPDIR:=$(top_srcdir)
|
||||
SRCPATH:=$(top_srcdir)/src
|
||||
|
||||
PACKAGE_VERSION:=$(shell cd $(top_srcdir) && ./getversion)
|
||||
PACKAGE_VERSION_SPACES:=$(subst ., ,$(PACKAGE_VERSION))
|
||||
PACKAGE_VERSION_SPACES:=$(subst -, ,$(PACKAGE_VERSION_SPACES))
|
||||
PACKAGE_VERSION_SPACES:=$(subst pre, pre,$(PACKAGE_VERSION_SPACES))
|
||||
VERSION:=$(word 1, $(PACKAGE_VERSION_SPACES))
|
||||
SUBLEVEL:=$(word 2, $(PACKAGE_VERSION_SPACES))
|
||||
PATCHLEVEL1:=$(word 3, $(PACKAGE_VERSION_SPACES))
|
||||
PATCHLEVEL2:=$(word 4, $(PACKAGE_VERSION_SPACES))
|
||||
ifeq ($(PATCHLEVEL2),)
|
||||
PACKETNAME:=$(PACKAGE_NAME)-$(VERSION).$(SUBLEVEL)$(PATCHLEVEL1)
|
||||
else
|
||||
PACKETNAME:=$(PACKAGE_NAME)-$(VERSION).$(SUBLEVEL)$(PATCHLEVEL1).$(PATCHLEVEL2)
|
||||
endif
|
||||
THISVERSION:=$(VERSION).$(SUBLEVEL)-$(PATCHLEVEL1)
|
||||
PACKVERSION:=$(VERSION).$(SUBLEVEL)$(PATCHLEVEL1)
|
||||
BINPATH:=$(top_builddir)/$(THISVERSION)
|
||||
RELEASE_DATE="@RELEASE_DATE@"
|
||||
REVISION:=$(shell cd $(top_srcdir) && ./getversion -r)
|
||||
|
||||
ifeq ($(USE_DL_PLUGINS),1)
|
||||
DL_CFLAGS:=-fPIC
|
||||
else
|
||||
-include $(top_builddir)/src/plugin/*/Makefile.conf
|
||||
endif
|
39
NEWS.md
Normal file
39
NEWS.md
Normal file
@ -0,0 +1,39 @@
|
||||
## pre9
|
||||
|
||||
There are over ~3300 commits since the last preview release (pre8)
|
||||
and a very large chunks of dosemu2 architecture were written and
|
||||
stabilized. Hopefully it would be possible to do more frequent
|
||||
releases in the future and avoid such a long development cycles.
|
||||
|
||||
Note: because of the new architecture in place, we suggest to
|
||||
re-install dosemu completely. I.e. erase your /etc/dosemu
|
||||
~/.dosemurc ~/.dosemu/.dosemurc and clean ~/.dosemu/drive_c from
|
||||
any system/boot files (or remove ~/.dosemu completely if there is
|
||||
nothing important within). Compatibility mode (to run old setups)
|
||||
is present but may require some manual adjustments. Also note that
|
||||
compatibility mode means a reduced feature set. If you insist on
|
||||
an old setup but dosemu2 doesn't pick it up properly, don't hesitate
|
||||
to ask for help on our github discussions page.
|
||||
|
||||
Summary of user-visible changes:
|
||||
* fdpp is now our default OS. It is a 64bit DOS core that boots under
|
||||
dosemu2 and allows to work without installing any DOS. Of course
|
||||
you can still install any DOS if you want, but that will in most
|
||||
cases only cause the features reduction.
|
||||
* comcom32 is our default shell. comcom32 is a command.com variant that
|
||||
runs in 32bit space. Eventually we aim for the 64bit shell, but so
|
||||
far we only have this. You can still use your favourite shell if you
|
||||
want.
|
||||
* Worked out the security model. We hope that dosemu2 now provides
|
||||
a relatively secure sandbox environment, and yet exposes all the
|
||||
needed features. Exposing features in a secure manner (rather than
|
||||
to simply declare them insecure and disable) was a challenge.
|
||||
* Added KVM-assisted acceleration to DPMI (@bartoldeman).
|
||||
* Added TTF support (@andrewbird)
|
||||
* Implemented region locking and share support in MFS. One of the
|
||||
most requested/missed feature of dosemu1 times.
|
||||
* Implemented $_trace_mmio option (@dos4boss)
|
||||
* Lots of speed-ups to simx86 (@bartoldeman)
|
||||
* Lots of i18n work.
|
||||
* musl support
|
||||
* Added lots of CI tests (@andrewbird)
|
331
NEWS.old
Normal file
331
NEWS.old
Normal file
@ -0,0 +1,331 @@
|
||||
Version dosemu2-2.0pre8
|
||||
=============
|
||||
We have ~300 commits, many of which are bug-fixing, as pre7 was horribly
|
||||
buggy due to heavy development. As for the newly introduced regressions -
|
||||
not too much known at this time, except the drop of clang support. We
|
||||
hope to get clang support back again in the very near future.
|
||||
|
||||
Summary of changes:
|
||||
* Improved hx-extender support so that the win32 version of quake2
|
||||
can now work under dosemu2 (in pre7 it was supposed to but didn't).
|
||||
* Support for external EMS managers like emm286.exe was (partially)
|
||||
implemented. As the result, we have a new UMB driver, umb.sys, that
|
||||
allows to enable UMB without also enabling EMS, leaving this possibility
|
||||
to an external driver.
|
||||
* New DOSes supported: RxDOS 7.1.x and 7.2, PC-MOS 5.01.
|
||||
* fossil driver got updates and missing functionality additions.
|
||||
* Sound stack got updates to reduce the latencies.
|
||||
* Passing DOS commands via dosemu's cmdline was changed, see man for
|
||||
details. Many new possibilities added, like passing environment
|
||||
variables and more.
|
||||
* Some no longer used commands (comline.com, ecpuon.com, ecpuoff.com)
|
||||
were removed.
|
||||
* Dumb terminal mode now handles the charsets.
|
||||
* Fixes to all regression bugs of pre7 - there were many of them.
|
||||
|
||||
List of tracker bugs that were closed:
|
||||
cpu exception in dosemu code when launched from .desktop file #414
|
||||
Duplicate src file detect.h #426
|
||||
int2f - misplaced brace? #398
|
||||
HMA unavailable after a reboot from within DOSemu #427
|
||||
VESA test utility vbetest.exe doesn't work since new int_revect logic #419
|
||||
Int 14h function 1Bh returns pointer to wrong ID string after reboot #432
|
||||
DOSemu becomes slow after certain programs return from a DOS shell #433
|
||||
Windows crashes dosemu in cpusim #435
|
||||
dosdebug bpint causes crash #442
|
||||
Int19 loads the MBR but returns to where it was called #441
|
||||
File or directory creation on hdimage fails #443
|
||||
BIOS data area entry at 0:0475h "NUMBER OF FIXED DISK DRIVES" is zero #447
|
||||
Fatfs has duplicate config.sys file #449
|
||||
Compile error: signal.c:370:6: error: conflicting types for 'deinit_handler' #457
|
||||
lagging after printing #455
|
||||
dosdebug INT tracing oddities #458
|
||||
dosdebug: tracing iret doesn't stop after the iret #465
|
||||
pause key doesn't work with SDL #472
|
||||
instremu runs with async signals blocked #477
|
||||
Build engine and VESA modes #456
|
||||
dosdebug t misses instruction after sti #480
|
||||
Windows 3.1 setup reboot hangs #469
|
||||
Windows 3.1 doesn't start after starting+quiting Borland C #488
|
||||
MechWarrior crashes dosemu with jit #487
|
||||
cpatch crash due to misaligned stack (jit) #489
|
||||
dosdebug d repetition should advance pointers #482
|
||||
keen4 sometimes crashes in remap.c #491
|
||||
dosemu2 complains vm.mmap_min_addr > 0 eventhough it is zero #448
|
||||
INSTALL isn't clear about what problems might be with Linux < 3.16 #499
|
||||
Int13/04 verify on fatfs #503
|
||||
No native chars in dumb terminal mode #505
|
||||
in dumb terminal mode, control chars are displayed rather than working #508
|
||||
crash or load error after int19 reboot (vm86 jit) #493
|
||||
CPU should execute two instructions if the first is "mov ss" #481
|
||||
PC-MOS/386 in DOSEMU2? #502
|
||||
Bug in modemu.c #527
|
||||
ucontext issue when using musl libc #531
|
||||
pthread_getname_np and feenableexcept don’t exist in musl #532
|
||||
Net header issue when using musl libc #530
|
||||
LFN: Creating a file with LFN from djgpp app gives mangled name file #535
|
||||
rename with wildcards doesn't work with non-free doses #526
|
||||
|
||||
Thanks goes to:
|
||||
Andrew Bird: MFS/LFN work, new DOSes support
|
||||
C. Masloch: mkfatimage16, int13 work
|
||||
Stas Sergeev: credit thyself or no one else will :)
|
||||
@newbluemoon: musl porting help (not quite there yet)
|
||||
Julius Schwartzenberg: as usual, lots of testing
|
||||
@bpranoto, @severach, @jharrison022: testing
|
||||
|
||||
Version dosemu2-2.0pre7
|
||||
=============
|
||||
We have over 700 commits, mostly targeted on re-introducing and fixing
|
||||
the features previously supported in dosemu1, and a couple of new ones.
|
||||
Unfortunately we also have a few regressions.
|
||||
Summary below.
|
||||
|
||||
* Reworks to SDL plugin. The HW-accelerated rendering is now disabled
|
||||
by default, as well as the scaling filters, and full-screen switching
|
||||
may not work. If you want to use HW-accelerated rendering, try
|
||||
$_SDL_swrend = (off). If you want scaling filters or full-screen, use
|
||||
'dosemu -X'. We will try to improve the SDL support in future releases.
|
||||
* HX extender now fully supported, quake2 works!
|
||||
* Mouse wheel support implemented
|
||||
* Support booting OpenDOS and some old versions of MS-DOS.
|
||||
* 2 new keyboard plugins implemented ("stdio" and "tty") to allow dumb
|
||||
terminal mode to work without slang library. Selectable with '-kt', '-ks'.
|
||||
* VGA pass-through in text-mode console is now fully supported. Hope
|
||||
no one uses it though.
|
||||
* Windows-3.1 support is fully re-introduced, and is actually much better
|
||||
than in dosemu1. We also provide the mouse driver for windows-3.1 that
|
||||
allows the use of the host's mouse pointer:
|
||||
https://github.com/stsp/win31-mouse-driver/tree/master/out
|
||||
* Resurrected basic Windows-3.0 support.
|
||||
* Foxpro support re-introduced.
|
||||
* Fixes to SVGA/VESA modes. Support for some missing modes added.
|
||||
* Many fixes to gfx remapper. The various annoying video artifacts
|
||||
should now be fixed.
|
||||
* SB16 fixes to support sound on more games.
|
||||
* Mouse copy/paste support is fully re-introduced.
|
||||
* New $_bootdrive option allows to boot from any drive, not only C.
|
||||
* Net: IPX and packet driver are fully functional again.
|
||||
* Lots of build system improvements. We have now the debian build support
|
||||
and "make uninstall".
|
||||
* X fonts are resurrected and provided again.
|
||||
* Many fixes and improvements: DPMI support is now much more reliable,
|
||||
x86 JIT is more reliable, many performance improvements.
|
||||
* Many updates to interrupt routing code.
|
||||
* Resurrected emufs.sys.
|
||||
* Sanitize syntax of lredir2: silly LINUX\FS is no longer needed.
|
||||
|
||||
List of tracker bugs that were closed:
|
||||
ERROR: Drive C not defined can't boot! with clean installation #232
|
||||
How to use vbootfloppy now? #235
|
||||
It would be great to have.deb packages for Ubuntu/Debian! #233
|
||||
jit: performance regression #239
|
||||
Direct VGA regression #222
|
||||
fdisk and mkfatimage16 #244
|
||||
Radeon on Ubuntu 14.04 (+16.04 HWE stack) doesn't work in SDL mode #248
|
||||
OpenDOS 7.02 causes crash when *not* ran from a harddisk image #250
|
||||
Strange compiler messages on 32 bit #253
|
||||
Underscore keypress is ignored in terminal mode #256
|
||||
Creative SB16 driver installer (for Windows 3.1) hangs at SB16 detection #259
|
||||
RFC: The flag position with floppy and harddrive directives in dosemu.conf is inconsistent #263
|
||||
SciTech Display Doctor 5.3a crashes DOSEMU #264
|
||||
dosemu crashes immedately after startup with MS-DOS 3.3 #49
|
||||
Mortal Kombat 1 & 2 keyboard issue #277
|
||||
SDL: copy/paste from dosemu window with mouse #271
|
||||
x86_64 builds failing on Ubuntu Yakkety and Zesty #262
|
||||
console switching is unreliable #285
|
||||
dos prompt in win31 under console #25
|
||||
plainvga does not restore text #286
|
||||
windows: krnl286 doesn't work #287
|
||||
Idle CPU usage anomaly #211
|
||||
Compile error in lexer.l for yywrap #288
|
||||
Regression: terminal mode #291
|
||||
mouse in grab mode broken #293
|
||||
DPMI is broken on 32bit #294
|
||||
Typo in vgaemu_modelist.h for VBE mode 1280x1024x16 #295
|
||||
VM86 not available on 32bit #297
|
||||
windows-3.0 doesn't work #225
|
||||
Speedy does not have sound #103
|
||||
Soft links and contents of ~/.dosemu being overwritten #289
|
||||
Unable to boot #305
|
||||
goblins3 gfx and audio problems #304
|
||||
Foxpro hangs quickly #309
|
||||
Windows 3.1 installer does not work #97
|
||||
Norton utilities v8 english causes dosemu crash #311
|
||||
UMB not working anymore under FreeDOS #315
|
||||
Mouse support for Foxpro in 132 column mode #319
|
||||
mouse paste broken #320
|
||||
All DOS commands stopped working #318
|
||||
erratic mouse behaviour after mode switches #314
|
||||
dosemu2 64bit crash on vlm #317
|
||||
MS-DOS 7.00 / 7.10 unable to format floppy disk #276
|
||||
Can't run make due to git path issue #324
|
||||
$_X_font="vga11x19" doesn't work #323
|
||||
make: git-rev.sh Bad substitution #326
|
||||
Enhance unix command to set to current DOS folder #328
|
||||
SDL mouse cursor not hidden #331
|
||||
Graphic artefacts in PC/GEOS with a lot of VESA modes #301
|
||||
Add uninstall target #334
|
||||
Request: ctl-z functionality? #337
|
||||
FD tarball path specification #341
|
||||
dosemu -S not ended after exitemu #343
|
||||
undefined symbol: XLockDisplay #342
|
||||
Dosemu failing to start #344
|
||||
Dosemu failing to start in SDL mode #345
|
||||
X: cursor shape changes by Ctrl-Alt-k #349
|
||||
'dosemu -t' crashed on screen tmux #351
|
||||
mouse problems with Master of Orion 2 #354
|
||||
Serial port initialization appears to be slow with high CPU usage #348
|
||||
Crash in Fedora 25 #358
|
||||
Windows 3.1 installation crashes on Fedora 25 #359
|
||||
in terminal or SDL mode isn't possible copy|paste text on text screen #361
|
||||
Problem with git-rev.sh and old Git versions (Ubuntu 14.04) #356
|
||||
Wrong dosemu fonts #364
|
||||
dune locks up at intro #370
|
||||
sound in quake lags #369
|
||||
lredir2 -d c: changes directory listing #362
|
||||
win31 installer sometimes crashes at the end #372
|
||||
win31 SB16 driver gives a crash #363
|
||||
Unmet build dependencies: docbook-style-dsssl #383
|
||||
Clipper application hangs - ERROR: coopth: unsafe context switch #384
|
||||
Launchpad ppa deb build failiing on Ubuntu 14.04 #387
|
||||
key combos broken under X #391
|
||||
sdl error even with -x #395
|
||||
ERROR: vde_switch failed: sh: 1: vde_switch: not found #396
|
||||
Doom 2 and Rise of the Triad nets about 10 FPS #403
|
||||
DPMI linear allocations broken #385
|
||||
quake2 does not work #404
|
||||
Problems with full screen under X #394
|
||||
fails on ubuntu14.04: cannot load libbfd-2.26.1-system.so #408
|
||||
mouse cursor ghost #407
|
||||
Error finding .git/refs/heads/devel after 'git gc' #411
|
||||
emufs.sys is broken #347
|
||||
put himem.sys in? #413
|
||||
make rpm doesn't work #346
|
||||
jit locks up with -D9+e #409
|
||||
|
||||
Thanks goes to:
|
||||
Andrew Bird for new DOSes support and great fatfs work.
|
||||
@bolle732 for new remappers, VESA fixes and for the chocolate. :)
|
||||
Julius Schwartzenberg for a lot of testing and work on wheel support.
|
||||
Tee-Kiah Chia for work on build improvements
|
||||
|
||||
|
||||
Version dosemu2-2.0pre6
|
||||
=============
|
||||
We have around 500 commits since pre5 with the highlights below:
|
||||
|
||||
* KVM is now enabled by default on 64bit builds. A huge speed-up!
|
||||
* SDL plugin now uses hardware-accelerated texture updates instead
|
||||
of the (slow) drawing surface
|
||||
* virtual modem support is added
|
||||
* serial port fifos now work again (were broken/unsupported in dosemu2
|
||||
but worked in dosemu1)
|
||||
* DPMI context switching is rewritten for speed-up, using a new
|
||||
linux kernel extensions and the code from libtask and libpcl
|
||||
* default DPMI memory size enlarged to 128Mb, which is enough for
|
||||
all known DOS programs
|
||||
* new builtin command system.com is added that runs DOS commands
|
||||
specified via the unix env vars. Similar functionality in unix.com
|
||||
is kept for compatibility.
|
||||
* DOSDRIVE_D var is removed. Use new DOSDRIVE_EXTRA variable.
|
||||
* mouse driver got a huge overhaul for improved robustness in non-grab mode
|
||||
* winos2 mouse extension is implemented for better support of the OS/2
|
||||
mouse driver under windows-3.1
|
||||
* middle mouse button is now supported (was broken)
|
||||
* dosdebug fixes
|
||||
* many fixes to SDL plugin
|
||||
* the home dir is no longer exposed to DOS by default. Use -home if you
|
||||
need this.
|
||||
* added -cdrom option that tries to mount the cdrom and expose it to DOS
|
||||
* $_hdimage option can now embed environment variables
|
||||
* many performance bottlenecks were located and fixed
|
||||
* many fixes and updates
|
||||
|
||||
List of tracker bugs that were closed:
|
||||
checking for stack protector disabled... no #61
|
||||
Signal 11 in dosemu.bin thread in terminal mode under Ubuntu 16.04 #165
|
||||
On first run, have to run dosemu twice #73
|
||||
comma on numpad isn't recognized #171
|
||||
dumb mode is broken when DOS cmd is specified #173
|
||||
re-introduce system.com #174
|
||||
Cleanup $_pcm_hpf in default dosemu.conf #181
|
||||
Installing with DESTDIR set creates bad symlinks #184
|
||||
remove DOSDRIVE_D and drive_z? #177
|
||||
failed lredir redirects / #176
|
||||
cant del symlinked files #180
|
||||
REG macro breaks strict aliasing on i386 #179
|
||||
modemu support #164
|
||||
Compilation error in vgaemu #189
|
||||
use html docs by default #183
|
||||
INT33 mouse support for higher resolutions (800x600, 1024x768)
|
||||
in Windows 3.x (possibly other applications as well) #193
|
||||
Application crash on x32 #130
|
||||
Dosdebug: bpload fails to load command #191
|
||||
Regression: booting from hdimage file fails #203
|
||||
ERROR: mprotect to lfb? #204
|
||||
Use global SDL_Texture (speedup) #205
|
||||
PC/GEOS freezes with VM86, KVM ok #209
|
||||
Wacky Wheels performance/timing regression #169
|
||||
Is it possible to suppress issues like:- #207
|
||||
Mouse range restricted again (was #132) #214
|
||||
Weird interactions switching between fullscreen and windowed mode #213
|
||||
Running an unrecognised command locks up DOSEMU #221
|
||||
SimCity mouse issue with title screen at 640x350x4 #216
|
||||
In 3D Lemmings the mouse cursor always goes to the upper
|
||||
left corner when it enters the window #220
|
||||
|
||||
Known regressions not fixed in this release:
|
||||
windows-3.0 doesn't work #225 (all dosemu2 releases affected)
|
||||
Idle CPU usage anomaly #211 (most dosemu2 releases affected)
|
||||
Windows 3.1 installer does not work #97 (regression since pre5)
|
||||
|
||||
Thanks go to Bart Oldeman and Andrew Bird for their contributions,
|
||||
and to Julius Schwartzenberg and @bolle732 for continuous testing.
|
||||
|
||||
|
||||
Version dosemu2-2.0pre5
|
||||
=============
|
||||
* SDL video backend is now default, which means a GPU-accelerated rendering
|
||||
* lredir command was deprecated, use lredir2 with the new syntax
|
||||
* unix.com syntax was slightly changed
|
||||
* new tool sound.com is added to change sound and MIDI parameters at run-time
|
||||
* LPT2 is now pre-configured to print to PDF files
|
||||
* Added preliminary support for old MS-DOSes (>=3.3) and some DR-DOSes
|
||||
* many improvements to dosdebug
|
||||
* use logarithmic volume scale for sound
|
||||
* Preliminary KVM support - a very fast execution on 64bit machines.
|
||||
Should be manually enabled in config for now.
|
||||
* Many regressions fixed
|
||||
* Added valgrind support, which allowed to find many obscure bugs
|
||||
* Work-arounds to support the newer fluidsynth for MIDI
|
||||
* More versions of libao are supported for sound (each having its own bugs).
|
||||
This is good when SDL2 is unavailable.
|
||||
* munt support for mt32 (you need to download Roland ROMs yourself)
|
||||
* built-in backtracer is added for a better crash logs.
|
||||
Used if gdb is not installed.
|
||||
* clang is now supported to compile dosemu2
|
||||
|
||||
List of tracker bugs that were closed:
|
||||
improve clang support [#160]
|
||||
DR-DOS 7.02 doesn't boot (7.03 works, 7.02 doesn't) [#151]
|
||||
broken on large terminals [#153]
|
||||
Speedy does not have sound [#103]
|
||||
windows doesnt work with vm86sim [#146]
|
||||
Textmode --- ERROR: SMALLOC: Out Of Memory on alloc [#143]
|
||||
cursor stuck top left. in textmode dosemu -t [#144]
|
||||
Current master does not compile (‘in_indirect_dpmi_transfer’ undeclared) [#138]
|
||||
Mouse range restricted [#132]
|
||||
trying dosemu2 with svgalib + i915 [#137]
|
||||
Dosdebug bpint / g results in strange disassembly / location [#136 again]
|
||||
Dosdebug unintended initial stop [#135]
|
||||
init.c:375:38: error: macro "__S" passed 2 arguments, but takes just 1 [#111]
|
||||
enable fixed aspect [#5]
|
||||
Trying to add support for booting Enhanced DR_DOS [#88]
|
||||
screamer crash under console [#28]
|
||||
Where to document config options [#82]
|
||||
|
||||
Contributors:
|
||||
Stas Sergeev: see log :)
|
||||
Bart Oldeman: KVM, cpuemu fixes, vgaemu fixes, regression fixes
|
||||
Andrew Bird: Support for old DOSes, fixes to FAT12
|
70
README.md
Normal file
70
README.md
Normal file
@ -0,0 +1,70 @@
|
||||
# dosemu2
|
||||
|
||||
dosemu2 is an emulator for running DOS programs under linux.
|
||||
It can also serve as a VM to boot various DOSes.
|
||||
|
||||
Binary packages for ubuntu are available here:
|
||||
https://code.launchpad.net/~dosemu2/+archive/ubuntu/ppa
|
||||
|
||||
Binary packages for fedora are here:
|
||||
https://copr.fedorainfracloud.org/coprs/stsp/dosemu2
|
||||
|
||||
Binary packages for OpenSUSE are here:
|
||||
https://download.opensuse.org/repositories/home:/stsp2/openSUSE_Tumbleweed
|
||||
|
||||
Please send bug reports to
|
||||
https://github.com/dosemu2/dosemu2/issues
|
||||
|
||||
## Running
|
||||
|
||||
Just type
|
||||
```
|
||||
dosemu
|
||||
```
|
||||
to run an emulator.
|
||||
|
||||
Use
|
||||
```
|
||||
dosemu -E <dos_cmd>
|
||||
```
|
||||
to run `<dos_cmd>` and exit (add `-T` to not exit).
|
||||
|
||||
Use
|
||||
```
|
||||
dosemu -K <unix_dir> -E <dos_cmd>
|
||||
```
|
||||
or
|
||||
```
|
||||
dosemu <unix_full_path> -- <dos_prog_args>
|
||||
```
|
||||
to run DOS programs from unix directory.
|
||||
|
||||
If you want to run the DOS program from a DOS directory, use this syntax:
|
||||
```
|
||||
dosemu -K :C:\\games\\carma -E carma.exe
|
||||
```
|
||||
This will run `carma.exe` from `c:\games\carma`. Note the leading colon
|
||||
after `-K`: it means that the DOS path, rather than unix path, is specified.
|
||||
You can actually specify both paths:
|
||||
```
|
||||
dosemu -K ~/dosgames:carma -E carma.exe
|
||||
```
|
||||
This creates the DOS drive for `~/dosgames`, then chdirs to `carma` and
|
||||
runs `carma.exe`.
|
||||
|
||||
## Configuring
|
||||
|
||||
Per-user configuration file can be created as `~/.dosemu/.dosemurc`.
|
||||
Add your custom settings there.
|
||||
Look into the global configuration file `/etc/dosemu/dosemu.conf` for
|
||||
existing settings, their descriptions and default values, and modify
|
||||
the local config accordingly. `$_hdimage` is probably the first setting
|
||||
to look into, as it configures the host fs access.
|
||||
|
||||
Create `c:\userhook.sys` and/or `c:\userhook.bat` files to customize your
|
||||
boot sequence. userhook.sys can contain the `config.sys` directives and
|
||||
`userhook.bat` can contain custom boot commands.
|
||||
|
||||
Drive `C:` is usually located at `~/.dosemu/drive_c`. You can add DOS
|
||||
programs there. Or you can run `dosemu -d <unix_dir>` to mount the
|
||||
`<unix_dir>` as a new DOS drive.
|
77
THANKS
Normal file
77
THANKS
Normal file
@ -0,0 +1,77 @@
|
||||
dosemu2 credits:
|
||||
|
||||
Main contributors (with their github names):
|
||||
Stas Sergeev @stsp
|
||||
Bart Oldeman @bartoldeman
|
||||
Andrew Bird @andrewbird
|
||||
C. Masloch @ecm-pushbx
|
||||
Ryan C. Underwood @runderwo
|
||||
Stuart Axon @stuaxo
|
||||
|
||||
Special thanks for making dosemu2 feasible
|
||||
by sponsoring the initial development:
|
||||
Caylan Van Larson <i@caylan.net>
|
||||
Hans-Christian Koch <hc.koch@scheerkoch.de>
|
||||
|
||||
Many thanks to our Patreon patrons:
|
||||
Jeffrey H. Ingber <jharrison02@earthlink.net> (@jharrison022)
|
||||
C. Masloch <pushbx@ulukai.org> (@ecm-pushbx)
|
||||
doctorwhoguy@gmail.com (@PaddyMac)
|
||||
|
||||
Thanks for the good testing and bugreporting:
|
||||
Julius Schwartzenberg (@jschwartzenberg)
|
||||
|
||||
A big thanks goes to Linus Torvalds and Andy Lutomirski,
|
||||
who helped in solving many dosemu2-specific problems in
|
||||
Linux kernel. Yes, Linus personally mentored these efforts
|
||||
and made sure dosemu2 has the good support both in the
|
||||
kernel itself, and in the developers community.
|
||||
|
||||
And of course, thanks goes also to all our users!
|
||||
If you like this project, you are always welcome to contribute.
|
||||
|
||||
===================================================================
|
||||
|
||||
dosemu1 credits:
|
||||
|
||||
This release could not have gotten out the door without the work of
|
||||
our relentless development team, friends and contributors, consisting of
|
||||
at least (sorted by first name):
|
||||
|
||||
Aaron Adam J. Richter Alan Cox
|
||||
Alberto Vignani Alessandro Rubini Alexander R.Adams
|
||||
Alexander V. Lukyanov Alistair MacDonald Amit Margalt
|
||||
Andrew.Tridgell Andries Andy Shevchenko
|
||||
Antonio Larrosa Arjan Filius Arne de Bruijn
|
||||
Bart Oldeman Ben Davis Bernd Paysan
|
||||
Bernd Schueler Christoph Niemann Clarence Dang
|
||||
Corey Sweeney Daniel R. Barrlow David Brauman
|
||||
David Etherton David Hansen David Hindman
|
||||
David Hodges David Pinson Derek Fawcus
|
||||
DJ Delorie Dong Liu Egbert Eich
|
||||
Emmanuel Jeandel Eric W. Biederman Erik Mouw
|
||||
Florian La Roche George K.Bronnikov Grant R. Guenther
|
||||
Grigory Batalov Hans Lermen Herbert Xu
|
||||
James Maclean Japheth Jason E Gorden
|
||||
Jochen Hein John Davis John Kohl
|
||||
Jon Tombs Josef Pavlik Julia A. Case
|
||||
Kang-Jin Lee Karl Kiniger Karl-Max Wagner
|
||||
Kenneth Corbin Kevin P Lawton Lam Lai Yin, Savio
|
||||
Larry Stephan Lawrence K Mao Linus Torvalds
|
||||
Lutz Molgedey Manfred Scherer Marcus Better
|
||||
Mark Rejhon Marty Leisner Matthew Grant
|
||||
Maxim Ruchko Michael E. Deisher Michael Karcher
|
||||
Oleg V. Zhirov Pablo Saratxaga Pasi Eronen
|
||||
Pat Villani Rainer Zimmermann Reinhard Karcher
|
||||
Rob Clark Robert de Bath Rod May
|
||||
Ronnie Rutger Nijlunsing Scott Buchholz
|
||||
Sergey Suleymanov Stas Sergeev Steffen Winterfeld
|
||||
Theodore T'so Tim Van der Linden Ulrich Weigand
|
||||
Uwe Bonnes Urban Widmark Vinod G Kulkarni
|
||||
Wayne P Meissner Witold Filipczyk Wojtek Pilorz
|
||||
|
||||
... and others too important to mention.
|
||||
|
||||
Of course, all those people involved in the FreeDOS development should be
|
||||
mentioned here too, but before I fail to mention some of them, I better point
|
||||
to http://www.freedos.org ;-)
|
11
TODO
Normal file
11
TODO
Normal file
@ -0,0 +1,11 @@
|
||||
TODO items for the next release:
|
||||
|
||||
- resurrect irqpassing on x86-64
|
||||
Unlikely to happen before 2.0 release
|
||||
|
||||
- implement parport support via ppdev (steal from wine)
|
||||
Unlikely to happen before 2.0 release
|
||||
|
||||
- look into directfb support
|
||||
|
||||
- look into gstreamer support
|
19
autogen.sh
Executable file
19
autogen.sh
Executable file
@ -0,0 +1,19 @@
|
||||
#!/bin/sh
|
||||
|
||||
DIR=$(dirname $0 | xargs realpath)
|
||||
echo "Generating toplevel configure script in $DIR..."
|
||||
|
||||
check_scr() {
|
||||
[ -f $DIR/$1 ] || cp $DIR/scripts/$1 $DIR/$1
|
||||
}
|
||||
|
||||
rm -f aclocal.m4
|
||||
if ! autoreconf -v -I m4 --install --force $DIR; then
|
||||
echo "Failure!"
|
||||
exit 1
|
||||
fi
|
||||
check_scr config.sub
|
||||
check_scr config.guess
|
||||
check_scr install-sh
|
||||
echo
|
||||
echo "Done, now run $DIR/default-configure"
|
63
ci_build.sh
Executable file
63
ci_build.sh
Executable file
@ -0,0 +1,63 @@
|
||||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
LOCALFDPP="localfdpp.git"
|
||||
LOCALFDPPINST="$(pwd)/localfdpp"
|
||||
FDPPBRANCH=""
|
||||
|
||||
test -d ${LOCALFDPP} && exit 1
|
||||
|
||||
if [ "${TRAVIS}" = "true" ] ; then
|
||||
echo "Travis seems to have some old version of clang in its local directory"
|
||||
PATH=$(echo ${PATH} | sed 's,:/usr/local/clang-7.0.0/bin,,g')
|
||||
export PATH
|
||||
echo PATH is ${PATH}
|
||||
fi
|
||||
|
||||
git clone --depth 1 --no-single-branch https://github.com/dosemu2/fdpp.git ${LOCALFDPP}
|
||||
(
|
||||
cd ${LOCALFDPP} || exit 2
|
||||
[ -z "$FDPPBRANCH" ] || git checkout "$FDPPBRANCH"
|
||||
git config user.email "cibuild@example.com"
|
||||
git config user.name "CI build"
|
||||
git tag tmp -m "make git-describe happy"
|
||||
|
||||
echo "DEBUG_MODE = 1" > local.mak
|
||||
echo "EXTRA_DEBUG = 1" >> local.mak
|
||||
echo "USE_UBSAN = 1" >> local.mak
|
||||
|
||||
# Install the build dependancies based FDPP's debian/control file
|
||||
sudo add-apt-repository ppa:stsp-0/nasm-segelf
|
||||
sudo add-apt-repository ppa:stsp-0/thunk-gen
|
||||
sudo apt update -q
|
||||
mk-build-deps --install --root-cmd sudo
|
||||
|
||||
# Seems to miss this, perhaps the optional dependency confuses things
|
||||
if [ "${TRAVIS}" = "true" ] ; then
|
||||
sudo apt install binutils
|
||||
fi
|
||||
|
||||
make
|
||||
sudo make install
|
||||
)
|
||||
|
||||
# Install the build dependancies based Dosemu's debian/control file
|
||||
sudo add-apt-repository -y ppa:dosemu2/ppa
|
||||
mk-build-deps --install --root-cmd sudo
|
||||
|
||||
if [ "${SUBTYPE}" = "asan" ] ; then
|
||||
sed -i 's/asan off/asan on/g' compiletime-settings.devel
|
||||
fi
|
||||
CC=clang ./default-configure -d
|
||||
make
|
||||
|
||||
# Install the FAT mount helper
|
||||
sudo cp test/dosemu_fat_mount.sh /bin/.
|
||||
sudo chown root.root /bin/dosemu_fat_mount.sh
|
||||
sudo chmod 755 /bin/dosemu_fat_mount.sh
|
||||
|
||||
# Install the TAP helper
|
||||
sudo cp test/dosemu_tap_interface.sh /bin/.
|
||||
sudo chown root.root /bin/dosemu_tap_interface.sh
|
||||
sudo chmod 755 /bin/dosemu_tap_interface.sh
|
8
ci_prereq.sh
Executable file
8
ci_prereq.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
sudo apt-get update
|
||||
sudo apt install -y \
|
||||
devscripts \
|
||||
equivs \
|
||||
git \
|
||||
bash
|
79
ci_test.sh
Executable file
79
ci_test.sh
Executable file
@ -0,0 +1,79 @@
|
||||
#!/bin/bash
|
||||
|
||||
. ./ci_test_prereq.sh
|
||||
|
||||
if [ "${TRAVIS}" = "true" ] ; then
|
||||
export CI="true"
|
||||
export CI_BRANCH="${TRAVIS_BRANCH}"
|
||||
if [ "${TRAVIS_EVENT_TYPE}" = "cron" ] ; then
|
||||
export RUNTYPE="full"
|
||||
else
|
||||
export RUNTYPE="simple"
|
||||
fi
|
||||
|
||||
elif [ "${GITHUB_ACTIONS}" = "true" ] ; then
|
||||
# CI is already set
|
||||
export CI_BRANCH="$(echo ${GITHUB_REF} | cut -d/ -f3)"
|
||||
if [ "${GITHUB_EVENT_NAME}" = "push" ] && [ "${GITHUB_REPOSITORY_OWNER}" = "dosemu2" ] && [ "${CI_BRANCH}" = "devel" ] ; then
|
||||
export RUNTYPE="simple"
|
||||
fi
|
||||
fi
|
||||
|
||||
TBINS="test-binaries"
|
||||
if [ "${CI}" = "true" ] ; then
|
||||
[ -d "${HOME}"/cache ] || mkdir "${HOME}"/cache
|
||||
[ -h "${TBINS}" ] || ln -s "${HOME}"/cache "${TBINS}"
|
||||
else
|
||||
[ -d "${TBINS}"] || mkdir "${TBINS}"
|
||||
fi
|
||||
python3 test/test_dos.py --get-test-binaries
|
||||
|
||||
if [ -f /dev/kvm ] ; then
|
||||
sudo setfacl -m u:${USER}:rw /dev/kvm
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "====================================================="
|
||||
echo "= Tests run on various flavours of DOS ="
|
||||
echo "====================================================="
|
||||
# all DOS flavours, all tests
|
||||
# python3 test/test_dos.py
|
||||
# single DOS example
|
||||
# python3 test/test_dos.py FRDOS120TestCase
|
||||
# single test example
|
||||
# python3 test/test_dos.py FRDOS120TestCase.test_mfs_fcb_rename_wild_1
|
||||
|
||||
if [ "${TRAVIS}" = "true" ] ; then
|
||||
ARGS="--require-attr=cputest"
|
||||
else
|
||||
ARGS=""
|
||||
fi
|
||||
|
||||
case "${RUNTYPE}" in
|
||||
"full")
|
||||
ARGS="${ARGS} PPDOSGITTestCase MSDOS622TestCase FRDOS130TestCase DRDOS701TestCase"
|
||||
;;
|
||||
"normal")
|
||||
ARGS="${ARGS} PPDOSGITTestCase MSDOS622TestCase"
|
||||
export SKIP_UNCERTAIN=1
|
||||
;;
|
||||
"simple")
|
||||
ARGS="${ARGS} PPDOSGITTestCase"
|
||||
export SKIP_EXPENSIVE=1
|
||||
export SKIP_UNCERTAIN=1
|
||||
;;
|
||||
esac
|
||||
|
||||
# CC is set on Travis and can confuse compilation during tests
|
||||
unset CC
|
||||
|
||||
# Make cpu tests here so that we see any failures
|
||||
make -C test/cpu clean all
|
||||
|
||||
python3 test/test_dos.py ${ARGS}
|
||||
|
||||
for i in test_*.*.*.log ; do
|
||||
test -f $i || exit 0
|
||||
done
|
||||
|
||||
exit 1
|
27
ci_test_prereq.sh
Executable file
27
ci_test_prereq.sh
Executable file
@ -0,0 +1,27 @@
|
||||
#!/bin/sh
|
||||
|
||||
sudo add-apt-repository -y ppa:jwt27/djgpp-toolchain
|
||||
sudo add-apt-repository -y ppa:tkchia/build-ia16
|
||||
|
||||
sudo apt update -q
|
||||
|
||||
sudo apt install -y \
|
||||
acl \
|
||||
comcom64 \
|
||||
nasm \
|
||||
python3-cpuinfo \
|
||||
python3-pexpect \
|
||||
mtools \
|
||||
gcc-djgpp \
|
||||
djgpp-dev \
|
||||
qemu-system-common \
|
||||
gdb \
|
||||
valgrind \
|
||||
gcc-ia16-elf \
|
||||
libi86-ia16-elf \
|
||||
libi86-testsuite-ia16-elf \
|
||||
gcc-multilib \
|
||||
dos2unix \
|
||||
bridge-utils \
|
||||
libvirt-daemon \
|
||||
libvirt-daemon-system
|
4
compiletime-settings
Normal file
4
compiletime-settings
Normal file
@ -0,0 +1,4 @@
|
||||
config {
|
||||
sysconfdir /etc
|
||||
fdtarball dosemu-freedos-1.0-bin.tgz
|
||||
}
|
12
compiletime-settings.devel
Normal file
12
compiletime-settings.devel
Normal file
@ -0,0 +1,12 @@
|
||||
config {
|
||||
experimental on
|
||||
debug on
|
||||
asan off
|
||||
lsan off
|
||||
tsan off
|
||||
ubsan on
|
||||
optimize off
|
||||
system-wa off
|
||||
sysconfdir /etc
|
||||
fdtarball dosemu-freedos-1.0-bin.tgz
|
||||
}
|
142
compiletime-settings.help
Normal file
142
compiletime-settings.help
Normal file
@ -0,0 +1,142 @@
|
||||
This file describes the compiletime tunable settings for DOSEMU
|
||||
|
||||
You have either to edit the ./compiletime-settings file or use the
|
||||
the setup-dosemu tool. If you edit manually, you _must_ not remove any
|
||||
of the lines, instead just change 'off' to 'on' and vice versa.
|
||||
|
||||
The options have the following meaning:
|
||||
|
||||
experimental "enable experimental stuff"
|
||||
|
||||
Global switch to prevent experimental stuff from compile.
|
||||
There are experimental parts in the source, that may do harm to
|
||||
your system if you use them without care / knowledge.
|
||||
In order to protect you, those are normally disabled
|
||||
in ./configure. Even if you enable discrete switches
|
||||
in ./compiletime-settings, those will not have effect
|
||||
without the global switch also set.
|
||||
|
||||
sbemu "SB Emulation"
|
||||
|
||||
Code to support sound via DOSEMU. The sound code emulates
|
||||
a simple SoundBlaster on any sound card supported by the
|
||||
Linux Kernel. Hence, your DOS-Box sees a SoundBlaster
|
||||
even if you don't have it. Keep that in mind
|
||||
when you setup your DOSish software.
|
||||
|
||||
mitshm "Use MIT Shared Memory extensions under X"
|
||||
|
||||
You normal would like to have this activated, though you
|
||||
will not profit from it, when doing remote X.
|
||||
If you encounter problems with your X-server, try to switch
|
||||
this off.
|
||||
|
||||
vidmode "Use video mode extensions under X"
|
||||
|
||||
You normal would like to have this activated, if you want
|
||||
X to change resolution in fullscreen-mode (Ctrl-Alt-F),
|
||||
where applicable.
|
||||
|
||||
x "Use X-Windows"
|
||||
|
||||
With this set on, you enable the X-windows support of DOSEMU.
|
||||
Though, the compiled binary will run without X too.
|
||||
If you don't have The X development packages install or
|
||||
if you won't use it and want a smaller DOSEMU binary,
|
||||
then turn this option off.
|
||||
|
||||
net "enable Linux net code"
|
||||
|
||||
There is network related code in DOSEMU such as IPX support,
|
||||
a builtin packet driver, e.t.c. This will be compiled in
|
||||
if you set this switch. You may compile with this option
|
||||
and later disable it in the runtime configuration.
|
||||
Normally you will let it enabled.
|
||||
|
||||
|
||||
debug "compile with debug info"
|
||||
|
||||
This uses the '-g' switch for GCC, hence you can use GDB
|
||||
to debug DOSEMU.
|
||||
|
||||
linkstatic "make static binaries"
|
||||
|
||||
With this switch on, a statically linked binary is generated
|
||||
The size isn't that big (about 30% bigger then a dynamically
|
||||
linked one) and DOSEMU will run faster and is more portable
|
||||
between systems (it then depends only on the kernel
|
||||
version, no (g)libc incompatibilities). The official DOSEMU
|
||||
binary distribution always is statically linked.
|
||||
|
||||
cpuemu "EXPERIMENTAL, enable CPU emulator" cpuemu
|
||||
|
||||
This is in _no_ case ready for production, this switch is
|
||||
here just for the developers ;-)
|
||||
|
||||
aspi "compile with ASPI support" aspi
|
||||
|
||||
This enables the dosemu builtin ASPI driver, which also
|
||||
need the DOS driver ./commands/aspi.sys in config.sys.
|
||||
You then may be able to use DOS software that accesses
|
||||
SCSI devices such as CD-burners, Scanners e.t.c.
|
||||
However, not all SCSI devices available in Linux are
|
||||
offered to the driver, because this is inherently dangerous.
|
||||
Instead you define in /etc/dosemu.conf which 'sg' device
|
||||
you want give to dosemu and you also specify the device
|
||||
type which the ASPI driver then check to avoid you accessing
|
||||
a mounted disk.
|
||||
|
||||
svgalib "compile with svgalib support" svgalib
|
||||
|
||||
This enables support for using svgalib >= version 1.4.2
|
||||
for switching between consoles when running graphics
|
||||
on console _and_ if you configured 'svgalib' as 'graphic chip'
|
||||
in /etc/dosemu.conf.
|
||||
NOTE: this doesn't help for all svgalib supported graphic
|
||||
cards and your console may freeze anyway. Currently reported
|
||||
as 'working' are riva TNT 128 and sis.
|
||||
|
||||
gpm "compile with gpm support" gpm
|
||||
|
||||
This enables support for using GPM, the mouse server for the
|
||||
Linux console; it is only used when you run DOSEMU on the
|
||||
Linux console without graphics (unprivileged).
|
||||
|
||||
plugin_kbd_unicode "Use new keyboard code" plugin_kbd_unicode
|
||||
|
||||
plugin_extra_charsets "Use extra character sets" plugin_extra_charsets
|
||||
|
||||
plugin_term "Use new terminal plugin"
|
||||
|
||||
plugin_translate "Use Unicode translation plugin" plugin_translate
|
||||
|
||||
plugin_demo "Use demo plugin" plugin_demo
|
||||
|
||||
target_bits "Target bits" target_bits
|
||||
|
||||
Set to auto for native compilation, to 32 to force compilation
|
||||
of 32-bit DOSEMU on an x86-64 system, and to 64 to force
|
||||
64-bit compilation.
|
||||
|
||||
target_cpu "Target cpu" target_cpu
|
||||
|
||||
prefix "Prefix for DOSEMU system-wide directory structure" prefix
|
||||
|
||||
bindir "Directory for DOSEMU binaries" bindir
|
||||
|
||||
sysconfdir "Directory for system-wide configuration files" sysconfdir
|
||||
|
||||
datadir "Directory for DOSEMU data" datadir
|
||||
|
||||
mandir "Directory for DOSEMU man pages" mandir
|
||||
|
||||
docdir "Directory for DOSEMU documentation" docdir
|
||||
|
||||
syshdimagedir "Default directory for images and boot directories" syshdimagedir
|
||||
|
||||
x11fontdir "Directory for X fonts" x11fontdir
|
||||
|
||||
fdtarball "Name of the FreeDOS tarball" fdtarball
|
||||
This is normally named dosemu-freedos-bin.tgz, to be obtained from www.dosemu.org
|
||||
Use "none" if you don't want to use FreeDOS.
|
||||
|
792
configure.ac
Normal file
792
configure.ac
Normal file
@ -0,0 +1,792 @@
|
||||
dnl Process this file with autoconf to produce a configure script.
|
||||
AC_INIT([dosemu2],m4_esyscmd(./getversion -s | tr -d '\n'),[https://github.com/dosemu2/dosemu2/issues],[dosemu2])
|
||||
dnl AM_SILENT_RULES and AM_DEP_TRACK should not be used explicitly,
|
||||
dnl AM_INIT_AUTOMAKE includes them
|
||||
AM_SILENT_RULES
|
||||
AM_DEP_TRACK
|
||||
AM_MAINTAINER_MODE
|
||||
AC_CONFIG_SRCDIR([src/include/emu.h])
|
||||
AC_PREREQ([2.64])
|
||||
|
||||
AC_CONFIG_HEADERS([src/include/config.hh])
|
||||
|
||||
dnl Checks for programs.
|
||||
: ${CFLAGS=""}
|
||||
AC_PROG_CC
|
||||
#AC_PROG_CC_C11([AC_DEFINE(HAVE_STD_C11)])
|
||||
AC_DEFINE(HAVE_STD_C11)
|
||||
AC_PROG_CPP
|
||||
AX_PROG_CC_FOR_BUILD
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
AC_MSG_CHECKING([for $CC actually being clang])
|
||||
if $CC -v 2>&1|grep 'clang' >/dev/null; then
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_MSG_CHECKING([for clang >= 3.7])
|
||||
clang_ver=`$CC -v 2>&1 | grep version | sed 's/.*version //' | cut -d " " -f 1`
|
||||
clang_maj=`echo $clang_ver | cut -d "." -f 1`
|
||||
clang_mid=`echo $clang_ver | cut -d "." -f 2`
|
||||
if test $clang_maj -ge 3 -a $clang_mid -ge 7 -o $clang_maj -ge 4 ; then
|
||||
AC_MSG_RESULT([yes, $clang_ver])
|
||||
else
|
||||
AC_MSG_RESULT([no, $clang_ver])
|
||||
AC_MSG_ERROR([Need clang-3.7 or newer, or use gcc instead])
|
||||
fi
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -Wno-microsoft -Wno-incompatible-pointer-types \
|
||||
-Wno-address-of-packed-member"
|
||||
LDFLAGS="$LDFLAGS -Wno-unused-command-line-argument"
|
||||
use_clang="yes"
|
||||
|
||||
AS="$CC"
|
||||
clang_as_as=1
|
||||
ASFLAGS="-xassembler -c -"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
use_clang="no"
|
||||
|
||||
AC_MSG_CHECKING([for $CC actually being c++])
|
||||
if $CC -v 2>&1 | grep "g++" | grep "COLLECT_GCC" >/dev/null; then
|
||||
AC_MSG_RESULT([yes, using -fpermissive])
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fpermissive -Wno-narrowing"
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fplan9-extensions"
|
||||
fi
|
||||
fi
|
||||
|
||||
CONFIG_HOST=`uname -s`
|
||||
AC_SUBST(CONFIG_HOST)
|
||||
machine=`$CC -dumpmachine | cut -d- -f1 | sed 's/i.86/i386/'`
|
||||
|
||||
if test -z "$AS"; then
|
||||
AC_PATH_PROG([AS], [as])
|
||||
if test -z "$AS"; then
|
||||
AC_PATH_PROG([AS], [clang])
|
||||
if test -z "$AS"; then
|
||||
AC_MSG_ERROR(as not found)
|
||||
fi
|
||||
AC_MSG_NOTICE(Using clang as as...)
|
||||
clang_as_as=1
|
||||
ASFLAGS="-xassembler -c -"
|
||||
fi
|
||||
fi
|
||||
AC_PATH_PROGS([XAS], [i686-linux-gnu-as i386-elf-as])
|
||||
if test -z "$XAS"; then
|
||||
if test "$CONFIG_HOST" = "Darwin"; then
|
||||
AC_MSG_ERROR([Please install i386-elf-binutils from https://github.com/nativeos/homebrew-i386-elf-toolchain])
|
||||
fi
|
||||
AC_PATH_PROG([XAS], [x86_64-linux-gnu-as])
|
||||
if test -z "$XAS"; then
|
||||
if test "$machine" = "i386" -o "$machine" = "x86_64"; then
|
||||
XAS="$AS"
|
||||
if test "$clang_as_as" = "1"; then
|
||||
XASFLAGS="$ASFLAGS -m32"
|
||||
else
|
||||
XASFLAGS="$ASFLAGS --32"
|
||||
fi
|
||||
else
|
||||
AC_MSG_ERROR([cross-assembler not found, please install binutils-i686-linux-gnu])
|
||||
fi
|
||||
else
|
||||
XASFLAGS="$ASFLAGS --32"
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_PATH_PROGS([LD], [ld ld.lld])
|
||||
if test -z "$LD"; then
|
||||
AC_MSG_ERROR(ld not found)
|
||||
fi
|
||||
AC_PATH_PROGS([AS_LD], [i686-linux-gnu-ld i386-elf-ld x86_64-linux-gnu-ld ld.lld ld])
|
||||
if test -z "$AS_LD"; then
|
||||
AS_LD="$LD"
|
||||
fi
|
||||
|
||||
AC_PATH_PROG([OBJCOPY], [objcopy])
|
||||
O_VER=`$OBJCOPY -V | head -n 1 | grep "GNU objcopy"`
|
||||
if test -z "$O_VER"; then
|
||||
AC_MSG_WARN([rejecting BSD objcopy])
|
||||
OBJCOPY=""
|
||||
fi
|
||||
if test -z "$OBJCOPY"; then
|
||||
AC_PATH_PROG([LOBJCOPY], [llvm-objcopy], [], [$PATH${PATH_SEPARATOR}/usr/local/opt/llvm/bin])
|
||||
if test -z "$LOBJCOPY"; then
|
||||
AC_MSG_ERROR(objcopy not found)
|
||||
fi
|
||||
OBJCOPY="$LOBJCOPY"
|
||||
fi
|
||||
|
||||
AC_PATH_PROGS([XOBJCOPY], [i686-linux-gnu-objcopy x86_64-linux-gnu-objcopy objcopy])
|
||||
if test -z "$XOBJCOPY"; then
|
||||
XOBJCOPY="$OBJCOPY"
|
||||
fi
|
||||
AC_SUBST(AS)
|
||||
AC_SUBST(XAS)
|
||||
AC_SUBST(AS_LD)
|
||||
AC_SUBST(XOBJCOPY)
|
||||
|
||||
AC_ARG_WITH(target-bits-32, [AS_HELP_STRING([--with-target-bits-32],
|
||||
[build for 32bit target (multilib in case of x86_64 host)])],
|
||||
CPPFLAGS="$CPPFLAGS -m32"
|
||||
LDFLAGS="$LDFLAGS -m32"
|
||||
ASFLAGS="--32"
|
||||
with_target_bits="32"
|
||||
)
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_LEX([noyywrap])
|
||||
if test -z "$LEX"; then
|
||||
AC_MSG_WARN(Your system doesn't seem to have lex or flex available.)
|
||||
AC_MSG_ERROR(Install lex or flex and retry.)
|
||||
fi
|
||||
|
||||
AC_PROG_LN_S
|
||||
AC_MSG_CHECKING([if $LN_S is a GNU ln])
|
||||
if $LN_S --help >/dev/null 2>&1; then
|
||||
AC_MSG_RESULT([yes, using -T])
|
||||
LN_SFT="$LN_S -f -T"
|
||||
else
|
||||
AC_MSG_RESULT([no, using -F])
|
||||
LN_SFT="$LN_S -f -F"
|
||||
fi
|
||||
AC_SUBST(LN_SFT)
|
||||
|
||||
AC_CHECK_PROGS([MAKE], [gmake make])
|
||||
if test -z "$MAKE"; then
|
||||
AC_MSG_ERROR(You don't have make installed)
|
||||
fi
|
||||
# export MAKE to run from scripts
|
||||
export MAKE="$MAKE"
|
||||
AC_CHECK_PROGS([REALPATH], [realpath])
|
||||
if test -z "$REALPATH"; then
|
||||
AC_MSG_ERROR(You don't have realpath installed)
|
||||
fi
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_YACC
|
||||
dnl The bison problem
|
||||
if test -z "`echo $YACC | grep bison`" ; then
|
||||
AC_MSG_WARN( )
|
||||
AC_MSG_WARN(Your system doesn't seem to have bison available.)
|
||||
AC_MSG_ERROR(Install bison and retry.)
|
||||
fi
|
||||
AC_PROG_GREP
|
||||
AC_PROG_EGREP
|
||||
AC_PROG_SED
|
||||
AC_PROG_AWK
|
||||
if test "$ac_cv_prog_AWK" != "gawk" ; then
|
||||
AC_MSG_ERROR(Install gawk and retry.)
|
||||
fi
|
||||
AC_CHECK_PROGS([PKG_CONFIG], [pkg-config])
|
||||
if test -z "$PKG_CONFIG"; then
|
||||
AC_MSG_ERROR(Install pkg-config and retry.)
|
||||
fi
|
||||
|
||||
dnl Checks for libraries.
|
||||
|
||||
dnl Checks for header files.
|
||||
dnl need largefile check here, dont remove, it defines magic macros
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
dnl Checks for library functions.
|
||||
AC_MSG_CHECKING([for static_assert support])
|
||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <assert.h>]], [[
|
||||
static_assert(sizeof(char) == 1, "sizeof doesn't work");
|
||||
]])], [
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE(HAVE_STATIC_ASSERT)
|
||||
], [
|
||||
AC_MSG_RESULT([no])
|
||||
])
|
||||
|
||||
AC_MSG_CHECKING([for assignable stderr])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
#include <stdio.h>
|
||||
int main(void)
|
||||
{
|
||||
stderr = NULL;
|
||||
return 0;
|
||||
}
|
||||
])],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE(HAVE_ASSIGNABLE_STDERR)
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
]
|
||||
)
|
||||
|
||||
AC_MSG_CHECKING([for optreset])
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
#include <unistd.h>
|
||||
int main(void)
|
||||
{
|
||||
optreset = 1;
|
||||
return 0;
|
||||
}
|
||||
])],
|
||||
[
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE(HAVE_OPTRESET)
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([no])
|
||||
]
|
||||
)
|
||||
|
||||
AC_CHECK_LIB(rt, shm_open)
|
||||
dnl below defines HAVE_xxx so needed even if AC_CHECK_LIB() succeeded
|
||||
AC_CHECK_FUNCS([shm_open memfd_create fopencookie sigtimedwait closefrom])
|
||||
AC_CHECK_FUNCS([setxattr], [
|
||||
USE_XATTRS=1
|
||||
AC_SUBST(USE_XATTRS)
|
||||
])
|
||||
AC_CHECK_FUNCS([timerfd_create], [
|
||||
USE_EVTIMER_FD=1
|
||||
AC_SUBST(USE_EVTIMER_FD)
|
||||
], [AC_CHECK_FUNCS([kqueue], [
|
||||
USE_EVTIMER_FD=1
|
||||
AC_SUBST(USE_EVTIMER_FD)
|
||||
])])
|
||||
AC_CHECK_FUNCS([mremap])
|
||||
AC_CHECK_FUNCS([fls])
|
||||
|
||||
AC_CHECK_DECLS([F_OFD_SETLK], [
|
||||
USE_OFD_LOCKS=1
|
||||
AC_SUBST(USE_OFD_LOCKS)
|
||||
],, [[#include <fcntl.h>]]
|
||||
)
|
||||
AC_CHECK_DECLS([MREMAP_MAYMOVE],,, [[#include <sys/mman.h>]])
|
||||
AC_CHECK_DECLS([MADV_POPULATE_WRITE, MADV_COLD],,,
|
||||
[[#include <sys/mman.h>]])
|
||||
|
||||
AC_CHECK_TYPES([__float80],, [
|
||||
if test "$machine" != "i386" -a "$machine" != "x86_64"; then
|
||||
USE_SOFTFLOAT=1
|
||||
AC_SUBST(USE_SOFTFLOAT)
|
||||
fi
|
||||
]
|
||||
)
|
||||
|
||||
AC_CHECK_FUNC(strlcpy,, [
|
||||
PKG_CHECK_MODULES([LIBBSD], [libbsd], [
|
||||
dnl re-check for proper arch (multilib)
|
||||
AC_CHECK_LIB(bsd, strlcpy,, [AC_MSG_ERROR(libbsd not found)])
|
||||
]
|
||||
)])
|
||||
|
||||
dnl Here is where we do our stuff
|
||||
|
||||
AC_ARG_WITH(confdir, [AS_HELP_STRING([--with-confdir=dir],
|
||||
[directory suffix under sysconfdir. default: dosemu])],
|
||||
confdir="$withval", confdir="dosemu")
|
||||
AC_ARG_WITH(x11fontdir, [AS_HELP_STRING([--with-x11fontdir=dir],
|
||||
[directory to install the VGA X11 font. default: ${datadir}/dosemu/Xfonts])],
|
||||
x11fontdir="$withval", x11fontdir="${datadir}/dosemu/Xfonts")
|
||||
AC_ARG_WITH(ttffontdir, [AS_HELP_STRING([--with-ttffontdir=dir],
|
||||
[directory to install the ttf font. default: ${datadir}/fonts/oldschool])],
|
||||
ttffontdir="$withval", ttffontdir="${datadir}/fonts/oldschool")
|
||||
AC_ARG_WITH(fdtarball, [AS_HELP_STRING([--with-fdtarball=file],
|
||||
[path to FreeDOS tarball])],
|
||||
fdtarball="$withval")
|
||||
|
||||
# Hard-code this. It is evaluated at run-time as <binary_dir>../lib/dosemu,
|
||||
# so we do not use libdir here (which can be lib64 or something unrelated)
|
||||
plugindir="\${prefix}/lib/dosemu"
|
||||
|
||||
AC_SUBST(confdir)
|
||||
AC_SUBST(plugindir)
|
||||
AC_SUBST(x11fontdir)
|
||||
AC_SUBST(ttffontdir)
|
||||
AC_SUBST(syshdimagedir)
|
||||
AC_SUBST(fdtarball)
|
||||
|
||||
AC_DEFINE_DIR([SYSCONFDIR], [sysconfdir], [ System config dir ])
|
||||
AC_DEFINE_DIR([CONFSUBDIR], [confdir], [ dosemu-specific config subdir ])
|
||||
AC_DEFINE_DIR([PREFIX], [prefix], [ prefix ])
|
||||
AC_DEFINE_DIR([LIBEXECDIR], [libexecdir], [ Where extra executables are placed to ])
|
||||
AC_DEFINE_DIR([SYSTEM_XFONTS_PATH], [x11fontdir], [ Directory for x11 fonts ])
|
||||
|
||||
DOSEMU_CPPFLAGS="$DOSEMU_CPPFLAGS -imacros config.hh"
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -Wall -Wstrict-prototypes -Wmissing-declarations \
|
||||
-Wnested-externs -fms-extensions -pthread \
|
||||
-Wno-unused-result -Wcast-qual -Wwrite-strings -Wstrict-aliasing=2 -Wundef"
|
||||
AX_CHECK_COMPILE_FLAG([-Waddress-of-packed-member],
|
||||
[DOSEMU_CFLAGS="$DOSEMU_CFLAGS -Wno-address-of-packed-member"],, [-Werror])
|
||||
AX_CHECK_COMPILE_FLAG([-Wstring-plus-int],
|
||||
[DOSEMU_CFLAGS="$DOSEMU_CFLAGS -Wno-string-plus-int"],, [-Werror])
|
||||
DOSEMU_LDFLAGS="-pthread"
|
||||
|
||||
AC_CHECK_LIB(m, pow)
|
||||
|
||||
AC_ARG_ENABLE(dlplugins,
|
||||
AS_HELP_STRING([--disable-dlplugins], [do NOT use dynamically loaded plugins]))
|
||||
if test "$enable_dlplugins" != "no"; then
|
||||
AC_MSG_NOTICE(Using dynamically loaded plugins...)
|
||||
AC_DEFINE(USE_DL_PLUGINS)
|
||||
USE_DL_PLUGINS=1
|
||||
AC_SUBST(USE_DL_PLUGINS)
|
||||
DOSBIN_LDFLAGS="-rdynamic"
|
||||
AC_SUBST(DOSBIN_LDFLAGS)
|
||||
AC_CHECK_LIB(dl, dlopen)
|
||||
else
|
||||
AC_MSG_NOTICE(Not using dynamically loaded plugins...)
|
||||
fi
|
||||
|
||||
SIG_PROTO_PFX="__attribute__((no_instrument_function))"
|
||||
dnl check for stack protector disabling functionaity
|
||||
AC_MSG_CHECKING([for __attribute__((optimize("no-stack-protector")))])
|
||||
AX_SAVE_FLAGS([attr_check])
|
||||
CFLAGS="-Wall -Werror -fstack-protector-all"
|
||||
AC_COMPILE_IFELSE([AC_LANG_SOURCE([
|
||||
void foo(void);
|
||||
__attribute__((optimize("no-stack-protector")))
|
||||
void foo(void)
|
||||
{
|
||||
}
|
||||
])],
|
||||
[
|
||||
AC_MSG_RESULT([supported])
|
||||
SIG_PROTO_PFX="$SIG_PROTO_PFX __attribute__((optimize(\"no-stack-protector\")))"
|
||||
],
|
||||
[
|
||||
AC_MSG_RESULT([unsupported])
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fno-stack-protector"
|
||||
])
|
||||
AX_RESTORE_FLAGS([attr_check])
|
||||
AC_DEFINE_UNQUOTED(SIG_PROTO_PFX, $SIG_PROTO_PFX)
|
||||
|
||||
dnl Check whether we have pthreads and whether to use it
|
||||
AC_CHECK_LIB(pthread, pthread_create,, [
|
||||
dnl see if the func is provided nevertheless (not needing -lpthread)
|
||||
AC_CHECK_FUNC(pthread_create,, [
|
||||
AC_MSG_ERROR([No libpthread found, please install glibc-devel package])
|
||||
]
|
||||
)])
|
||||
AC_CHECK_FUNC(pthread_cancel,, [
|
||||
AC_CHECK_HEADERS([bthread.h],, [
|
||||
AC_MSG_ERROR([pthread_cancel() missing, install libbthread])
|
||||
])
|
||||
])
|
||||
AC_CHECK_LIB(bthread, pthread_cancel)
|
||||
|
||||
AC_CHECK_FUNCS([pthread_getname_np pthread_setname_np])
|
||||
AC_CHECK_FUNCS([pthread_attr_setsigmask_np pthread_setattr_default_np])
|
||||
|
||||
AC_CHECK_HEADER([wordexp.h],, [
|
||||
AC_MSG_ERROR([wordexp.h missing, install libwordexp])
|
||||
])
|
||||
AC_CHECK_LIB(wordexp, wordexp)
|
||||
|
||||
AC_CHECK_HEADERS([scsi/sg.h linux/cdrom.h sys/io.h])
|
||||
AC_CHECK_HEADERS([netipx/ipx.h linux/ipx.h netpacket/packet.h])
|
||||
AC_CHECK_HEADERS([asm/ucontext.h],,, [
|
||||
#include <ucontext.h>
|
||||
#include <signal.h>
|
||||
])
|
||||
AC_CHECK_HEADERS([ucontext.h],, [
|
||||
AS_UNSET([ac_cv_header_ucontext_h])
|
||||
AC_CHECK_HEADER([ucontext.h],
|
||||
AC_DEFINE([_XOPEN_SOURCE], [500], [Use X/Open 5 with POSIX 1995]),
|
||||
AC_MSG_ERROR([Can't use ucontext.h]), [
|
||||
#define _XOPEN_SOURCE 500
|
||||
])])
|
||||
AC_CHECK_HEADERS([linux/signal.h],,, [#include <signal.h>])
|
||||
AC_CHECK_HEADERS([sys/soundcard.h], [
|
||||
USE_OSS=1
|
||||
AC_SUBST(USE_OSS)
|
||||
])
|
||||
DATE_FMT="%F %T %z"
|
||||
test -n "$SOURCE_DATE_EPOCH" || SOURCE_DATE_EPOCH=`date +%s`
|
||||
CONFIG_TIME=`date -u -d "@$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u -r "$SOURCE_DATE_EPOCH" "+$DATE_FMT" 2>/dev/null || date -u "+$DATE_FMT"`
|
||||
AC_DEFINE_UNQUOTED(CONFIG_HOST, "$CONFIG_HOST")
|
||||
AC_DEFINE_UNQUOTED(CONFIG_TIME, "$CONFIG_TIME")
|
||||
|
||||
dnl enable EXPERIMENTAL stuff
|
||||
AC_ARG_ENABLE(experimental,
|
||||
AS_HELP_STRING([--enable-experimental], [enable configuration of EXPERIMENTAL stuff]))
|
||||
if test "$enable_experimental" = "yes"; then
|
||||
AC_MSG_NOTICE(Allowing EXPERIMENTAL stuff to be configured...);
|
||||
AC_DEFINE([EXPERIMENTAL], 1, [ Define this to enable experimental stuff ])
|
||||
else
|
||||
AC_MSG_NOTICE(EXPERIMENTAL stuff disabled...);
|
||||
fi
|
||||
|
||||
dnl try to hook in available plug-ins
|
||||
AC_ARG_ENABLE(plugins,
|
||||
AS_HELP_STRING([--enable-plugins=list],
|
||||
[comma-separated list of plugins, use + to append]))
|
||||
def_plugins=`cat $srcdir/plugin_list | sed 's/$/,/g' | tr -d '\n' | sed 's/,$//'`
|
||||
if test -z "$enable_plugins"; then
|
||||
enable_plugins="$def_plugins"
|
||||
fi
|
||||
if test "${enable_plugins#\+}" != "$enable_plugins"; then
|
||||
enable_plugins="$def_plugins,${enable_plugins#\+}"
|
||||
fi
|
||||
if test "$enable_plugins" = "no"; then
|
||||
enable_plugins=""
|
||||
fi
|
||||
AC_ARG_WITH(plugin-options,
|
||||
[AS_HELP_STRING([--with-plugin-options=PLUGIN,OPTS],
|
||||
[Pass options OPTS to plugin PLUGIN])],
|
||||
[
|
||||
plu=`echo $withval |cut -d "," -f 1`
|
||||
val=`echo $withval |cut -d "," -f 2`
|
||||
export ${plu}_OPTS="$val"
|
||||
]
|
||||
)
|
||||
|
||||
if ! test -f Makefile.conf.in; then
|
||||
AC_MSG_NOTICE([Populating makefiles...])
|
||||
wd=`pwd`
|
||||
abssrcdir=`cd $srcdir && pwd`
|
||||
if test "${wd#$abssrcdir}" != "$wd" ; then
|
||||
builddir=".${wd#$abssrcdir}"
|
||||
else
|
||||
builddir="$wd"
|
||||
fi
|
||||
mkdir -p `(cd $abssrcdir; find doc man etc src test -type d -print)`
|
||||
for i in `(cd $abssrcdir; find . -path $builddir -prune -o -name Makefile -print -o -name '*.mak' -print -o -name '*.bat' -print -o -name '*.sys' -print)`; do
|
||||
echo $LN_S -f $abssrcdir/${i#./} $i
|
||||
$LN_S -f $abssrcdir/${i#./} $i
|
||||
done
|
||||
for i in `(cd $abssrcdir; find man -name '*.1')`; do
|
||||
cp $abssrcdir/$i $i
|
||||
done
|
||||
fi
|
||||
AC_MSG_NOTICE([Creating plug-in hooks...])
|
||||
PLUGINSUBDIRS=
|
||||
ST_PLUGINSUBDIRS=
|
||||
$srcdir/scripts/mkpluginhooks clean
|
||||
for i in $(echo $enable_plugins | tr ',' ' '); do
|
||||
if test -z "$i"; then continue; fi
|
||||
if $srcdir/scripts/plugctl.sh $i yes --disable-option-checking $ac_configure_args; then
|
||||
PLUGINSUBDIRS="$PLUGINSUBDIRS plugin/$i"
|
||||
if ! $EGREP 'USE_DL_PLUGINS|NO_LIB' $srcdir/src/plugin/$i/Makefile >/dev/null ; then
|
||||
ST_PLUGINSUBDIRS="$ST_PLUGINSUBDIRS plugin/$i"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
PLUGINS=`echo $PLUGINSUBDIRS | $SED 's/plugin\//\n\t/g'`
|
||||
|
||||
FDPP_PLU=`echo $PLUGINS | $EGREP 'fdpp'`
|
||||
AC_ARG_ENABLE(fdpp,
|
||||
[AS_HELP_STRING([--disable-fdpp], [compile without fdpp support])],,
|
||||
enable_fdpp="yes"
|
||||
)
|
||||
|
||||
AC_ARG_ENABLE(system_wa,
|
||||
AS_HELP_STRING([--disable-system-wa], [compile without system-specific
|
||||
work-arounds (mostly for linux kernel) that are not needed on this system]))
|
||||
AS_IF([test "x$enable_system_wa" = "xno"], [
|
||||
AC_MSG_NOTICE(Disabling system-specific work-arounds)
|
||||
AC_DEFINE(DISABLE_SYSTEM_WA)
|
||||
AS_IF([test -z "$WARN_OUTDATED_WA" -a -n "$WARN_UNDISABLED_WA"], [
|
||||
AC_DEFINE(WARN_UNDISABLED_WA)])
|
||||
])
|
||||
AS_IF([test -n "$WARN_OUTDATED_WA"], [
|
||||
AC_MSG_NOTICE(Enabling compile-time warnings for outdated work-arounds)
|
||||
AC_DEFINE(WARN_OUTDATED_WA)
|
||||
])
|
||||
|
||||
dnl Do compilation for GDB
|
||||
HAVE_LIBBFD=0
|
||||
AC_ARG_ENABLE(debug,
|
||||
AS_HELP_STRING([--enable-debug], [compile with debug info]))
|
||||
if test "$enable_debug" != "no"; then
|
||||
AC_MSG_NOTICE(Compiling with debug info...)
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -ggdb3"
|
||||
if test "$use_clang" = "yes" ; then
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fdebug-macro"
|
||||
fi
|
||||
AC_ARG_ENABLE(xbacktrace, AS_HELP_STRING([--enable-xbacktrace],
|
||||
[enable extended backtrace functionality]))
|
||||
if test "$enable_xbacktrace" = "yes"; then
|
||||
AC_CHECK_HEADER(bfd.h, [
|
||||
AC_CHECK_LIB(z, inflate)
|
||||
dnl check iberty before bfd - order matters
|
||||
AC_CHECK_LIB(iberty, lrealpath)
|
||||
AC_CHECK_LIB(bfd, bfd_init)
|
||||
if test "$ac_cv_lib_bfd_bfd_init" = "yes"; then
|
||||
HAVE_LIBBFD=1
|
||||
AC_DEFINE(HAVE_LIBBFD)
|
||||
fi
|
||||
])
|
||||
if test "$HAVE_LIBBFD" = "1"; then
|
||||
AC_MSG_NOTICE(Enabling extended backtrace functionality)
|
||||
else
|
||||
AC_MSG_WARN(libbfd not available, no extended backtrace functionality)
|
||||
fi
|
||||
fi
|
||||
AC_CHECK_HEADER([execinfo.h], [
|
||||
AC_DEFINE(HAVE_EXECINFO)
|
||||
if test "$HAVE_LIBBFD" != "1"; then
|
||||
DOSEMU_LDFLAGS="$DOSEMU_LDFLAGS -rdynamic"
|
||||
fi
|
||||
AC_CHECK_FUNCS([backtrace backtrace_symbols])
|
||||
])
|
||||
else
|
||||
AC_MSG_NOTICE(Compiling without debug info...)
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(profile,
|
||||
AS_HELP_STRING([--enable-profile], [compile with profile info]))
|
||||
|
||||
AC_ARG_ENABLE(asan, [AS_HELP_STRING(--enable-asan, [enable address sanitizer])])
|
||||
AC_ARG_ENABLE(lsan, [AS_HELP_STRING(--enable-lsan, [enable leak sanitizer])])
|
||||
AC_ARG_ENABLE(tsan, [AS_HELP_STRING(--enable-tsan, [enable thread sanitizer])])
|
||||
AC_ARG_ENABLE(ubsan, [AS_HELP_STRING(--enable-ubsan, [enable UB sanitizer])])
|
||||
|
||||
AC_SUBST(OPTIONALSUBDIRS)
|
||||
AC_SUBST(REQUIRED)
|
||||
AC_SUBST(PLUGINSUBDIRS)
|
||||
AC_SUBST(ST_PLUGINSUBDIRS)
|
||||
RELEASE_DATE=`cd $srcdir && ./getversion -d`
|
||||
AC_SUBST(RELEASE_DATE)
|
||||
|
||||
dnl CPU emulator
|
||||
AC_ARG_ENABLE(cpuemu, [AS_HELP_STRING([--disable-cpuemu],
|
||||
[do NOT compile with optional x86 emulation code])])
|
||||
if test "$enable_cpuemu" != "no"; then
|
||||
AC_MSG_NOTICE(Compiling with x86 emulator)
|
||||
AC_DEFINE(X86_EMULATOR)
|
||||
X86_EMULATOR=1
|
||||
AC_SUBST(X86_EMULATOR)
|
||||
|
||||
if test "$machine" = "i386" -o "$machine" = "x86_64"; then
|
||||
AC_ARG_ENABLE(cpuemu_jit, [AS_HELP_STRING([--disable-cpuemu-jit],
|
||||
[do NOT compile with optional x86 JIT])])
|
||||
if test "$enable_cpuemu_jit" != "no"; then
|
||||
AC_MSG_NOTICE(Compiling with x86 JIT)
|
||||
AC_DEFINE(X86_JIT)
|
||||
X86_JIT=1
|
||||
AC_SUBST(X86_JIT)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_ARG_WITH(target_cpu, [AS_HELP_STRING([--with-target-cpu=CPU],
|
||||
[use the specified target CPU. default=auto])])
|
||||
if test "$with_target_cpu" = ""; then
|
||||
AC_MSG_NOTICE(Compiling with default target CPU...)
|
||||
target_cpu=""
|
||||
else
|
||||
AC_MSG_NOTICE(Compiling with specified target CPU...)
|
||||
target_cpu=$with_target_cpu
|
||||
fi
|
||||
|
||||
if test "$machine" = "i386" -o "$with_target_bits" = "32" -o \
|
||||
"$enable_profile" = "yes"; then
|
||||
AC_MSG_NOTICE(Compiling as non-PIE...)
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fno-pie"
|
||||
AX_CHECK_COMPILE_FLAG([-no-pie],
|
||||
[DOSEMU_LDFLAGS="$DOSEMU_LDFLAGS -no-pie"])
|
||||
else
|
||||
AC_MSG_NOTICE(Compiling as PIE for $machine...)
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fpie"
|
||||
DOSEMU_LDFLAGS="$DOSEMU_LDFLAGS -pie"
|
||||
fi
|
||||
|
||||
if test "$CONFIG_HOST" = "Linux"; then
|
||||
if test "$machine" = "i386" -o "$machine" = "x86_64"; then
|
||||
AC_ARG_ENABLE(dnative, [AS_HELP_STRING([--disable-dnative],
|
||||
[do NOT compile with native DPMI support])])
|
||||
if test "$enable_dnative" != "no"; then
|
||||
AC_MSG_NOTICE([Enabling native DPMI support...])
|
||||
AC_DEFINE(DNATIVE)
|
||||
DNATIVE=1
|
||||
AC_SUBST(DNATIVE)
|
||||
fi
|
||||
|
||||
AC_DEFINE(USE_KVM)
|
||||
KVM=1
|
||||
AC_SUBST(KVM)
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "$CONFIG_HOST" = "Darwin"; then
|
||||
DOSEMU_LDFLAGS="$DOSEMU_LDFLAGS -Wl,-undefined,dynamic_lookup"
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(mcontext,
|
||||
AS_HELP_STRING([--disable-mcontext], [disable fast context switch]))
|
||||
if test "$enable_mcontext" != "no"; then
|
||||
AC_MSG_NOTICE([Enabling fast context switching...])
|
||||
AC_DEFINE(MCONTEXT)
|
||||
MCONTEXT=1
|
||||
AC_SUBST(MCONTEXT)
|
||||
fi
|
||||
|
||||
if test "$enable_asan" = "yes"; then
|
||||
AX_CHECK_LINK_FLAG([-fsanitize=address], [
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fsanitize=address"
|
||||
# working around this bug:
|
||||
# https://github.com/google/sanitizers/issues/934
|
||||
# Linking to libstdc++ seems to be the cure.
|
||||
LDFLAGS="$LDFLAGS -fsanitize=address -lstdc++"
|
||||
AC_MSG_NOTICE(enabling address sanitizer)
|
||||
])
|
||||
fi
|
||||
if test "$enable_lsan" = "yes"; then
|
||||
AX_CHECK_LINK_FLAG([-fsanitize=leak], [
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fsanitize=leak"
|
||||
LDFLAGS="$LDFLAGS -fsanitize=leak"
|
||||
AC_MSG_NOTICE(enabling leak sanitizer)
|
||||
])
|
||||
fi
|
||||
if test "$enable_tsan" = "yes"; then
|
||||
AX_CHECK_LINK_FLAG([-fsanitize=thread], [
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fsanitize=thread"
|
||||
LDFLAGS="$LDFLAGS -fsanitize=thread"
|
||||
AC_MSG_NOTICE(enabling thread sanitizer)
|
||||
])
|
||||
fi
|
||||
if test "$enable_ubsan" = "yes"; then
|
||||
AX_CHECK_LINK_FLAG([-fsanitize=undefined], [
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -fsanitize=undefined -fno-sanitize=alignment"
|
||||
LDFLAGS="$LDFLAGS -fsanitize=undefined"
|
||||
AC_MSG_NOTICE(enabling UB sanitizer)
|
||||
])
|
||||
fi
|
||||
if test "$enable_profile" = "yes"; then
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -pg -no-pie"
|
||||
LDFLAGS="$LDFLAGS -pg -no-pie"
|
||||
AC_MSG_NOTICE(enabling profiling)
|
||||
fi
|
||||
|
||||
AC_ARG_ENABLE(optimization,
|
||||
AS_HELP_STRING([--disable-optimization], [disable optimization]))
|
||||
if test "$enable_optimization" = "no" ; then
|
||||
if test "$enable_debug" = "yes"; then
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -Og"
|
||||
AC_MSG_NOTICE(optimization set to -Og)
|
||||
else
|
||||
# simx86 is too slow on gcc without -O
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -O0"
|
||||
AC_MSG_NOTICE(optimization set to -O0)
|
||||
fi
|
||||
elif test -z "$CFLAGS" ; then
|
||||
DOSEMU_CFLAGS="$DOSEMU_CFLAGS -O2"
|
||||
AC_MSG_NOTICE(optimization set to -O2)
|
||||
fi
|
||||
|
||||
DOSEMU_CFLAGS="${DOSEMU_CFLAGS} ${OPT} ${PIPE}"
|
||||
DOSEMU_CPPFLAGS="${DOSEMU_CPPFLAGS} -MD -DCFLAGS_STR=\"$DOSEMU_CFLAGS $CFLAGS\""
|
||||
DOSEMU_VERSION=`cd $srcdir && ./getversion -b`
|
||||
AS_LDFLAGS="-melf_i386"
|
||||
|
||||
AC_SUBST(XASFLAGS)
|
||||
AC_SUBST(ASFLAGS)
|
||||
AC_SUBST(LDFLAGS)
|
||||
AC_SUBST(AS_LDFLAGS)
|
||||
AC_SUBST(DOSEMU_CFLAGS)
|
||||
AC_SUBST(DOSEMU_CPPFLAGS)
|
||||
AC_SUBST(DOSEMU_LDFLAGS)
|
||||
AC_SUBST(LIBS)
|
||||
AC_SUBST(HAVE_LIBBFD)
|
||||
AC_SUBST(HAVE_LIBBSD)
|
||||
AC_SUBST(DOSEMU_VERSION)
|
||||
|
||||
cmds_rev=3
|
||||
cmds_ver=0.$cmds_rev
|
||||
cmdsuff=$PACKAGE_TARNAME-cmds-$cmds_ver
|
||||
AC_DEFINE_UNQUOTED(CMDS_SUFF, "$cmdsuff")
|
||||
AC_DEFINE_UNQUOTED(CMDS_REV, $cmds_rev)
|
||||
AC_SUBST(cmdsuff)
|
||||
|
||||
dnl Print some warnings (if neccessary)
|
||||
if test "$enable_fdpp" != "no" -a -z "$FDPP_PLU"; then
|
||||
AC_MSG_ERROR([fdpp not available!])
|
||||
fi
|
||||
|
||||
dnl Create output files. If you add new ones, please do it in order.
|
||||
man_files=`cd $srcdir && find man -name '*.in' | sed 's/\.in$//'`
|
||||
AC_DEFUN([AC_DATAROOTDIR_CHECKED])
|
||||
adl_RECURSIVE_EVAL([$bindir], [e_bindir])
|
||||
adl_RECURSIVE_EVAL([$datadir], [e_datadir])
|
||||
AC_SUBST([e_bindir])
|
||||
AC_SUBST([e_datadir])
|
||||
AC_CONFIG_FILES([Makefile.conf $man_files etc/dosemu.desktop])
|
||||
|
||||
AC_OUTPUT
|
||||
|
||||
AC_MSG_RESULT()
|
||||
AC_MSG_RESULT(Enabling plugins: $PLUGINS)
|
||||
VID_PLU=`echo $PLUGINS | $EGREP 'sdl|X|term|sdl1'`
|
||||
if test -z "$VID_PLU"; then
|
||||
AC_MSG_RESULT()
|
||||
AC_MSG_WARN([No video plugins available!])
|
||||
fi
|
||||
AUD_PLU=`echo $PLUGINS | $EGREP 'sdl|ao|sdl1'`
|
||||
if test -z "$AUD_PLU"; then
|
||||
AC_MSG_RESULT()
|
||||
AC_MSG_WARN([No audio plugins available!])
|
||||
fi
|
||||
if test -z "$FDPP_PLU"; then
|
||||
AC_MSG_RESULT()
|
||||
AC_MSG_WARN([fdpp not available!])
|
||||
fi
|
||||
|
||||
AH_TEMPLATE([HAVE_ASSIGNABLE_STDERR],
|
||||
[ Define if stderr is not const ])
|
||||
|
||||
AH_TEMPLATE([HAVE_OPTRESET],
|
||||
[ Define if optreset is available ])
|
||||
|
||||
AH_TEMPLATE([CONFIG_HOST],
|
||||
[ Define the host for which Dosemu is configured ])
|
||||
|
||||
AH_TEMPLATE([CONFIG_TIME],
|
||||
[ Define the configure time ])
|
||||
|
||||
AH_TEMPLATE([SIG_PROTO_PFX],
|
||||
[ Define the signal handling function prototype prefix ])
|
||||
|
||||
AH_TEMPLATE([HAVE_STD_C11],
|
||||
[Define this if your compiler supports c11])
|
||||
|
||||
AH_TEMPLATE([HAVE_STATIC_ASSERT],
|
||||
[Define this if your glibc defines static_assert])
|
||||
|
||||
AH_TEMPLATE(HAVE_LIBBFD,
|
||||
[Define this if you have binutils-devel installed])
|
||||
|
||||
AH_TEMPLATE(HAVE_LIBBSD,
|
||||
[Define this if you have bsd-devel installed])
|
||||
|
||||
AH_TEMPLATE(HAVE_EXECINFO,
|
||||
[Define this if you have execinfo.h in libc])
|
||||
|
||||
AH_TEMPLATE([USE_DL_PLUGINS],
|
||||
[ DEFINE this, if you want dynamically loaded plugins ])
|
||||
|
||||
AH_TEMPLATE([X86_EMULATOR],
|
||||
[ Define this to use the X86 CPU emulator ])
|
||||
|
||||
AH_TEMPLATE([X86_JIT],
|
||||
[ Define this to use the X86 JIT ])
|
||||
|
||||
AH_TEMPLATE([DNATIVE],
|
||||
[ Define this to enable native DPMI back-end ])
|
||||
|
||||
AH_TEMPLATE([USE_KVM],
|
||||
[ Define this to enable kvm support ])
|
||||
|
||||
AH_TEMPLATE([MCONTEXT],
|
||||
[ Define this to enable libmcontext use ])
|
||||
|
||||
AH_TEMPLATE([DISABLE_SYSTEM_WA],
|
||||
[ Define this to disable system-specific work-arounds that are
|
||||
unneeded on your system ])
|
||||
|
||||
AH_TEMPLATE([WARN_UNDISABLED_WA],
|
||||
[ Define this to enable compile-time warnings for system-specific
|
||||
work-arounds that were failed to disable ])
|
||||
|
||||
AH_TEMPLATE([WARN_OUTDATED_WA],
|
||||
[ Define this to enable compile-time warnings for outdated
|
||||
system-specific work-arounds ])
|
||||
|
||||
AH_TEMPLATE([CMDS_SUFF],
|
||||
[ Commands directory suffix ])
|
||||
|
||||
AH_TEMPLATE([CMDS_REV],
|
||||
[ Commands revision num ])
|
29
debian/changelog
vendored
Normal file
29
debian/changelog
vendored
Normal file
@ -0,0 +1,29 @@
|
||||
dosemu2 (2.0~pre9-1) focal; urgency=low
|
||||
|
||||
* pre9
|
||||
|
||||
-- Stas Sergeev <stsp@users.sourceforge.net> Sat, 29 Jan 2022 23:00:00 +0300
|
||||
|
||||
dosemu2 (2.0~pre8-2) disco; urgency=low
|
||||
|
||||
* fixing deps
|
||||
|
||||
-- Stas Sergeev <stsp@users.sourceforge.net> Mon, 25 Feb 2019 15:00:00 +0300
|
||||
|
||||
dosemu2 (2.0~pre8-1) artful; urgency=low
|
||||
|
||||
* pre8
|
||||
|
||||
-- Stas Sergeev <stsp@users.sourceforge.net> Mon, 27 Nov 2017 21:00:00 +0300
|
||||
|
||||
dosemu2 (2.0~pre7-1) xenial; urgency=low
|
||||
|
||||
* pre7
|
||||
|
||||
-- Stas Sergeev <stsp@users.sourceforge.net> Fri, 31 Mar 2017 23:00:00 +0300
|
||||
|
||||
dosemu2 (2.0~pre6-1) xenial; urgency=low
|
||||
|
||||
* Initial Release
|
||||
|
||||
-- Stas Sergeev <stsp@users.sourceforge.net> Mon, 12 Sep 2016 18:00:00 +0300
|
1
debian/compat
vendored
Normal file
1
debian/compat
vendored
Normal file
@ -0,0 +1 @@
|
||||
12
|
58
debian/control
vendored
Normal file
58
debian/control
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
Source: dosemu2
|
||||
Section: otherosfs
|
||||
Priority: optional
|
||||
Maintainer: Stas Sergeev <stsp@users.sourceforge.net>
|
||||
Standards-Version: 4.1.5
|
||||
Build-Depends:
|
||||
git (>= 2.0),
|
||||
autoconf,
|
||||
autotools-dev,
|
||||
automake,
|
||||
make,
|
||||
linuxdoc-tools,
|
||||
bison,
|
||||
debhelper (>= 9~),
|
||||
flex,
|
||||
gawk,
|
||||
libx11-dev,
|
||||
libxext-dev,
|
||||
libslang2-dev,
|
||||
xfonts-utils,
|
||||
libgpm-dev,
|
||||
libasound2-dev,
|
||||
libsdl2-dev,
|
||||
libsdl2-ttf-dev,
|
||||
libfontconfig1-dev,
|
||||
ladspa-sdk,
|
||||
libfluidsynth-dev,
|
||||
libao-dev,
|
||||
libieee1284-3-dev,
|
||||
libslirp-dev,
|
||||
libbsd-dev,
|
||||
libreadline-dev,
|
||||
libjson-c-dev,
|
||||
libb64-dev,
|
||||
binutils-dev,
|
||||
pkg-config,
|
||||
fdpp-dev,
|
||||
dj64-dev,
|
||||
clang,
|
||||
binutils-i686-linux-gnu
|
||||
Homepage: https://github.com/dosemu2/dosemu2
|
||||
|
||||
Package: dosemu2
|
||||
Replaces: dosemu
|
||||
Conflicts: dosemu
|
||||
Architecture: any
|
||||
Depends:
|
||||
${misc:Depends},
|
||||
${shlibs:Depends},
|
||||
fdpp,
|
||||
dj64,
|
||||
comcom64
|
||||
Recommends:${shlibs-:Recommends}, ladspa-sdk, gdb, kbd, fluid-soundfont-gm,
|
||||
install-freedos
|
||||
Suggests: vde2, valgrind, install-otherdos
|
||||
Description: fast and secure DOS emulator
|
||||
dosemu2 is an emulator for running DOS programs under linux.
|
||||
It can also serve as a VM to boot various DOSes.
|
341
debian/copyright
vendored
Normal file
341
debian/copyright
vendored
Normal file
@ -0,0 +1,341 @@
|
||||
|
||||
Copyright of DOSEMU2, October 2014
|
||||
==================================
|
||||
|
||||
1.
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
2. All dosemu2 sources that have no explicit copyright statement,
|
||||
are copyrighted under GPLv2.
|
||||
|
||||
3. Parts of the code not covered by the GPL are marked explicitly
|
||||
within the code, and/or their copyrights are at the end of this
|
||||
file.
|
||||
|
||||
4. There are no restrictions to run any (proprietary or free) DOS software
|
||||
under dosemu, unless the license of that software says otherwise.
|
||||
|
||||
The copyrights referred to in clause 2:
|
||||
|
||||
--- GPLv2 (used as a default license in older dosemu releases)
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License, version 2, as
|
||||
published by the Free Software Foundation.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
The copyrights referred to in clause 3 are from:
|
||||
|
||||
--- The Mach DOS Emulator
|
||||
|
||||
Copyright (c) 1991 Carnegie Mellon University
|
||||
All Rights Reserved.
|
||||
|
||||
Permission to use, copy, modify and distribute this software and its
|
||||
documentation is hereby granted, provided that both the copyright
|
||||
notice and this permission notice appear in all copies of the
|
||||
software, derivative works or modified versions, and any portions
|
||||
thereof, and that both notices appear in supporting documentation.
|
||||
|
||||
CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
|
||||
CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
|
||||
ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
|
||||
|
||||
Carnegie Mellon requests users of this software to return to
|
||||
|
||||
Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
|
||||
School of Computer Science
|
||||
Carnegie Mellon University
|
||||
Pittsburgh PA 15213-3890
|
||||
|
||||
any improvements or extensions that they make and grant Carnegie Mellon
|
||||
the rights to redistribute these changes.
|
||||
|
||||
--- XFree86 (mouse code)
|
||||
|
||||
Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
|
||||
Copyright 1993 by David Dawes <dawes@physics.su.oz.au>
|
||||
|
||||
Permission to use, copy, modify, distribute, and sell this software and its
|
||||
documentation for any purpose is hereby granted without fee, provided that
|
||||
the above copyright notice appear in all copies and that both that
|
||||
copyright notice and this permission notice appear in supporting
|
||||
documentation, and that the names of Thomas Roell and David Dawes not be
|
||||
used in advertising or publicity pertaining to distribution of the
|
||||
software without specific, written prior permission. Thomas Roell
|
||||
and David Dawes makes no representations about the suitability of this
|
||||
software for any purpose. It is provided "as is" without express or
|
||||
implied warranty.
|
||||
|
||||
THOMAS ROELL AND DAVID DAWES DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
|
||||
SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||
FITNESS, IN NO EVENT SHALL THOMAS ROELL OR DAVID DAWES BE LIABLE FOR ANY
|
||||
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
|
||||
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
||||
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
|
||||
--- Doug Lea's malloc in src/base/misc/dlmalloc.c
|
||||
|
||||
This is a version (aka dlmalloc) of malloc/free/realloc written by
|
||||
Doug Lea and released to the public domain, as explained at
|
||||
http://creativecommons.org/licenses/publicdomain. Send questions,
|
||||
comments, complaints, performance data, etc to dl@cs.oswego.edu
|
||||
|
||||
--- The VGA fonts in src/env/video/vgafonts.c (copyleft_vgafonts.txt)
|
||||
|
||||
This *compilation* is (c) Copyright 1991,1992 Joseph (Yossi) Gil.
|
||||
Permission is granted to use and redistribute the files comprising
|
||||
this collection in any way (including conversion to another format),
|
||||
provided that my name and addresses and this notice is preserved.
|
||||
|
||||
Simple (dare I say trivial?) bitmapped screen fonts such as the ones
|
||||
included in this collection cannot be copyrighted. In general, one can
|
||||
only copyright programs that generate fonts. This is why postscript
|
||||
fonts are copyrightable. For more details refer to discussions various
|
||||
"legal" newsgroups. In addition, I have included a relevant excerpt
|
||||
from the FAQ of comp.fonts at the bottom of this document.
|
||||
|
||||
No one can claim any copyright on the fonts in this archive. They
|
||||
have been collected from numerous sources. Legally speaking, you are
|
||||
*free* to do with the individual fonts whatever you like. Individual
|
||||
fonts are in the public domain. I do ask that you will kindly refrain
|
||||
from causing confusion by distributing modified versions of the fonts
|
||||
contained in this collection.
|
||||
|
||||
Please send any all your EGA/VGA text mode fonts contributions to me
|
||||
rather than distributing a modified version of this collection. I
|
||||
will add your fonts to the next edition of this collection and happily
|
||||
acknowledge your help. Your cooperation will enable us all to benefit
|
||||
from your contribution. See the file LOOKING4.TXT for more details.
|
||||
|
||||
I am trying to keep track of the origins of these fonts. See the file
|
||||
FONTORIG.TXT. Unfortunately, I only started to record this information
|
||||
on version 1.2. Records of origin of earlier fonts are missing.
|
||||
If you know the origin of any of the fonts here, please drop me a note.
|
||||
|
||||
Staring on version 1.6 the collection also includes some of the
|
||||
miscellaneous utilities which I use for preparing it. Among these
|
||||
you will find programs for loading, viewing, trimming and otherwise
|
||||
manipulating the fonts. These utilities are also distributed as a
|
||||
separate archive called fntutlXX.ZIP where XX is the version number.
|
||||
All the utilities require no shareware payment. Restrictions on
|
||||
distribution and usage are only to the extent necessary to protect
|
||||
the free distribution.
|
||||
|
||||
I see this is as my pleasant duty to pay tribute to the following
|
||||
individuals who communicated and contributed to this archive:
|
||||
|
||||
Dov Grobgeld <cfgrob@weizmann.weizmann.ac.il>
|
||||
Angelos Karageorgiou <karage@insci.com>,<karage@scus1.ctstateu.edu>
|
||||
Alexandre (Alex) Khalil <9999SC01@DT3.DT.UH.EDU>,<alex@dt.uh.edu>
|
||||
Patrick Arzul <andrewd@cs.uct.ac.za>
|
||||
Mike Threepoint <linhart@trident.usacs.rutgers.edu>
|
||||
Glaude David [Glu] <dglaude@is1.vub.ac.be>
|
||||
Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>
|
||||
Itamar Even-Zohar <itiez@ccsg.tau.ac.il>
|
||||
A.Weeks%bath.ac.uk@ib.rl.ac.uk
|
||||
Miguel Farah.
|
||||
|
||||
|
||||
This collection would not have been what it today is without their
|
||||
help!
|
||||
|
||||
|
||||
Author's Address
|
||||
================
|
||||
E-mail internet address: yogi@cs.technion.ac.il
|
||||
|
||||
Alternate E-mail addresses: yogi@cs.ubc.ca, yogi@umiacs.umd.edu.
|
||||
|
||||
Permanent mailing address is:
|
||||
Joseph Gil, P.O. Box 3148, Jerusalem, Israel.
|
||||
|
||||
Hebrew mailing address (you cannot read the following unless
|
||||
your screen adapter can display Hebrew character):
|
||||
ליג יסוי
|
||||
3148 .ד.ת
|
||||
םילשורי
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
From comp.fonts Sat Sep 5 11:12:35 1992
|
||||
walsh@cs.umass.edu (Norman Walsh)
|
||||
Newsgroups: comp.fonts Subject: FAQ: Part-I: General Info Message-ID:
|
||||
<WALSH.92Sep4153207@ibis.cs.umass.edu> Date: 4 Sep 92 19:32:07 GMT
|
||||
Reply-To: walsh@cs.umass.edu Organization: Dept of Comp and Info Sci,
|
||||
Univ of Mass (Amherst)
|
||||
|
||||
FAQ for comp.fonts: Part I: General Info
|
||||
|
||||
Maintained by Norm Walsh <walsh@cs.umass.edu> and
|
||||
Bharathi Jagadeesh <bjag@nwu.edu>
|
||||
|
||||
Version 0.0.3, Release 04SEP92
|
||||
|
||||
Welcome to the comp.fonts FAQ. This article, posted monthly, describes
|
||||
many of the basic questions that seem to be repeated frequently on
|
||||
comp.fonts. Your comments are both welcome and encouraged.
|
||||
|
||||
Standard disclaimers apply.
|
||||
|
||||
....
|
||||
At one level, there are two major sorts of fonts: bitmapped and
|
||||
outline (scalable). Bitmapped fonts are falling out of fashion
|
||||
as various outline technologies grow in popularity and support.
|
||||
|
||||
Bitmapped fonts represent each character as a rectangular grid of
|
||||
pixels. The bitmap for each character indicates precisely what
|
||||
pixels should be on and off. Printing a bitmapped character is
|
||||
simply a matter of blasting the right bits out to the printer.
|
||||
There are a number of disadvantages to this approach. The bitmap
|
||||
represents a particular instance of the character at a particular
|
||||
size and resolution. It is very difficult to change the size,
|
||||
shape, or resolution of a bitmapped character without significant
|
||||
loss of quality in the image. On the other hand, it's easy to do
|
||||
things like shading and filling with bitmapped characters.
|
||||
|
||||
.....
|
||||
|
||||
5. Are fonts copyrightable?
|
||||
|
||||
This topic is hotly debated at regular intervals on comp.fonts.
|
||||
Terry Carroll <tjc50@juts.ccc.amdahl.COM> provides the following
|
||||
analysis of current [ed: as of 6/92] legislation and regulation
|
||||
regarding fonts and copyrights. Members of the comp.fonts community
|
||||
are encouraged to submit other materials that add clarity to the
|
||||
issue.
|
||||
|
||||
*-[Quote]-----------------------------------------------------------*
|
||||
|
||||
First, the short answer: Typefaces are not copyrightable; bitmapped
|
||||
fonts are not copyrightable, but scalable fonts are copyrightable.
|
||||
Authorities for these conclusions follow.
|
||||
|
||||
Before we get started, let's get some terminology down:
|
||||
|
||||
A typeface is a set of letters, numbers, or other symbolic
|
||||
characters, whose forms are related by repeating design elements
|
||||
consistently applied in a notational system and are intended to be
|
||||
embodied in articles whose intrinsic utilitarian function is for use
|
||||
in composing text or other cognizable combinations of characters.
|
||||
|
||||
A font is the computer file or program that is used to represent
|
||||
or create the typeface.
|
||||
|
||||
Now, on to the legal authorities:
|
||||
|
||||
Volume 37 of the Code of Federal Regulations specifies this about
|
||||
the copyrightability of typefaces:
|
||||
|
||||
"The following are examples of works not subject to copyright and
|
||||
applications for registration of such works cannot be entertained:
|
||||
. . . typeface as typeface" 37 CFR 202.1(e).
|
||||
|
||||
By the way, you won't find that in the most recent (7/1/91) edition
|
||||
of the CFR; the addition was enacted 2/21/92. It'll be in the
|
||||
next edition, though. It's described in the 2/21/92 edition of
|
||||
the Federal Register, page 6201 (57 FR 6201). The change didn't
|
||||
actually change the law, it just clarified it, and codified existing
|
||||
Copyright Office policy.
|
||||
|
||||
The regulation is in accordance with the House of Representatives
|
||||
report that accompanied the new copyright law, when it was passed
|
||||
in 1976:
|
||||
|
||||
"The Committee has considered, but chosen to defer, the possibility
|
||||
of protecting the design of typefaces. A 'typeface' can be defined
|
||||
as a set of letters, numbers, or other symbolic characters, whose
|
||||
forms are related by repeating design elements consistently applied
|
||||
in a notational system and are intended to be embodied in articles
|
||||
whose intrinsic utilitarian function is for use in composing text
|
||||
or other cognizable combinations of characters. The Committee
|
||||
does not regard the design of typeface, as thus defined, to be a
|
||||
copyrightable 'pictoral, graphic, or sculptural work' within the
|
||||
meaning of this bill and the application of the dividing line in
|
||||
section 101." H. R. Rep. No. 94-1476, 94th Congress, 2d Session
|
||||
at 55 (1976), reprinted in 1978 U.S. Cong. and Admin. News 5659,
|
||||
5668.
|
||||
|
||||
It's also in accordance with the one court case I know of that
|
||||
has considered the matter: Eltra Corp. V. Ringer, 579 F.2d 294,
|
||||
208 USPQ 1 (1978, C.A. 4, Va.).
|
||||
|
||||
The Copyright Office holds that a bitmapped font is nothing more
|
||||
than a computerized representation of a typeface, and as such is
|
||||
not copyrightable:
|
||||
|
||||
"The [September 29, 1988] Policy Decision [published at 53 FR 38110]
|
||||
based on the [October 10,] 1986 Notice of Inquiry [published at 51
|
||||
FR 36410] reiterated a number of previous registration decisions
|
||||
made by the [Copyright] Office. First, under existing law, typeface
|
||||
as such is not registerable. The Policy Decision then went on
|
||||
to state the Office's position that 'data that merely represents
|
||||
an electronic depiction of a particular typeface or individual
|
||||
letterform' [that is, a bitmapped font] is also not registerable."
|
||||
57 FR 6201.
|
||||
|
||||
However, scalable fonts are, in the opinion of the Copyright
|
||||
Office, computer programs, and as such are copyrightable:
|
||||
|
||||
"... the Copyright Office is persuaded that creating scalable
|
||||
typefonts using already-digitized typeface represents a
|
||||
significant change in the industry since our previous [September
|
||||
29, 1988] Policy Decision. We are also persuaded that computer
|
||||
programs designed for generating typeface in conjunction with low
|
||||
resolution and other printing devices may involve original computer
|
||||
instructions entitled protection under the Copyright Act. For
|
||||
example, the creation of scalable font output programs to produce
|
||||
harmonious fonts consisting of hundreds of characters typically
|
||||
involves many decisions in drafting the instructions that drive the
|
||||
printer. The expression of these decisions is neither limited by
|
||||
the unprotectable shape of the letters nor functionally mandated.
|
||||
This expression, assuming it meets the usual standard of authorship,
|
||||
is thus registerable as a computer program." 57 FR 6202.
|
||||
|
||||
*-[Unquote]---------------------------------------------------------*
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
FLEXI IBM VGA9 FONTS: Scalable TrueType fonts based on the iconic hardware
|
||||
VGA character set.
|
||||
|
||||
INCLUDED FONTS:
|
||||
|
||||
* Flexi IBM VGA9 True: Corrected aspect ratio, extended character set
|
||||
* Flexi IBM VGA9 True 437: Corrected aspect ratio, CP437/DOS encoding
|
||||
* Flexi IBM VGA9 False: Uncorrected aspect ratio, extended character set
|
||||
* Flexi IBM VGA9 False 437: Uncorrected aspect ratio, CP437/DOS encoding
|
||||
|
||||
LICENSE:
|
||||
|
||||
These fonts are released under the Creative Commons Attribution-ShareAlike
|
||||
4.0 International license: http://creativecommons.org/licenses/by-sa/4.0/
|
||||
|
||||
_________________________________________
|
||||
|
||||
// VileR 2018-05 https://int10.org
|
||||
|
||||
###### separator marking the end of COPYING.DOSEMU ######
|
||||
|
||||
On Debian systems, the complete text of the GNU General Public License version
|
||||
2 can be found in `/usr/share/common-licenses/GPL-2'.
|
7
debian/docs
vendored
Normal file
7
debian/docs
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
BUGS
|
||||
CONTRIBUTING.md
|
||||
COPYING
|
||||
COPYING.DOSEMU
|
||||
NEWS.md
|
||||
README.md
|
||||
THANKS
|
1
debian/install
vendored
Normal file
1
debian/install
vendored
Normal file
@ -0,0 +1 @@
|
||||
etc/dosemu2.alias etc/X11/fonts/misc/
|
20
debian/rules
vendored
Executable file
20
debian/rules
vendored
Executable file
@ -0,0 +1,20 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
export DH_ALWAYS_EXCLUDE=fonts.dir:fonts.alias
|
||||
export CC=clang
|
||||
|
||||
%:
|
||||
dh $@ --parallel --builddirectory=build
|
||||
|
||||
override_dh_autoreconf:
|
||||
./autogen.sh
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -O--parallel -- \
|
||||
--with-x11fontdir=/usr/share/fonts/X11/misc
|
||||
|
||||
override_dh_shlibdeps:
|
||||
dh_shlibdeps -X.so
|
||||
dh_shlibdeps -- -dRecommends -pshlibs-
|
||||
|
||||
override_dh_dwz:
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
||||
3.0 (quilt)
|
163
default-configure
Executable file
163
default-configure
Executable file
@ -0,0 +1,163 @@
|
||||
#! /bin/sh
|
||||
|
||||
srcdir="`dirname "$0" | xargs realpath`"
|
||||
CONF_FILE=compiletime-settings
|
||||
if [ ! -f configure.ac ]; then
|
||||
[ -f $CONF_FILE ] || cp "$srcdir"/$CONF_FILE .
|
||||
[ -f $CONF_FILE.devel ] || cp "$srcdir"/$CONF_FILE.devel .
|
||||
fi
|
||||
|
||||
if [ "$1" != "" ]; then
|
||||
if [ "${1#--}" = "$1" -a "${1#*=}" = "$1" ]; then
|
||||
CONF_FILE=$1
|
||||
if [ "$CONF_FILE" = "-d" ]; then
|
||||
CONF_FILE=compiletime-settings.devel
|
||||
fi
|
||||
shift
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f $CONF_FILE ]; then
|
||||
echo "$CONF_FILE cannot be opened"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CONF=`cat $CONF_FILE`
|
||||
CONF=`printf "$CONF"| sed '/^config {/d' | sed '/^}/d' | tr '\n' ' ' `
|
||||
|
||||
SUFFIX=""
|
||||
while [ "$#" != "0" ]; do
|
||||
case "$1" in
|
||||
--enable-plugin*)
|
||||
EXTRA_PLUGINS="$EXTRA_PLUGINS,${1#*=}"
|
||||
;;
|
||||
--*)
|
||||
SUFFIX="$SUFFIX $1"
|
||||
;;
|
||||
*)
|
||||
CONF="$CONF `echo $1 | tr '=' ' '`"
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
set $CONF
|
||||
|
||||
#echo "$*"
|
||||
|
||||
STRING=""
|
||||
PLUGIN=`cat $srcdir/plugin_list | sed 's/$/,/g' | tr -d '\n' | sed 's/,$//'`
|
||||
|
||||
while [ "$1" != "" ]; do
|
||||
# echo "$1 $2"
|
||||
case "$1" in
|
||||
experimental)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-experimental"; fi
|
||||
;;
|
||||
debug)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-debug"; fi
|
||||
;;
|
||||
asan)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-asan"; fi
|
||||
;;
|
||||
lsan)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-lsan"; fi
|
||||
;;
|
||||
tsan)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-tsan"; fi
|
||||
;;
|
||||
ubsan)
|
||||
if [ "$2" = "on" ]; then STRING="$STRING --enable-ubsan"; fi
|
||||
;;
|
||||
optimize)
|
||||
if [ "$2" = "off" ]; then STRING="$STRING --disable-optimization"; fi
|
||||
;;
|
||||
system-wa)
|
||||
if [ "$2" = "off" ]; then STRING="$STRING --disable-system-wa"; fi
|
||||
;;
|
||||
cpuemu)
|
||||
if [ "$2" = "off" ]; then STRING="$STRING --disable-cpuemu"; fi
|
||||
;;
|
||||
dlplugins)
|
||||
if [ "$2" = "off" ]; then STRING="$STRING --disable-dlplugins"; fi
|
||||
;;
|
||||
x11fontdir)
|
||||
STRING="$STRING --with-$1=$2"
|
||||
;;
|
||||
fdtarball)
|
||||
STRING="$STRING --with-$1=$srcdir/$2"
|
||||
;;
|
||||
fdpp-build-path)
|
||||
FDPP_STR="$FDPP_STR --with-$1=$2"
|
||||
;;
|
||||
fdpp-include-path)
|
||||
FDPP_STR="$FDPP_STR --with-$1=$2"
|
||||
;;
|
||||
fdpp)
|
||||
if [ "$2" = "off" ]; then
|
||||
STRING="$STRING --disable-fdpp";
|
||||
PLUGIN=`echo "$PLUGIN" | sed -e s/fdpp//`;
|
||||
fi
|
||||
;;
|
||||
docdir|mandir|datadir|libdir|sysconfdir|bindir|prefix)
|
||||
STRING="$STRING --$1=`echo $2`"
|
||||
;;
|
||||
target_bits)
|
||||
if [ "$2" != "auto" ]; then
|
||||
if uname -m | grep -q 64; then
|
||||
otherbits=64
|
||||
if cpp -dM /dev/null | grep -q __x86_64__; then
|
||||
otherbits=32
|
||||
fi
|
||||
if [ "$2" = "$otherbits" ]; then
|
||||
STRING="$STRING --with-target-bits=$otherbits";
|
||||
fi
|
||||
elif [ "$2" = "64" ]; then
|
||||
# cross compilation on pure 32-bit machines
|
||||
STRING="$STRING --with-target-bits=64 --host=x86_64-pc-linux-gnu";
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
target_cpu)
|
||||
if [ "$2" != "auto" ]; then STRING="$STRING --with-target-cpu=$2"; fi
|
||||
;;
|
||||
plugin_*)
|
||||
plugin=${1#plugin_}
|
||||
if [ "$2" = "on" ]; then PLUGIN="$PLUGIN,$plugin"; fi
|
||||
if [ "$2" = "off" ]; then
|
||||
PLUGIN=`echo "$PLUGIN" | sed -e s/$plugin// -e s/,,/,/`;
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
;;
|
||||
esac
|
||||
|
||||
shift; shift;
|
||||
done
|
||||
|
||||
[ -f "$srcdir"/install-sh ] || "$srcdir"/autogen.sh || exit $?
|
||||
if [ -z "$MAKE" ]; then
|
||||
if [ `uname -s` = "FreeBSD" ]; then
|
||||
MAKE=gmake
|
||||
else
|
||||
MAKE=make
|
||||
fi
|
||||
fi
|
||||
if [ `uname -s` = "FreeBSD" ]; then
|
||||
export CPPFLAGS="${CPPFLAGS} -I/usr/local/include"
|
||||
export LDFLAGS="${LDFLAGS} -L/usr/local/lib"
|
||||
fi
|
||||
${MAKE} "$srcdir"/configure
|
||||
|
||||
STRING="$STRING --enable-plugins=$PLUGIN,$EXTRA_PLUGINS"
|
||||
if [ -n "$FDPP_STR" ]; then
|
||||
FDPP_STR=`echo $FDPP_STR | sed 's/^ *//'`
|
||||
STRING="$STRING --with-plugin-options=fdpp,\"$FDPP_STR\""
|
||||
fi
|
||||
|
||||
if [ -z "$CC" ] && which ccache; then
|
||||
echo "Enabling ccache use"
|
||||
export CC="ccache cc"
|
||||
fi
|
||||
echo exec "$srcdir"/configure $STRING $SUFFIX
|
||||
eval exec "$srcdir"/configure $STRING $SUFFIX
|
607
doc/EMUfailure.html
Normal file
607
doc/EMUfailure.html
Normal file
@ -0,0 +1,607 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
|
||||
<HTML
|
||||
><HEAD
|
||||
><TITLE
|
||||
>Known dosemu problems</TITLE
|
||||
><META
|
||||
NAME="GENERATOR"
|
||||
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
|
||||
><BODY
|
||||
CLASS="ARTICLE"
|
||||
BGCOLOR="#FFFFFF"
|
||||
TEXT="#000000"
|
||||
LINK="#0000FF"
|
||||
VLINK="#840084"
|
||||
ALINK="#0000FF"
|
||||
><DIV
|
||||
CLASS="ARTICLE"
|
||||
><DIV
|
||||
CLASS="TITLEPAGE"
|
||||
><H1
|
||||
CLASS="TITLE"
|
||||
><A
|
||||
NAME="AEN2"
|
||||
>Known dosemu problems</A
|
||||
></H1
|
||||
><DIV
|
||||
><DIV
|
||||
CLASS="ABSTRACT"
|
||||
><P
|
||||
></P
|
||||
><A
|
||||
NAME="AEN4"
|
||||
></A
|
||||
><P
|
||||
>This file lists programs and groups of programs not running or running
|
||||
only partially under dosemu. The most up-to-date version of this file
|
||||
may be found on:
|
||||
<SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
><A
|
||||
HREF="http://www.dosemu.org/"
|
||||
TARGET="_top"
|
||||
>http://www.dosemu.org/</A
|
||||
></I
|
||||
></SPAN
|
||||
>.
|
||||
Please report about possible additions to
|
||||
<SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
><A
|
||||
HREF="mailto:linux-msdos@vger.kernel.org"
|
||||
TARGET="_top"
|
||||
>linux-msdos@vger.kernel.org</A
|
||||
></I
|
||||
></SPAN
|
||||
>
|
||||
or the SourceForge BTS at
|
||||
<SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
><A
|
||||
HREF="http://www.dosemu.org/"
|
||||
TARGET="_top"
|
||||
>http://www.dosemu.org/</A
|
||||
></I
|
||||
></SPAN
|
||||
>.
|
||||
Perhaps your program can be made going
|
||||
with the help of others. Have a look at the dosemu-howto how to do so.</P
|
||||
><P
|
||||
></P
|
||||
></DIV
|
||||
></DIV
|
||||
><HR></DIV
|
||||
><DIV
|
||||
CLASS="TOC"
|
||||
><DL
|
||||
><DT
|
||||
><B
|
||||
>Table of Contents</B
|
||||
></DT
|
||||
><DT
|
||||
>1. <A
|
||||
HREF="#AEN12"
|
||||
>Fundamental problems</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>1.1. <A
|
||||
HREF="#AEN15"
|
||||
>Virtual Control Program Interface (VCPI)</A
|
||||
></DT
|
||||
><DT
|
||||
>1.2. <A
|
||||
HREF="#AEN19"
|
||||
>Programs using older versions of the Pharlap Extender</A
|
||||
></DT
|
||||
><DT
|
||||
>1.3. <A
|
||||
HREF="#AEN24"
|
||||
>Programs using the JEMM memory manager</A
|
||||
></DT
|
||||
><DT
|
||||
>1.4. <A
|
||||
HREF="#AEN28"
|
||||
>Does my failing program belong to these groups?</A
|
||||
></DT
|
||||
><DT
|
||||
>1.5. <A
|
||||
HREF="#AEN32"
|
||||
>Fundamental problem with the Linux kernel</A
|
||||
></DT
|
||||
><DT
|
||||
>1.6. <A
|
||||
HREF="#AEN40"
|
||||
>Fundamental problems with the CPU</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>1.6.1. <A
|
||||
HREF="#AEN43"
|
||||
>Problem with the virtualization of the IF flag</A
|
||||
></DT
|
||||
><DT
|
||||
>1.6.2. <A
|
||||
HREF="#AEN52"
|
||||
>ESP register corruption</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>2. <A
|
||||
HREF="#AEN69"
|
||||
>Known bugs</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.1. <A
|
||||
HREF="#AEN71"
|
||||
>Things YOU may help changing</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>2.1.1. <A
|
||||
HREF="#AEN73"
|
||||
>List of currently known bugs in dosemu2</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>3. <A
|
||||
HREF="#AEN84"
|
||||
>Programs exhibiting graphical problems in xdosemu</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>3.1. <A
|
||||
HREF="#AEN87"
|
||||
>Games with graphical problems</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
><DT
|
||||
>4. <A
|
||||
HREF="#AEN95"
|
||||
>Differences in behaviour between Dosemu and Dosemu2</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.1. <A
|
||||
HREF="#AEN98"
|
||||
>Filesystems</A
|
||||
></DT
|
||||
><DD
|
||||
><DL
|
||||
><DT
|
||||
>4.1.1. <A
|
||||
HREF="#AEN100"
|
||||
>MFS</A
|
||||
></DT
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DD
|
||||
></DL
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><H2
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN12"
|
||||
>1. Fundamental problems</A
|
||||
></H2
|
||||
><P
|
||||
>Programs that don't work under the MSDOS Emulator and probably won't
|
||||
ever work, because of fundamental problems. Some of these fundamental
|
||||
problems result in these programs not being runnable on
|
||||
Win3.x/Win95/WinNT and under OS/2 DOS box either. These programs
|
||||
are characterized by using any of these features:</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN15"
|
||||
>1.1. Virtual Control Program Interface (VCPI)</A
|
||||
></H3
|
||||
><P
|
||||
>VCPI allows programs to run in ring 0. This is kernel mode in Linux
|
||||
and not sensible.</P
|
||||
><P
|
||||
>Example: sim2181.exe from Analog Devices DSP Kit</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN19"
|
||||
>1.2. Programs using older versions of the Pharlap Extender</A
|
||||
></H3
|
||||
><P
|
||||
>Older versions of the Pharlap Extender (run286) need ring-0 access
|
||||
under DOSEMU to install their own DPMI server. The use of proprietary
|
||||
undocumented extensions to the DPMI protocol makes DOSEMU's DPMI server
|
||||
unsuitable for this extender.</P
|
||||
><P
|
||||
>Example: Autocad Version 12c1 For DOS</P
|
||||
><P
|
||||
>Example: the game BioForge by Origin Systems.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN24"
|
||||
>1.3. Programs using the JEMM memory manager</A
|
||||
></H3
|
||||
><P
|
||||
>The JEMM memory manager provides proprietary extensions to the EMS
|
||||
protocol. These are not supported by DOSEMU.</P
|
||||
><P
|
||||
>Example: Wing Commander Privateer by Origin Systems</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN28"
|
||||
>1.4. Does my failing program belong to these groups?</A
|
||||
></H3
|
||||
><P
|
||||
>Check with "strings <program.exe> | less" if the program
|
||||
contains some of these keywords: <SPAN
|
||||
CLASS="emphasis"
|
||||
><I
|
||||
CLASS="EMPHASIS"
|
||||
> vcpi, RUN286</I
|
||||
></SPAN
|
||||
>.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN32"
|
||||
>1.5. Fundamental problem with the Linux kernel</A
|
||||
></H3
|
||||
><P
|
||||
>The Programmable Interval Timer (PIT) can be programmed to produce
|
||||
interrupts with frequencies up to almost 2MHz. Linux sets this to
|
||||
only 100Hz (2.6 kernels can set it to 1KHz) and doesn't allow the
|
||||
software to change that. This limits the minimal interval between subsequent
|
||||
SIGALRM notifications for software that uses the setitimer(2) syscall.
|
||||
To emulate the PIT frequencies that are higher than the frequency Linux
|
||||
sets the PIT to, dosemu uses "interrupt bursts": on every SIGALRM
|
||||
reception dosemu triggers the timer interrupt as many times as necessary
|
||||
to compensate the gap since the previous SIGALRM reception. This allows
|
||||
to keep a precise timing but causes problems for some programs. When
|
||||
the timer interrupt handler is invoked more than once without letting
|
||||
the main thread to execute, some programs can lock up. The game "Cosmo" is
|
||||
one of those.</P
|
||||
><P
|
||||
>Another problem is that due to the aforementioned low timer frequency
|
||||
dosemu is not able to properly emulate the timings for different
|
||||
emulated hardware. That also causes problems for some programs.
|
||||
Scream Tracker 3, for example, can lock up at startup because the
|
||||
interrupt from an emulated SB card can be triggered earlier than it
|
||||
should be in a real system.</P
|
||||
><P
|
||||
>Possibly a workaround may be found in future DOSEMU versions.</P
|
||||
><P
|
||||
>Linux kernels prior to 3.16 may have various problems on x86-64.
|
||||
Make sure to not use 3.14 and 3.15 as they
|
||||
<A
|
||||
HREF="https://www.codeweavers.com/support/wiki/Diag/BrokenLDT16"
|
||||
TARGET="_top"
|
||||
>lack 16bit segments support</A
|
||||
></P
|
||||
><P
|
||||
>3.16 adds support for espfix64 feature.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN40"
|
||||
>1.6. Fundamental problems with the CPU</A
|
||||
></H3
|
||||
><P
|
||||
>There are several defects in Intel's x86 CPUs that are causing
|
||||
problems for some software. Below is a description of the defects
|
||||
that are known to cause problems for software running under dosemu.</P
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><HR><H4
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="AEN43"
|
||||
>1.6.1. Problem with the virtualization of the IF flag</A
|
||||
></H4
|
||||
><P
|
||||
><A
|
||||
HREF="http://www.intel.com/design/intarch/techinfo/pentium/inout.htm"
|
||||
TARGET="_top"
|
||||
>Intel's manual</A
|
||||
>
|
||||
says:</P
|
||||
><P
|
||||
>" A procedure may use the POPF instruction to change the setting of the IF
|
||||
flag only if the CPL is less than or equal to the current IOPL. An attempt
|
||||
by a less privileged procedure to change the IF flag does not result in
|
||||
an exception; the IF flag simply remains unchanged. "</P
|
||||
><P
|
||||
>The fact that the exception is not being generated, prevents dosemu from
|
||||
catching and properly simulating the POPF instruction executed in protected
|
||||
mode. That, in particular, means that the following code, executed in
|
||||
protected mode (not in v86 mode) under dosemu, will end up with interrupts
|
||||
disabled (IF cleared):</P
|
||||
><P
|
||||
><TABLE
|
||||
BORDER="0"
|
||||
BGCOLOR="#E0E0E0"
|
||||
WIDTH="100%"
|
||||
><TR
|
||||
><TD
|
||||
><PRE
|
||||
CLASS="SCREEN"
|
||||
> sti
|
||||
pushf
|
||||
cli
|
||||
popf</PRE
|
||||
></TD
|
||||
></TR
|
||||
></TABLE
|
||||
>
|
||||
[ the interrupts are still disabled here ]</P
|
||||
><P
|
||||
>This bug can only affect DPMI programs, as using DPMI is the only way
|
||||
to execute protected mode code under dosemu.
|
||||
Known programs that are affected are the games from ID software, namely
|
||||
Doom2 and Duke Nukem 3D, but only when configured with sound.
|
||||
An optional work-around was added to dosemu, which just re-enables the
|
||||
interrupts if they were disabled for too long in protected mode.
|
||||
Additionally the address of the instruction that disabled the interrupts,
|
||||
is added to a black-list and this instruction is ignored for subsequent
|
||||
passes so that it can't disable the interrupts any more.
|
||||
This is potentially unsafe, but if the timeout is long enough, no harm
|
||||
was observed so far.
|
||||
The timeout is configured via the $_cli_timeout option, which is measured
|
||||
in a 10ms timer ticks. Setting that option to 0 disables the workaround
|
||||
completely, making Doom2 unplayable with sound enabled.</P
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><HR><H4
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="AEN52"
|
||||
>1.6.2. ESP register corruption</A
|
||||
></H4
|
||||
><P
|
||||
>Intel's x86 CPUs have a defect
|
||||
<A
|
||||
HREF="http://www.intel.com/design/intarch/specupdt/27287402.PDF"
|
||||
TARGET="_top"
|
||||
>described here</A
|
||||
>,
|
||||
chapter "Specification Clarifications"
|
||||
section 4: "Use Of ESP In 16-Bit Code With 32-Bit Interrupt Handlers",
|
||||
which reads as follows:</P
|
||||
><P
|
||||
>"ISSUE: When a 32-bit IRET is used to return to another privilege level,
|
||||
and the old level uses a 4G stack (D/B bit in the segment register = 1),
|
||||
while the new level uses a 64k stack (D/B bit = 0), then only the
|
||||
lower word of ESP is updated. The upper word remains unchanged. This is
|
||||
fine for pure 16-bit code, as well as pure 32-bit code. However, when
|
||||
32-bit interrupt handlers are present, 16-bit code should avoid any
|
||||
dependence on the upper word of ESP. No changes are necessary in existing
|
||||
16-bit code, since the only way to access ESP in USE16 segments is
|
||||
through the 32-bit address size prefix."</P
|
||||
><P
|
||||
>Unfortunately, the above quote from Intel is silent about the 32-bit
|
||||
programs that use 16-bit stack segment - this is where the problem pops us.
|
||||
The corruption happens when the Linux kernel returns control to the dosemu
|
||||
process, while a 32-bit DPMI client that uses a 16-bit data segment for
|
||||
the stack is active. This is not the usual case, but unfortunately some
|
||||
32-bit DPMI clients are actually using a 16-bit segment for the stack,
|
||||
and even the dos4gw extender behaves that way sometimes.</P
|
||||
><P
|
||||
>Programs that are known to be affected by this issue are:
|
||||
<P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Need For Speed 1 (demo version at least, when configured with sound)</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Syndicate Wars (when used with dos4gw 0.8)</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Open Cubic Player</P
|
||||
></LI
|
||||
></UL
|
||||
></P
|
||||
><P
|
||||
>These programs are crashing shortly after startup, but this problem
|
||||
is difficult to detect reliably, so there may be many more programs
|
||||
that experience a random crashes due to this CPU bug.</P
|
||||
><P
|
||||
>The reliable work-around was developed and added into linux-2.6.12
|
||||
for 32-bit systems, and into linux-3.16 for 64-bit systems.</P
|
||||
><P
|
||||
>Note: linux kernels prior to 3.16 may have various problems on x86-64.</P
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><HR><H2
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN69"
|
||||
>2. Known bugs</A
|
||||
></H2
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN71"
|
||||
>2.1. Things YOU may help changing</A
|
||||
></H3
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H4
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="AEN73"
|
||||
>2.1.1. List of currently known bugs in dosemu2</A
|
||||
></H4
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Some documentation is known to be well out of date. </P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Some database programs (Clipper, FoxPro) have problems with
|
||||
locking in certain configurations. smbfs doesn't support
|
||||
locking. $_full_file_locks=(on) may or may not help.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Mortal Kombat 1 and 2 are not producing any sound for unknown reasons.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>X-COM Apocalypse (DEMO version) locks up at startup if configured with sound.</P
|
||||
></LI
|
||||
></UL
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><HR><H2
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN84"
|
||||
>3. Programs exhibiting graphical problems in xdosemu</A
|
||||
></H2
|
||||
><P
|
||||
>The following programs work perfectly on the Linux console
|
||||
(suid/sudo/root) with graphics enabled but exhibit minor or
|
||||
major glitches in xdosemu.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN87"
|
||||
>3.1. Games with graphical problems</A
|
||||
></H3
|
||||
><P
|
||||
>The following games exhibit glitches or don't work at all in
|
||||
xdosemu. Please let us know when any problems are solved or
|
||||
even better, help us solving!</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Commander Keen 1 wobbles like jelly and the window shakes
|
||||
every time it scrolls.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Pinball Dreams 2 takes a long time to start. Once it's past
|
||||
the startup screen it runs fine though.</P
|
||||
></LI
|
||||
></UL
|
||||
></DIV
|
||||
></DIV
|
||||
><DIV
|
||||
CLASS="SECT1"
|
||||
><HR><H2
|
||||
CLASS="SECT1"
|
||||
><A
|
||||
NAME="AEN95"
|
||||
>4. Differences in behaviour between Dosemu and Dosemu2</A
|
||||
></H2
|
||||
><P
|
||||
>The following differences may be apparent if you have previously been
|
||||
using Dosemu.</P
|
||||
><DIV
|
||||
CLASS="SECT2"
|
||||
><HR><H3
|
||||
CLASS="SECT2"
|
||||
><A
|
||||
NAME="AEN98"
|
||||
>4.1. Filesystems</A
|
||||
></H3
|
||||
><DIV
|
||||
CLASS="SECT3"
|
||||
><H4
|
||||
CLASS="SECT3"
|
||||
><A
|
||||
NAME="AEN100"
|
||||
>4.1.1. MFS</A
|
||||
></H4
|
||||
><P
|
||||
>Network device DOS filesystem that provides read write access to the host filesystem.</P
|
||||
><P
|
||||
></P
|
||||
><UL
|
||||
><LI
|
||||
><P
|
||||
>Dosemu2 does not redirect a drive to arbitrary host paths on the command
|
||||
line of the emufs.sys driver when it is loaded in config.sys. Use the lredir2
|
||||
command to accomplish this in autoexec.bat instead.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Dosemu2 does not support LFN on the SUBST / JOIN drives.</P
|
||||
></LI
|
||||
><LI
|
||||
><P
|
||||
>Dosemu2 now provides enhanced FAT32 disk functions only as a fallback
|
||||
to the native DOS in the event that the DOS does not implement them itself.
|
||||
A consequence of being a fallback is that if the DOS has a bug in its
|
||||
implementation it is not overriden by Dosemu2. Examples of this are
|
||||
MS-DOS 7.0 and PC-DOS 7.10.</P
|
||||
></LI
|
||||
></UL
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
></DIV
|
||||
></BODY
|
||||
></HTML
|
||||
>
|
430
doc/NOVELL-HOWTO.txt
Normal file
430
doc/NOVELL-HOWTO.txt
Normal file
@ -0,0 +1,430 @@
|
||||
Netware-HOWTO
|
||||
Lauri Tischler ltischler@fipower.pp.fi
|
||||
rev.0.2 30 Mar 1995
|
||||
updated for DOSEMU 1.2.0, 18 Jan 2004, Bart Oldeman -- contributions
|
||||
by Peter Eckhardt
|
||||
|
||||
This document tryes to descibe how to connect to Novell Netware
|
||||
servers from Linux.
|
||||
|
||||
1. Introduction
|
||||
|
||||
Due to the limited scope of this note, it is not a real HOWTO, not
|
||||
even a 'mini-HOWTO'. You might call it a 'nano-HOWTO' if you like.
|
||||
|
||||
In most sites the Netware is really just an extension to PC's running
|
||||
DOS and DOS applications (Windows is JUST another DOS-application),
|
||||
the Netware providing fileserver and printing support.
|
||||
|
||||
I will concentrate on getting the connection via DOSEMU only.
|
||||
|
||||
My everyday network is a Netware network with 3 servers and appr. 110
|
||||
PC's connected to it. It is TOTALLY Dos/Windows environment, running
|
||||
Novell standard Ethernet_802.3 frames, very ordinary REAL LIFE setup.
|
||||
|
||||
Tested Environment :
|
||||
|
||||
o LinuxBox 486DX2/66, 17Meg Ram + 20 Meg Swap, two ESDI disks 340Mb
|
||||
and 320 Mb (Linux InSide), Netcard SMC Elite Ultra.
|
||||
|
||||
o Linux 1.2.2, Dosemu pre0.53.55.
|
||||
|
||||
o Netware 3.11 on all servers, SMC Elite 32 EISA on main server.
|
||||
|
||||
The following may or may not work on Your pile of iron.
|
||||
|
||||
|
||||
2. Netware Requirements.
|
||||
|
||||
One of the main questions is What Is the Ethernet Frame Type your
|
||||
Netware uses.
|
||||
|
||||
|
||||
2.1. Frametype Ethernet_II.
|
||||
|
||||
For IP-connectivity Novell has always used Ethernet_II frametype.
|
||||
Some sites use Ethernet_II for IPX _and_ IP (good for them). This is
|
||||
also easiest case to connect to Netware, you also get IP-connectivity
|
||||
between your linuxboxes if/when they are located in separate segments.
|
||||
For IP-connectivity you need to load TCPIP.NLM in your server and
|
||||
define FORWARD=YES on loadline. You also need to BIND the IP to your
|
||||
server networkcards with proper IP-address. In general if you need
|
||||
any kind of IP-connection to Netware Server (NFS, BOOTPD, FTPD) you
|
||||
_must_ use Ethernet_II frame.
|
||||
|
||||
|
||||
2.2. Frametype Ethernet_802.3.
|
||||
|
||||
Traditionally Novell has used Ethernet_802.3 for IPX protocol. That is
|
||||
_before_ the Netvare 4.0x and various VLM stuff. In this case you
|
||||
can't communicate with other linuxboxes if they are located on
|
||||
separate segments because Netware will not route IP-protocol on 802.3
|
||||
frames. You can however connect to Netware server as an isolated
|
||||
workstation.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
2.3. Frametype Ethernet_802.2.
|
||||
|
||||
New Novell practice is to recommend the Ethernet_802.2 frame for IPX.
|
||||
The 802.2 is actually the default frametype unless otherwise declared
|
||||
(in server autoexec.ncf and workstation net.cfg files). This is also
|
||||
the worst case because the dosemu packetdrivers do not support this
|
||||
frametype. You can still connect using direct-IPX approach.
|
||||
|
||||
|
||||
I would recommend that you load the Ethernet_II frame in your server
|
||||
in ANY CASE because that makes the care-and-feeding-and-development
|
||||
much easier in the longrun.
|
||||
|
||||
There has been some worried noises about messing up the IP-traffic on
|
||||
Ethernet_II if you run IPX on Ethernet_II frames at the same time.
|
||||
There is no problem in running both protocols on same frame and cable,
|
||||
it is done all the time on many sites (RTFM - Novell TCP/IP Docs) 8-).
|
||||
|
||||
This how I do both frames and protocols on single card and cable .
|
||||
|
||||
load SMCE32 port=6810 Name=First Frame=Ethernet_802.3 ; 'novell' frame
|
||||
load SMCE32 port=6810 Name=Second Frame=Ethernet_II ; 'normal' frame
|
||||
bind ipx to First Net=E1
|
||||
bind ipx to Second Net=E2
|
||||
|
||||
|
||||
So I actually run IPX on both frames, Ethernet_802.3 on logical net E1
|
||||
and Ethernet_II logical net E2. All on one card and cable.
|
||||
|
||||
|
||||
3. Making The Connection.
|
||||
|
||||
There are basically two methods for making the connection between the
|
||||
Linuxbox and Netware server, The Direct-IPX or Packet Drivers. At
|
||||
the time of writing the Packet Driver method is the most reliable
|
||||
in particular if you combine it with DPMI programs. Direct-IPX may
|
||||
just work though (depending on the DOS program in question).
|
||||
|
||||
|
||||
3.1. The Direct-IPX.
|
||||
|
||||
Make sure that you have the IPX support compiled in to your kernel.
|
||||
|
||||
Within DosEmu, in directory ipxutils, there are some utilities which
|
||||
are necessary. At the time of this writing the compiling of those
|
||||
utilities was not automatic, so it may be necessary to go to
|
||||
directory ipxutils and run 'make'.
|
||||
|
||||
Check that in your 'dosemu.conf' file you have 'ipx_support' enabled.
|
||||
$_ipxsupport = (on)
|
||||
|
||||
Now you need to enable the ipxinterface. To do that you execute
|
||||
following command :
|
||||
|
||||
ipx_interface add -p eth0 802.3
|
||||
|
||||
|
||||
Instead of 'eth0' you can give some other Id in case your ethernetcard
|
||||
is somewhere else.
|
||||
|
||||
The last parameter, ie. 802.3, depends on what type of ethernetframe
|
||||
runs on your network. Possibe values are 802.2, 802.3 and EtherII.
|
||||
Check with your Netware Administrator if you are not sure. You may
|
||||
wish to add the above mentioned command into your rc.local file.
|
||||
|
||||
Now start the dosemu session and load the Netware shell, NETX. The
|
||||
NETX is the only TSR necessary to run the connection, no LSL, no
|
||||
Packetdrivers nor IPXODI.
|
||||
|
||||
|
||||
Pros.
|
||||
|
||||
o Connection is reasonably fast, about 2.41666.. times faster then
|
||||
packetdrivers.
|
||||
|
||||
o This is the ONLY way to connect if you are using Ethernet_802.2
|
||||
frame.
|
||||
|
||||
Cons.
|
||||
|
||||
o SPX support is still missing, this means that some software will
|
||||
not run, like Intel LanDesk Inventory, Novell Remote Console,
|
||||
Netware Access Services, I'm sure there are more 8=(
|
||||
|
||||
o The connection drops dead after about 15 min of idletime. I
|
||||
suspect that it has something to do with 'watchdog packets' from
|
||||
the server not getting proper answer. Maybe some IPX/SPX guru will
|
||||
look into this.
|
||||
|
||||
o DPMI in combination with direct IPX is broken as of DOSEMU 1.2.0.
|
||||
|
||||
|
||||
3.2. The Packet Driver (IPX).
|
||||
|
||||
As a driver you should use PDETHER which is an ipx-to-packet driver
|
||||
shim, but masquerading as an ODI compliant driver. There also exists
|
||||
an older driver PDIPX, technology represented by PDIPX is no longer
|
||||
supported by Novell. A driver named IPXPD is more likely to work
|
||||
than PDIPX. PDETHER and IPXPD are using Ethernet_II frames, while
|
||||
PDIPX uses 802.3 frames.
|
||||
|
||||
The Packet Driver uses build-in packetdriver interface which means
|
||||
that the IPX-SUPPORT in Kernel and in DOSEMU is NOT needed. When
|
||||
configuring the Kernel you can define IPX-SUPPORT (n), this is
|
||||
actually the default case.
|
||||
|
||||
Corresponding parameter for DOSEMU is found in the NETWORKING SUPPORT
|
||||
section of dosemu.conf/.dosemurc. There you just leave the line
|
||||
$_ipxsupport = (off) commented out. (see below)
|
||||
|
||||
The use of the second configuration parameter $_novell_hack is
|
||||
explained in detail in later paragraphs.
|
||||
|
||||
#************************* NETWORKING SUPPORT *****************************
|
||||
#
|
||||
# Turn the following option 'on' if you require IPX/SPX emulation.
|
||||
# Therefore, there is no need to load IPX.COM within the DOS session.
|
||||
# The following option does not emulate LSL.COM, IPXODI.COM, etc.
|
||||
# NOTE: MUST HAVE IPX PROTOCOL ENABLED IN KERNEL !!
|
||||
# $_ipxsupport = (off)
|
||||
#
|
||||
# Enable Novell 8137->raw 802.3 translation hack in new packet
|
||||
# driver.
|
||||
|
||||
$_pktdriver = (on)
|
||||
# $_novell_hack = (off)
|
||||
|
||||
Also set up a working packet driver (eg. TUN/TAP) connection; refer to
|
||||
README.txt for details. For example (with tunctl) set:
|
||||
|
||||
$_netdev="tap0"
|
||||
$_vnet="tap"
|
||||
|
||||
There are various versions of the packetdriver PDETHER floating around, but
|
||||
it is recommended to use version 1.05 or later. Those versions have
|
||||
support for a "raw packet send" interface.
|
||||
|
||||
PDETHER in its native mode understands only Ethernet_II frames, by
|
||||
enabling the dosemu.conf parameter pktdriver novell_hack it can be
|
||||
fooled to use Ethernet_802.3 frames instead.
|
||||
|
||||
Because PDETHER is an ODI driver, you load..
|
||||
|
||||
LSL (at least version 2.20; older versions may crash dosemu)
|
||||
PDETHER
|
||||
IPXODI
|
||||
NETX
|
||||
|
||||
If you use IPXPD or PDIPX you just load
|
||||
|
||||
IPXPD (for Ethernet_II frames) or PDIPX (for 802.3 frames)
|
||||
NETX
|
||||
|
||||
Because PDETHER is an ODI driver, there must be corresponding section
|
||||
in your net.cfg file. Here is a snippet of my NET.CFG
|
||||
|
||||
Link Support
|
||||
Buffers 4 1514
|
||||
MemPool 2048
|
||||
|
||||
Link Driver PDETHER
|
||||
Int 60
|
||||
FRAME Ethernet_II
|
||||
|
||||
NetWare DOS Requester
|
||||
FIRST NETWORK DRIVE = F
|
||||
SHOW DOTS = ON
|
||||
SET STATION TIME = ON
|
||||
PREFERRED SERVER = HOME
|
||||
FILE HANDLES = 40
|
||||
LOCAL PRINTERS = 1
|
||||
|
||||
|
||||
|
||||
The packetdrivers support only Ethernet_802.3 and Ethernet_II frames.
|
||||
If you are unlucky enough to use Ethernet_802.2 frame, your only
|
||||
change is to use direct-IPX interface (unless you can persuade the
|
||||
system admin to add Ethernet_II frames to your network 8=)).
|
||||
|
||||
Do NOT CHANGE line 'FRAME Ethernet_II' in Link Driver PDETHER section,
|
||||
instead enable or disable the 'pkdriver novell_hack' in 'dosemu.conf'
|
||||
|
||||
$_pktdriver = (on)
|
||||
$_novell_hack = (on) If you have Ethernet_802.3
|
||||
|
||||
# $_novell_hack = (off) If you have Ethernet_II
|
||||
|
||||
Read the PDETHER.DOC for further info.
|
||||
|
||||
Example from Peter Eckhardt:
|
||||
|
||||
Create a startnet.bat and net.cfg in dosemu
|
||||
|
||||
CD C:\NWCLIENT
|
||||
edit ....
|
||||
|
||||
- startnet.bat -
|
||||
|
||||
SET NWLANGUAGE=DEUTSCH
|
||||
LH C:\NWCLIENT\LSL /c=C:\NWCLIENT\net.cfg
|
||||
C:\NWCLIENT\PDETHER.EXE
|
||||
LH C:\NWCLIENT\IPXODI.COM
|
||||
rem LH C:\NWCLIENT\NETX
|
||||
LH C:\NWCLIENT\VLM.EXE
|
||||
|
||||
- net.cfg -
|
||||
|
||||
Link Support
|
||||
Buffers 4 1514
|
||||
MemPool 2048
|
||||
|
||||
Link Driver PDETHER
|
||||
Int 60
|
||||
FRAME Ethernet_II
|
||||
USE DEFAULTS=OFF
|
||||
VLM=CONN.VLM
|
||||
VLM=IPXNCP.VLM
|
||||
VLM=TRAN.VLM
|
||||
VLM=SECURITY.VLM
|
||||
VLM=NDS.VLM
|
||||
VLM=NWP.VLM
|
||||
VLM=FIO.VLM
|
||||
VLM=BIND.VLM
|
||||
VLM=PRINT.VLM
|
||||
VLM=GENERAL.VLM
|
||||
VLM=REDIR.VLM
|
||||
VLM=NETX.VLM
|
||||
|
||||
NetWare DOS Requester
|
||||
FIRST NETWORK DRIVE = F
|
||||
NETWORK PROTOCOL = BIND
|
||||
SHOW DOTS = ON
|
||||
SET STATION TIME = ON
|
||||
PREFERRED SERVER = EMK1
|
||||
FILE HANDLES = 40
|
||||
LOCAL PRINTERS = 1
|
||||
VLM = AUTO.VLM
|
||||
|
||||
4. Speed Of Connection
|
||||
|
||||
Here is some benchmarking I did with testprogram TESTNET.EXE,
|
||||
available somewhere in NetWire. It tests the network transfer speed.
|
||||
|
||||
I can saturate my ethernet with two stations running at full tilt.
|
||||
Maximum aggregate speed is appr. 900 kilobytes/sec.
|
||||
|
||||
I'm using SMC Elite 32 EISA board in Server and SMC Elite Ultra in
|
||||
workstation.
|
||||
|
||||
NETX
|
||||
Dos6.2 620
|
||||
DosEmu (directIPX) 290
|
||||
DosEmu (pktdrv) 120
|
||||
|
||||
The figures denote transferspeed in kilobytes/second.
|
||||
|
||||
Few months ago I had a NE2000 clone in my box, with DOS6.2/NETX it
|
||||
would run to appr. 460 kbs. I could live with that.
|
||||
|
||||
Note: Recently improvements were made that speed up the packet
|
||||
driver throughput more than twice. The above measurements are no longer
|
||||
valid. It is expected that the Packet Driver now has the same performance
|
||||
as the directIPX method, or even better, but no precise measurements
|
||||
were made.
|
||||
|
||||
|
||||
|
||||
|
||||
5. NFS and Other Connectivity.
|
||||
|
||||
It is possible to access Netware server and services from Linux
|
||||
directly by using various commercial supportpackages to get Unix
|
||||
filesystem and/or printing services.
|
||||
|
||||
o Netware-NFS.
|
||||
|
||||
o Netware Flex-IP.
|
||||
|
||||
o Nov*iX from FireFox.
|
||||
|
||||
o Charon, shareware SMTP-gateway and printservices.
|
||||
|
||||
There also exists a freeware NFS connectivity using SOSS package,
|
||||
below is a contribution from a fellow netter, Andrew J. Anderson,
|
||||
andrew@db.erau.edu.
|
||||
|
||||
--- message begins ---
|
||||
|
||||
|
||||
I am currently using a package called "soss" (Son of Stan's Server)
|
||||
that turns a DOS PC into an NFS server. I am using this to export
|
||||
NetWare volumes to my Linux box so that I can have multi-user access
|
||||
to several CD-ROM packages. I will continue using this until multiple
|
||||
logins from DOSEmu becomes a reality. The speed of this setup depends
|
||||
on the speed of the PC that is running the NFS server package.
|
||||
Currently, I am using a 286 with 4 Megs of RAM being used as a disk
|
||||
cache. If I remember correctly, I can get about 50K/s across this
|
||||
setup. I tested a 486DX-33 with 8 megs and got about 250- 300K/s
|
||||
transfer. I am hoping to get about 500K/s with a 486DX2-66 with 16
|
||||
megs of RAM. Not blazingly fast, but good enough.
|
||||
|
||||
So if you play with drive mappings under DOSEmu using LREDIR, you
|
||||
could setup a scheme where each user had a mapping to their home
|
||||
directory on the Novell side. There is potential for security risk in
|
||||
doing that because SOSS doesn't have much in the way of security built
|
||||
in, but I am using part of my NetWare volumes as "overflow" space when
|
||||
my Linux drives fill up -- as they so often do! :)
|
||||
|
||||
--- message ends --- Thanks Andrew..
|
||||
|
||||
I have no personal experience with any of the packages mentioned
|
||||
above, I'm sure that there are a lot of other useful packages
|
||||
floating around. Please mail me, so I can add them to possible future
|
||||
incarnations of this note.
|
||||
|
||||
|
||||
6. History.
|
||||
|
||||
6.1. Revision 0.1.
|
||||
|
||||
Written with great haste and enthusiasm. Contained some mistakes for
|
||||
which I was promptly flamed 8:). Some reports of success were also
|
||||
received.
|
||||
|
||||
6.2. Revision 0.2.
|
||||
|
||||
Known errors corrected and new sections added.
|
||||
|
||||
Any additions for this HOWTO are humbly accepted and if relevant to
|
||||
great cause will be added to later revisions.
|
||||
|
||||
|
||||
|
||||
|
||||
7. Begin Legalese.
|
||||
|
||||
Unless otherwise stated, Linux HOWTO documents are copyrighted by
|
||||
their respective authors. Linux HOWTO documents may be reproduced and
|
||||
distributed in whole or in part, in any medium physical or electronic,
|
||||
as long as this copyright notice is retained on all copies. Commercial
|
||||
redistribution is allowed and encouraged; however, the author would
|
||||
like to be notified of any such distributions.
|
||||
|
||||
All translations, derivative works, or aggregate works incorporating
|
||||
any Linux HOWTO documents must be covered under this copyright notice.
|
||||
That is, you may not produce a derivative work from a HOWTO and impose
|
||||
additional restrictions on its distribution. Exceptions to these rules
|
||||
may be granted under certain conditions; please contact the Linux
|
||||
HOWTO coordinator at the address given below.
|
||||
|
||||
In short, we wish to promote dissemination of this information through
|
||||
as many channels as possible. However, we do wish to retain copyright
|
||||
on the HOWTO documents, and would like to be notified of any plans to
|
||||
redistribute the HOWTOs.
|
||||
|
||||
If you have questions, please contact Greg Hankings, the Linux HOWTO
|
||||
coordinator, at greg.hankings@cc.gatech.edu. You may finger this
|
||||
address for phone number and additional contact information.
|
||||
|
||||
End Legalese.
|
||||
|
||||
Happy Netting. Lauri Tischler, ltischler@fipower.pp.fi
|
63
doc/README.gdb
Normal file
63
doc/README.gdb
Normal file
@ -0,0 +1,63 @@
|
||||
|
||||
From lermen@elserv.ffm.fgan.de Fri Jan 9 02:02:28 1998
|
||||
Date: Sun, 4 Jan 1998 16:30:24 +0100 (MET)
|
||||
From: Hans Lermen <lermen@elserv.ffm.fgan.de>
|
||||
To: Marty Leisner <leisner@sdsp.mc.xerox.com>
|
||||
Cc: Pat Villani <patv@iop.com>, dosemu developers <dosemu-devel@suse.com>
|
||||
Subject: Re: Ideas for debugging
|
||||
|
||||
On Sat, 3 Jan 1998, Marty Leisner wrote:
|
||||
|
||||
>
|
||||
> In order to run gdb under dosemu:
|
||||
> attach (compile with the -g option)
|
||||
> do
|
||||
> handle SIGSEGV nostop noprint
|
||||
>
|
||||
> then you're fine
|
||||
|
||||
Yup, that's the trick ;-)
|
||||
However, to 'compile with -g' one has to do:
|
||||
|
||||
make pristine
|
||||
./default-configure --enable-debug
|
||||
make
|
||||
|
||||
> (but its very difficult to debug programs under
|
||||
> dosemu).
|
||||
|
||||
its nearly impossible, for that we have 'dosdebug', the bultin debugger.
|
||||
|
||||
>
|
||||
> Several years we discussed this...has any work been done essentially
|
||||
> having dosemu act as a gdbserver, which can talk to gdb...??
|
||||
|
||||
hmm, can gdb handle 16 bit code or even segmented code?
|
||||
|
||||
Hans
|
||||
<lermen@fgan.de>
|
||||
|
||||
Bart:
|
||||
It can handle 16 bit code but you have to handle the segmentation yourself,
|
||||
e.g. use
|
||||
set architecture i8086
|
||||
x/20i 0x9089*16+0x18e
|
||||
to dump 9089:019e
|
||||
|
||||
Another issue is that whilst single stepping the SIGALRM handler may
|
||||
disturb. You can avoid that using hooks, as below, and paste everything
|
||||
into a .gdbinit file.
|
||||
|
||||
define hook-stop
|
||||
handle SIGALRM nopass
|
||||
end
|
||||
|
||||
define hook-run
|
||||
handle SIGALRM pass
|
||||
end
|
||||
|
||||
define hook-continue
|
||||
handle SIGALRM pass
|
||||
end
|
||||
|
||||
handle SIGSEGV nostop noprint
|
6096
doc/README.html
Normal file
6096
doc/README.html
Normal file
File diff suppressed because it is too large
Load Diff
1023
doc/tweaks.html
Normal file
1023
doc/tweaks.html
Normal file
File diff suppressed because it is too large
Load Diff
119
dosemu2.spec
Normal file
119
dosemu2.spec
Normal file
@ -0,0 +1,119 @@
|
||||
#
|
||||
# spec file template for dosemu2
|
||||
#
|
||||
# Written by Mateusz Viste, stsp
|
||||
#
|
||||
|
||||
Name: dosemu2
|
||||
Version: 2.0pre9
|
||||
Release: 2
|
||||
Summary: fast and secure DOS emulator
|
||||
|
||||
Group: System/Emulator
|
||||
|
||||
License: GPLv2+
|
||||
URL: https://github.com/dosemu2/dosemu2
|
||||
VCS: https://github.com/dosemu2/dosemu2.git
|
||||
Source0: dosemu2.tar.gz
|
||||
|
||||
BuildRequires: SDL2-devel
|
||||
BuildRequires: SDL2_ttf-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: fluidsynth-devel
|
||||
BuildRequires: gpm-devel
|
||||
BuildRequires: libao-devel
|
||||
BuildRequires: ladspa-devel
|
||||
BuildRequires: slang-devel
|
||||
BuildRequires: libslirp-devel
|
||||
BuildRequires: libieee1284-devel
|
||||
BuildRequires: mt32emu-devel
|
||||
BuildRequires: libbsd-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: gawk
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: make
|
||||
BuildRequires: sed
|
||||
BuildRequires: bash
|
||||
BuildRequires: findutils
|
||||
BuildRequires: git >= 2.0
|
||||
BuildRequires: bdftopcf
|
||||
BuildRequires: mkfontscale
|
||||
BuildRequires: linuxdoc-tools
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: json-c-devel
|
||||
BuildRequires: libb64-devel
|
||||
BuildRequires: binutils
|
||||
BuildRequires: binutils-x86_64-linux-gnu
|
||||
BuildRequires: pkgconf-pkg-config
|
||||
BuildRequires: fdpp-devel
|
||||
BuildRequires: dj64-devel
|
||||
|
||||
# our startup script is bash-specific
|
||||
Requires: bash
|
||||
Requires: comcom64
|
||||
Recommends: fluid-soundfont-gm
|
||||
Suggests: timidity++ >= 2.14.0
|
||||
Recommends: ladspa
|
||||
# ncurses-base is for terminfo
|
||||
Recommends: ncurses-base
|
||||
Recommends: gdb
|
||||
Recommends: kbd
|
||||
Suggests: valgrind
|
||||
Recommends: install-freedos
|
||||
Suggests: install-otherdos
|
||||
|
||||
# cannot coexist with dosemu1
|
||||
Conflicts: dosemu
|
||||
|
||||
%description
|
||||
dosemu2 is an emulator for running DOS programs under linux.
|
||||
It can also serve as a VM to boot various DOSes.
|
||||
|
||||
%prep
|
||||
%setup -T -b 0 -q -n dosemu2
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
%configure
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%check
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/X11/fontpath.d
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/*
|
||||
%lang(ru) %dir %{_mandir}/ru
|
||||
%lang(ru) %dir %{_mandir}/ru/man1
|
||||
%lang(ru) %{_mandir}/ru/man1/*
|
||||
# Not using libdir here as we only install plugins, and their path hard-coded
|
||||
%{_prefix}/lib/dosemu
|
||||
%{_datadir}/dosemu
|
||||
%{_datadir}/applications/dosemu.desktop
|
||||
%{_datadir}/fonts/oldschool
|
||||
%{_sysconfdir}/X11/fontpath.d/dosemu2*
|
||||
%doc %{_docdir}/dosemu2
|
||||
%dir %{_sysconfdir}/dosemu
|
||||
%config(noreplace) %{_sysconfdir}/dosemu/dosemu.conf
|
||||
|
||||
%changelog
|
||||
* Tue Apr 09 2024 Stas Sergeev <stsp@users.sourceforge.net> 2.0pre9-2
|
||||
-
|
||||
|
||||
* Tue Apr 09 2024 Stas Sergeev <stsp@users.sourceforge.net>
|
||||
-
|
||||
|
||||
* Tue Apr 09 2024 Stas Sergeev <stsp@users.sourceforge.net> 2.0pre9-1
|
||||
- new package built with tito
|
||||
|
||||
* Sat Aug 20 2016 Stas Sergeev <stsp@users.sourceforge.net> 2.0pre6-dev
|
||||
(none)
|
109
dosemu2.spec.rpkg
Normal file
109
dosemu2.spec.rpkg
Normal file
@ -0,0 +1,109 @@
|
||||
#
|
||||
# spec file template for dosemu2
|
||||
#
|
||||
# Written by Mateusz Viste, stsp
|
||||
#
|
||||
|
||||
Name: {{{ git_dir_name }}}
|
||||
Version: {{{ git_dir_version }}}
|
||||
Release: 1%{?dist}
|
||||
Summary: fast and secure DOS emulator
|
||||
|
||||
Group: System/Emulator
|
||||
|
||||
License: GPLv2+
|
||||
URL: https://github.com/dosemu2/dosemu2
|
||||
VCS: {{{ git_dir_vcs }}}
|
||||
Source0: {{{ git_dir_archive }}}
|
||||
|
||||
BuildRequires: SDL2-devel
|
||||
BuildRequires: SDL2_ttf-devel
|
||||
BuildRequires: fontconfig-devel
|
||||
BuildRequires: libXext-devel
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: fluidsynth-devel
|
||||
BuildRequires: gpm-devel
|
||||
BuildRequires: libao-devel
|
||||
BuildRequires: ladspa-devel
|
||||
BuildRequires: slang-devel
|
||||
BuildRequires: libslirp-devel
|
||||
BuildRequires: libieee1284-devel
|
||||
BuildRequires: mt32emu-devel
|
||||
BuildRequires: libbsd-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: bison
|
||||
BuildRequires: flex
|
||||
BuildRequires: gawk
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: make
|
||||
BuildRequires: sed
|
||||
BuildRequires: bash
|
||||
BuildRequires: findutils
|
||||
BuildRequires: git >= 2.0
|
||||
BuildRequires: bdftopcf
|
||||
BuildRequires: mkfontscale
|
||||
BuildRequires: linuxdoc-tools
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: json-c-devel
|
||||
BuildRequires: libb64-devel
|
||||
BuildRequires: binutils
|
||||
BuildRequires: binutils-x86_64-linux-gnu
|
||||
BuildRequires: pkgconf-pkg-config
|
||||
BuildRequires: fdpp-devel
|
||||
BuildRequires: dj64-devel
|
||||
|
||||
# our startup script is bash-specific
|
||||
Requires: bash
|
||||
Requires: comcom64
|
||||
Recommends: fluid-soundfont-gm
|
||||
Suggests: timidity++ >= 2.14.0
|
||||
Recommends: ladspa
|
||||
# ncurses-base is for terminfo
|
||||
Recommends: ncurses-base
|
||||
Recommends: gdb
|
||||
Recommends: kbd
|
||||
Suggests: valgrind
|
||||
Recommends: install-freedos
|
||||
Suggests: install-otherdos
|
||||
|
||||
# cannot coexist with dosemu1
|
||||
Conflicts: dosemu
|
||||
|
||||
%description
|
||||
dosemu2 is an emulator for running DOS programs under linux.
|
||||
It can also serve as a VM to boot various DOSes.
|
||||
|
||||
%prep
|
||||
{{{ git_dir_setup_macro }}}
|
||||
|
||||
%build
|
||||
./autogen.sh
|
||||
%configure
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%check
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_sysconfdir}/X11/fontpath.d
|
||||
make DESTDIR=%{buildroot} install
|
||||
|
||||
%files
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/*
|
||||
%{_mandir}/man1/*
|
||||
%lang(ru) %dir %{_mandir}/ru
|
||||
%lang(ru) %dir %{_mandir}/ru/man1
|
||||
%lang(ru) %{_mandir}/ru/man1/*
|
||||
# Not using libdir here as we only install plugins, and their path hard-coded
|
||||
%{_prefix}/lib/dosemu
|
||||
%{_datadir}/dosemu
|
||||
%{_datadir}/applications/dosemu.desktop
|
||||
%{_datadir}/fonts/oldschool
|
||||
%{_sysconfdir}/X11/fontpath.d/dosemu2*
|
||||
%doc %{_docdir}/dosemu2
|
||||
%dir %{_sysconfdir}/dosemu
|
||||
%config(noreplace) %{_sysconfdir}/dosemu/dosemu.conf
|
||||
|
||||
%changelog
|
||||
{{{ git_dir_changelog since_tag=dosemu2-2.0pre6-dev }}}
|
BIN
etc/cpi/ega.cpi
Normal file
BIN
etc/cpi/ega.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega10.cpi
Normal file
BIN
etc/cpi/ega10.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega11.cpi
Normal file
BIN
etc/cpi/ega11.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega12.cpi
Normal file
BIN
etc/cpi/ega12.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega13.cpi
Normal file
BIN
etc/cpi/ega13.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega14.cpi
Normal file
BIN
etc/cpi/ega14.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega15.cpi
Normal file
BIN
etc/cpi/ega15.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega16.cpi
Normal file
BIN
etc/cpi/ega16.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega17.cpi
Normal file
BIN
etc/cpi/ega17.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega18.cpi
Normal file
BIN
etc/cpi/ega18.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega2.cpi
Normal file
BIN
etc/cpi/ega2.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega3.cpi
Normal file
BIN
etc/cpi/ega3.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega4.cpi
Normal file
BIN
etc/cpi/ega4.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega5.cpi
Normal file
BIN
etc/cpi/ega5.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega6.cpi
Normal file
BIN
etc/cpi/ega6.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega7.cpi
Normal file
BIN
etc/cpi/ega7.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega8.cpi
Normal file
BIN
etc/cpi/ega8.cpi
Normal file
Binary file not shown.
BIN
etc/cpi/ega9.cpi
Normal file
BIN
etc/cpi/ega9.cpi
Normal file
Binary file not shown.
1068
etc/dosemu.conf
Normal file
1068
etc/dosemu.conf
Normal file
File diff suppressed because it is too large
Load Diff
10
etc/dosemu.desktop.in
Normal file
10
etc/dosemu.desktop.in
Normal file
@ -0,0 +1,10 @@
|
||||
[Desktop Entry]
|
||||
Name=DOS emulator
|
||||
Name[lt]=DOS emuliatorius
|
||||
Comment=DOS emulator "dosemu2"
|
||||
Comment[lt]=DOS emuliatorius "dosemu2"
|
||||
Exec=@e_bindir@/dosemu
|
||||
Icon=@e_datadir@/dosemu/icons/dosemu.xpm
|
||||
Terminal=false
|
||||
Type=Application
|
||||
Categories=System;Emulator;
|
73
etc/dosemu.xpm
Normal file
73
etc/dosemu.xpm
Normal file
@ -0,0 +1,73 @@
|
||||
/* XPM */
|
||||
static char * dosemu_xpm[] = {
|
||||
"64 48 22 1",
|
||||
" c none s mask",
|
||||
". c #000000000000",
|
||||
"X c #B2CA6595C30B",
|
||||
"o c #C71BC71BF7DE",
|
||||
"O c #0820F7DE0820",
|
||||
"+ c #D34C75D64924",
|
||||
"@ c #9A69DF7D9248",
|
||||
"# c #F7DEF7DEF7DE",
|
||||
"$ c #6185BAEA2492",
|
||||
"% c #555555555555",
|
||||
"& c #4D344D34F3CE",
|
||||
"* c #4514AAAAE38D",
|
||||
"= c #08200820F7DE",
|
||||
"- c #FFFF65956595",
|
||||
"; c #FFFFBAEA30C2",
|
||||
": c #FFFFFFFF0000",
|
||||
"> c #FFFF00000000",
|
||||
", c #8617FFFF8E38",
|
||||
"< c #49249A69FFFF",
|
||||
"1 c #FFFFFFFFFFFF",
|
||||
"2 c #0000FFFF0000",
|
||||
"3 c #FFFF0000FFFF",
|
||||
" ",
|
||||
" .................................................... ",
|
||||
" .XXoooooooooooooooooooooooooooooO+O+OOoX@oooooooooo. ",
|
||||
" .+o####o#####o#o###o@#o#o#o##o##O$OOOOoo@o#o#@#####. ",
|
||||
" .%&&&&&&&&&&&&&&&oo&&&*o=&&&&&&*#############o#oooo. ",
|
||||
" .%&&*&*@@XXX===================&o$OOOOOOOOOOO@o%ooo. ",
|
||||
" .X&&=&&&=&&&&&&&===============&oo###########oo%ooo. ",
|
||||
" .X&============================&oo###########oo%ooo. ",
|
||||
" .%&============================&o############o@%ooo. ",
|
||||
" .X&&&&&&X@@X===================&o##o@o#######oo%ooo. ",
|
||||
" .X&============================&ooo@#@#o#####oo%ooo. ",
|
||||
" .%&&&=X@X@&&&=X@@==============&oooo#########o@%ooo. ",
|
||||
" .%&============================&o############o@%ooo. ",
|
||||
" .X&===&&=======================&oo###########oo%ooo. ",
|
||||
" .%&============================&o############oo%ooo. ",
|
||||
" .%&==&&&&&&&&==================&o############oo%ooo. ",
|
||||
" .X&==&@&@X@XX@o&X==============&oo@@#########oo%ooo. ",
|
||||
" .X&==&@=@&@X&==================&ooo@#ooooXooooo%ooo. ",
|
||||
" .%&==&&=&&&X=&@@X=&=&&==.======&o##o#########oo%ooo. ",
|
||||
" .X&===..........====&=..-.=====&o############oo%ooo. ",
|
||||
" .X&...;;;;;;;.;.=====.---.=====&o@@@@@@oooooooX%ooo. ",
|
||||
" ...;;;;;;;;..;;.&&&..-----.@&&&==......%%%%%%%%%ooo. ",
|
||||
" .......;....;;;;.&&..------.&&&==...====*%oooooooooo. ",
|
||||
" ..:::::::.::.;;;;;.=.>>.------.===.,,..===&%oooooooooo. ",
|
||||
" .:::::..:::::.;;;;.==.>>.------.==.,,,,,..=&%oooooooooo. ",
|
||||
" .::::..;;..:::.;;..=...>>.-------.=.,,,,,,,.*%oooooooooo. ",
|
||||
" .::::.;;;;.=..:.;.=&.<<..>>.------..,,,,,,,,.*%oooooooooo. ",
|
||||
" .:::.;;;;;.==.:..=..<<.<.>>.------.,,,,,,,,,.=%oooooooooo. ",
|
||||
" .::::.;;;;;.%.%.%%.....<<.>>..----....,,,,,,,.%%oooooooooo. ",
|
||||
" .:::.;;;;;;.oooooo.111.<.o.>>.---.222..,,,,,,.oooooooooooo. ",
|
||||
" .::::.;;;;;;.oooooo.111..oo.>>.----.2222..,,,,.oooooooooooo. ",
|
||||
" .::::.;;;;;;.##o###.111.#o#.>>.-----..2222..,.########o##o#. ",
|
||||
" .::::.;;;;;;;................>>.----....2222................ ",
|
||||
" .::::.;;;;;;;;.... .33.. .>>.----. .,..222. ",
|
||||
" .::::.;;;;;;;;;;;. ..33.3. .>>..--. .,,..222. ",
|
||||
" .::::.;;;;;;;;... .333.33. .>>.--. .,.2222. ",
|
||||
" .::::.;;;;;..::......333. .>>.-. ...222.. ",
|
||||
" .:::::.....:::. .111.33. .>>.-..2222.. ",
|
||||
" .:::::::::::. .111.3. .>>. .22.. ",
|
||||
" ..:::::::.. .111.. .>>. .. ",
|
||||
" ....... ..... .. ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "};
|
11
etc/dosemu2.alias
Normal file
11
etc/dosemu2.alias
Normal file
@ -0,0 +1,11 @@
|
||||
vga -dosemu-vga-medium-r-normal--17-160-75-75-p-80-ibm-cp437
|
||||
vga8x19 -dosemu-vga-medium-r-normal--19-190-75-75-c-80-ibm-cp437
|
||||
vga11x19 -dosemu-vga-medium-r-normal--19-190-75-75-c-100-ibm-cp437
|
||||
vga10x24 -dosemu-vga-medium-r-normal--24-240-75-75-c-100-ibm-cp437
|
||||
vga12x30 -dosemu-vga-medium-r-normal--30-300-75-75-c-120-ibm-cp437
|
||||
vgacyr -dosemu-vga-medium-r-normal--17-160-75-75-c-80-ibm-cp866
|
||||
vga10x20 -dosemu-vga-medium-r-normal--20-200-75-75-c-100-ibm-cp866
|
||||
vga-ua -dosemu-vga-medium-r-normal--17-160-75-75-c-80-ibm-cp1125
|
||||
vga10x20-ua -dosemu-vga-medium-r-normal--20-200-75-75-c-100-ibm-cp1125
|
||||
vga8x14-cp850 -xos4-Terminus-Bold-R-Normal--14-140-72-72-C-80-IBM-CP850
|
||||
vga10x20-cp850 -xos4-Terminus-Bold-R-Normal--20-200-72-72-C-100-IBM-CP850
|
597
etc/global.conf
Normal file
597
etc/global.conf
Normal file
@ -0,0 +1,597 @@
|
||||
##############################################################################
|
||||
# WARNING: THIS FILE IS NOT USED BY DEFAULT. ADJUST dosemu.users OR USE -F.
|
||||
#
|
||||
# This file is global.conf. By default a compiled-in copy is used. If you
|
||||
# make custom changes to the settings in this file, then you need to use
|
||||
# the -F switch or change dosemu.users; the custom file is then parsed
|
||||
# after the built-in copy.
|
||||
#
|
||||
# Linux dosemu configuration for parser versions >= 3 (dosemu-0.97.0.1)
|
||||
#
|
||||
# ./doc/README-tech.txt (chapter 2.) contains a description of the syntax
|
||||
# and the usage. However, you normally won't edit this file !!
|
||||
#
|
||||
# NOTES:
|
||||
#
|
||||
# 1. The file dosemu.conf (and optionally ~/.dosemurc) contains variable
|
||||
# settings, that are included by global.conf for doing the
|
||||
# most reasonable configuration.
|
||||
# The file dosemu.conf (and optionally ~/.dosemurc) is what gets
|
||||
# updated by the menu driven 'setup-dosemu' tool.
|
||||
#
|
||||
# 2. We strongly recommend you to edit ONLY dosemu.conf.
|
||||
# If you change global.conf, you are at your own and could break
|
||||
# 'setup-dosemu'. You really need to know a lot of DOSEMU
|
||||
# internals before you fiddle with editing global.conf.
|
||||
# However, some very special cases can only be handled in global.conf.
|
||||
#
|
||||
# 3. The file global.conf (this one) is either
|
||||
# - the one compiled into dosemu.bin.
|
||||
# - specified by the config_script option in dosemu.users ("builtin"
|
||||
# by default)
|
||||
# - or given via the -F option (from root login, else only on
|
||||
# non-suid-root DOSEMU)
|
||||
#
|
||||
# 4. The only compiled-in path is /etc/dosemu.users (or if not found
|
||||
# /etc/dosemu/dosemu.users), however, this can be overridden by
|
||||
# --Fusers, if not running suid-root. All other paths are configurable
|
||||
# and the dosemu binaries can reside everywhere in the system.
|
||||
#
|
||||
# This file (global.conf) may also serve as an example file for
|
||||
# .dosrc ( old style user configuration file )
|
||||
# option -I ( configuration via commandline, see man/dos.1 )
|
||||
#
|
||||
# Access rights for suid-root running DOSEMU sessions are defined in
|
||||
#
|
||||
# /etc/dosemu.users or /etc/dosemu/dosemu.users
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
ifdef u_forceold
|
||||
undef parser_version_3
|
||||
define version_3_style_used
|
||||
endif
|
||||
|
||||
ifndef parser_version_3
|
||||
# normally won't come here, because older DOSEMUs don't use this file
|
||||
# ... but if using -F option ...
|
||||
include "/etc/dosemu.conf"
|
||||
else
|
||||
# we are on version 3 parser
|
||||
|
||||
## we set some vital variable
|
||||
|
||||
if (!strlen($DOSEMU_LIB_DIR))
|
||||
abort "DOSEMU_LIB_DIR not set";
|
||||
endif
|
||||
if (!strlen($DOSEMU_IMAGE_DIR))
|
||||
$DOSEMU_IMAGE_DIR = $DOSEMU_LIB_DIR;
|
||||
endif
|
||||
# make sure we have absolute paths
|
||||
shell("test -d ", $DOSEMU_IMAGE_DIR)
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
abort "DOSEMU_IMAGE_DIR does not exist ", $DOSEMU_IMAGE_DIR;
|
||||
endif
|
||||
$DOSEMU_IMAGE_DIR = shell("cd ", $DOSEMU_IMAGE_DIR, "; pwd -P");
|
||||
$DOSEMU_IMAGE_DIR = strdel($DOSEMU_IMAGE_DIR, strlen($DOSEMU_IMAGE_DIR)-1, 1);
|
||||
shell("test -d ", $DOSEMU_LIB_DIR)
|
||||
if (!$DOSEMU_SHELL_RETURN)
|
||||
$DOSEMU_LIB_DIR = shell("cd ", $DOSEMU_LIB_DIR, "; pwd -P");
|
||||
$DOSEMU_LIB_DIR = strdel($DOSEMU_LIB_DIR, strlen($DOSEMU_LIB_DIR)-1, 1);
|
||||
endif
|
||||
|
||||
$CONFIG_VERSION = ( (1 << 24) | (1 << 16) | (4 << 8) | 0)
|
||||
# ^ ^ ^ ^
|
||||
if ( $DOSEMU_VERSION_CODE < $CONFIG_VERSION )
|
||||
abort "
|
||||
*** sorry, your ", $DOSEMU_LIB_DIR, "/global.conf doesn't match this dosemu version
|
||||
"
|
||||
endif
|
||||
|
||||
$LIST_DELIM = " , " #delimiters for lists <tab>, blank, comma
|
||||
|
||||
# for non-suid-root we can switch off restricted checking.
|
||||
if (strlen($DOSEMU_LAX_CHECKING))
|
||||
undef restricted
|
||||
undef guest
|
||||
endif
|
||||
|
||||
if (strlen($_mapping)) $xxx = $_mapping else $xxx = "auto" endif
|
||||
mappingdriver $xxx;
|
||||
|
||||
if (strlen($_debug))
|
||||
debug $_debug ;
|
||||
else
|
||||
debug { off }
|
||||
endif
|
||||
if (strlen($_trace_ports)) trace ports { $$_trace_ports } endif
|
||||
if (strlen($_trace_mmio)) trace_mmio { $$_trace_mmio } endif
|
||||
|
||||
cpuspeed $_cpuspeed
|
||||
|
||||
timer 0
|
||||
mathco $_mathco
|
||||
$xxx = "cpu ", $_cpu;
|
||||
$$xxx
|
||||
cpuemu $$_cpuemu
|
||||
$xxx = "cpu_vm ", $_cpu_vm;
|
||||
$$xxx
|
||||
$xxx = "cpu_vm_dpmi ", $_cpu_vm_dpmi;
|
||||
$$xxx
|
||||
if ($_ems)
|
||||
ems {
|
||||
ems_size $_ems
|
||||
ems_frame $_ems_frame
|
||||
ems_uma_pages $_ems_uma_pages
|
||||
ems_conv_pages $_ems_conv_pages
|
||||
}
|
||||
else
|
||||
ems off
|
||||
endif
|
||||
umb_a0 $_umb_a0
|
||||
umb_b0 $_umb_b0
|
||||
umb_b8 $_umb_b8
|
||||
umb_f0 $_umb_f0
|
||||
hma $_hma
|
||||
dos_up $_dos_up
|
||||
dpmi $_dpmi
|
||||
dpmi_base $_dpmi_base
|
||||
pm_dos_api 1
|
||||
ignore_djgpp_null_derefs $_ignore_djgpp_null_derefs
|
||||
dosmem $_dosmem
|
||||
ext_mem $_ext_mem
|
||||
xms $_xms
|
||||
|
||||
if ($_emusys ne "") emusys $_emusys endif
|
||||
|
||||
## terminal stuff, we check a lot to insure proper operation
|
||||
|
||||
terminal { color $_term_color escchar $_escchar size $_fixed_term_size }
|
||||
xterm_title $_xterm_title
|
||||
video { vga }
|
||||
if ($_external_char_set ne "")
|
||||
charset { external $$_external_char_set }
|
||||
endif
|
||||
if ($_internal_char_set ne "")
|
||||
charset { internal $$_internal_char_set }
|
||||
endif
|
||||
|
||||
## X param settings
|
||||
$xxx = ""
|
||||
if ($_X_sharecmap) $xxx = $xxx, " sharecmap" endif
|
||||
if ($_X_aspect_43) $xxx = $xxx, " aspect_43" endif
|
||||
if ($_X_lin_filt) $xxx = $xxx, " lin_filt" endif
|
||||
if ($_X_bilin_filt) $xxx = $xxx, " bilin_filt" endif
|
||||
$xxx = $xxx, " mode13fact ", $_X_mode13fact
|
||||
$xxx = $xxx, " gamma ", (int($_X_gamma * 100))
|
||||
$xxx = $xxx, " font '", $_X_font, "'"
|
||||
if (strlen($_X_winsize))
|
||||
$yyy = (strstr($_X_winsize,","))
|
||||
$yyy = " winsize (", strdel($_X_winsize,$yyy,999), ") , (",
|
||||
strsplit($_X_winsize,$yyy+1,999), ")"
|
||||
$xxx = $xxx, $yyy
|
||||
endif
|
||||
|
||||
if (strlen($_X_vesamode))
|
||||
foreach $yyy (" ", $_X_vesamode)
|
||||
$zzz = (strchr($yyy,","))
|
||||
$xxx = $xxx, " vesamode (", strdel($yyy,$zzz,999), "),(",
|
||||
strsplit($yyy,$zzz+1,999), ") "
|
||||
done
|
||||
endif
|
||||
$xxx = $xxx, ' mgrab_key "', $_X_mgrab_key, '"'
|
||||
X {
|
||||
title $_X_title title_show_appname $_X_title_show_appname
|
||||
icon_name $_X_icon_name
|
||||
blinkrate $_X_blinkrate
|
||||
fixed_aspect $_X_fixed_aspect vgaemu_memsize $_X_vgaemu_memsize
|
||||
lfb $_X_lfb pm_interface $_X_pm_interface mitshm $_X_mitshm
|
||||
background_pause $_X_background_pause fullscreen $_X_fullscreen
|
||||
noclose $_X_noclose
|
||||
noresize $_X_noresize
|
||||
$$xxx
|
||||
}
|
||||
|
||||
## SDL settings
|
||||
SDL { sdl_hwrend $_SDL_hwrend sdl_fonts $_SDL_fonts sdl_wcontrols $_SDL_wcontrols sdl_clip_native $_SDL_clip_native }
|
||||
|
||||
# video settings
|
||||
vga_fonts $$_force_vga_fonts
|
||||
if ($DOSEMU_STDIN_IS_CONSOLE eq "1")
|
||||
warn "dosemu running on console"
|
||||
$xxx = $_video
|
||||
if ($_console) $xxx = $xxx, " console"
|
||||
if ($_console == auto) $xxx = $xxx, " auto" endif
|
||||
endif
|
||||
if ($_graphics) $xxx = $xxx, " graphics"
|
||||
if ($_graphics == auto) $xxx = $xxx, " auto" endif
|
||||
endif
|
||||
$xxx = $xxx, " vbios_seg ", $_vbios_seg, " vbios_size ",
|
||||
$_vbios_size, " memsize ", $_vmemsize
|
||||
if (strlen($_chipset)) $yyy = $_chipset else $yyy = "plainvga" endif
|
||||
$xxx = $xxx, " chipset ", $yyy
|
||||
if ($_vbios_post) $xxx = $xxx, " vbios_post " endif
|
||||
if ($_dualmon) $xxx = $xxx, " dualmon" endif
|
||||
if (strlen($_vbios_file)) $xxx = $xxx, " vgaemubios_file ", $_vbios_file endif
|
||||
video { $$xxx }
|
||||
else
|
||||
warn "dosemu not running on console"
|
||||
$xxx = $_video
|
||||
if (strlen($_vbios_file)) $xxx = $xxx, " vgaemubios_file ", $_vbios_file endif
|
||||
if ($_dualmon) $xxx = $xxx, " dualmon " endif
|
||||
if (strlen($xxx)) video { $$xxx } endif
|
||||
endif
|
||||
|
||||
## sound settings
|
||||
sound $_sound
|
||||
sound_emu { sb_base $_sb_base
|
||||
sb_irq $_sb_irq
|
||||
sb_dma $_sb_dma
|
||||
sb_hdma $_sb_hdma
|
||||
mpu_base $_mpu_base
|
||||
mpu_base_mt32 $_mpu_base_mt32
|
||||
midi_synth $_midi_synth
|
||||
mpu_irq $_mpu_irq
|
||||
mpu_irq_mt32 $_mpu_irq_mt32
|
||||
sound_driver $_sound_driver
|
||||
midi_driver $_midi_driver
|
||||
fluid_sfont $_fluid_sfont
|
||||
fluid_volume $_fluid_volume
|
||||
munt_roms $_munt_roms
|
||||
opl2lpt_dev $_opl2lpt_dev
|
||||
opl2lpt_type $_opl2lpt_type
|
||||
snd_plugin_params $_snd_plugin_params
|
||||
pcm_hpf $_pcm_hpf
|
||||
midi_file $_midi_file
|
||||
wav_file $_wav_file
|
||||
}
|
||||
|
||||
## joystick settings
|
||||
joystick_emu { joy_device $_joy_device joy_dos_min $_joy_dos_min
|
||||
joy_dos_max $_joy_dos_max joy_granularity $_joy_granularity
|
||||
joy_latency $_joy_latency }
|
||||
|
||||
## hacks
|
||||
cli_timeout $_cli_timeout
|
||||
timemode $_timemode
|
||||
timer_tweaks $_timer_tweaks
|
||||
|
||||
file_lock_limit $$_file_lock_limit
|
||||
lfn_support $_lfn_support
|
||||
force_int_revect $_force_int_revect
|
||||
set_int_hooks $_set_int_hooks
|
||||
trace_irets $_trace_irets
|
||||
force_fs_redirect $_force_fs_redirect
|
||||
|
||||
## serial
|
||||
$xxx = "'", $_ttylocks, "'"
|
||||
ttylocks { directory $$xxx namestub LCK.. }
|
||||
if (1) # no idea why but we need this...
|
||||
foreach $xxx (" ", "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16")
|
||||
$zzz = "$_com", $xxx
|
||||
$zzz = $$zzz
|
||||
if (strlen($zzz))
|
||||
$jjj = ""
|
||||
if (strchr($zzz, " ") > 0)
|
||||
$yyy = strsplit($zzz, strchr($zzz, " ") + 1, 999)
|
||||
$zzz = strdel($zzz, strchr($zzz, " "), 999)
|
||||
else
|
||||
$yyy = ""
|
||||
endif
|
||||
if (strchr($zzz, "/") == 0)
|
||||
if (strchr($yyy, " ") > 0)
|
||||
$jjj = strsplit($yyy, strchr($yyy, " ") + 1, 999)
|
||||
$yyy = strdel($yyy, strchr($yyy, " "), 999)
|
||||
endif
|
||||
if (strlen($jjj) > 0)
|
||||
serial { com $xxx device $zzz $$yyy $jjj }
|
||||
else
|
||||
serial { com $xxx device $zzz $$yyy }
|
||||
endif
|
||||
else
|
||||
if (strlen($yyy) > 0)
|
||||
serial { com $xxx $$zzz $yyy }
|
||||
else
|
||||
serial { com $xxx $$zzz }
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
done
|
||||
endif
|
||||
|
||||
## mouse settings
|
||||
if ($_mouse_internal)
|
||||
$xxx = ""
|
||||
if ($_mouse_baud)
|
||||
$xxx = "baudrate ", $_mouse_baud
|
||||
endif
|
||||
$xxx = $xxx, " device '", $_mouse_dev, "'"
|
||||
mouse { $$_mouse $$_mouse_flags $$xxx internaldriver mouse_ungrab_tweak $_mouse_ungrab_tweak }
|
||||
else
|
||||
$xxx = "'", $_mouse_dev, "'"
|
||||
mouse { $$_mouse device $$xxx }
|
||||
endif
|
||||
|
||||
hogthreshold $_hogthreshold
|
||||
|
||||
## keyboard setting
|
||||
if ($DOSEMU_STDIN_IS_CONSOLE ne "1") $_rawkeyboard = (off) endif
|
||||
if ( strstr($_layout, "load") <0 )
|
||||
# we use the builtin keytables
|
||||
if (strlen($_layout)) $yyy = $_layout else $yyy = "us" endif
|
||||
keyboard { layout $yyy rawkeyboard $_rawkeyboard }
|
||||
else
|
||||
# we have to load a keytable
|
||||
$yyy = ""
|
||||
if (1) # no idea why (see com as well) but we need this...
|
||||
foreach $zzz ($LIST_DELIM, $_layout)
|
||||
if ($zzz ne "load")
|
||||
$yyy = $zzz
|
||||
endif
|
||||
done
|
||||
endif
|
||||
if (!strlen($yyy))
|
||||
abort "no keytable name in $_layout"
|
||||
endif
|
||||
shell("test -f ", $DOSEMU_LIB_DIR, "/keymap/", $yyy)
|
||||
if ( $DOSEMU_SHELL_RETURN)
|
||||
abort "keytable ",$yyy, " not found in ", $DOSEMU_LIB_DIR, "/keymap/*"
|
||||
endif
|
||||
$_layout = 'include "keymap/', $yyy, '"' ;
|
||||
$$_layout
|
||||
keyboard { rawkeyboard $_rawkeyboard }
|
||||
endif
|
||||
|
||||
bootdrive $_bootdrive
|
||||
swap_bootdrive $_swap_bootdrive
|
||||
|
||||
if (strlen($_floppy_a))
|
||||
$fpath = strsplit($_floppy_a, 0, strstr($_floppy_a, ":"))
|
||||
if (strlen($fpath))
|
||||
$ftype = strsplit($_floppy_a, strstr($_floppy_a, ":")+1, 999)
|
||||
else
|
||||
$fpath = $_floppy_a
|
||||
$ftype = ""
|
||||
endif
|
||||
|
||||
$zzz = $fpath
|
||||
if (strlen($zzz))
|
||||
if (strchr($zzz, "/") != 0)
|
||||
$izzz = $DOSEMU_IMAGE_DIR, "/", $zzz
|
||||
$xxx = shell("test -r ", $izzz);
|
||||
if (!$DOSEMU_SHELL_RETURN)
|
||||
$zzz = $izzz
|
||||
endif
|
||||
endif
|
||||
$xxx = shell("test -r ", $zzz);
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
warn "**** Warning: floppy ", $zzz, " not accessible, disabled";
|
||||
else
|
||||
shell("test -d '", $zzz, "'")
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
floppy { device $$zzz $$ftype }
|
||||
else
|
||||
floppy { directory $$zzz $$ftype }
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
if (strlen($_floppy_b))
|
||||
$fpath = strsplit($_floppy_b, 0, strstr($_floppy_b, ":"))
|
||||
if (strlen($fpath))
|
||||
$ftype = strsplit($_floppy_b, strstr($_floppy_b, ":")+1, 999)
|
||||
else
|
||||
$fpath = $_floppy_b
|
||||
$ftype = ""
|
||||
endif
|
||||
|
||||
$zzz = $fpath
|
||||
if (strlen($zzz))
|
||||
if (strchr($zzz, "/") != 0)
|
||||
$izzz = $DOSEMU_IMAGE_DIR, "/", $zzz
|
||||
$xxx = shell("test -r ", $izzz);
|
||||
if (!$DOSEMU_SHELL_RETURN)
|
||||
$zzz = $izzz
|
||||
endif
|
||||
endif
|
||||
$xxx = shell("test -r ", $zzz);
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
warn "**** Warning: floppy ", $zzz, " not accessible, disabled";
|
||||
else
|
||||
shell("test -d '", $zzz, "'")
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
floppy { device $$zzz $$ftype }
|
||||
else
|
||||
floppy { directory $$zzz $$ftype }
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
fastfloppy 1
|
||||
|
||||
## setting up hdimages
|
||||
$xxx = shell("ls ", $DOSEMU_IMAGE_DIR, "/drives/*.lnk 2>/dev/null")
|
||||
if (strlen($xxx))
|
||||
error "Compatibility warning: found deprecated setup of dosemu2 pre-alpha version."
|
||||
error " If you do not intend to run such old dosemu2 versions "
|
||||
error " (dosemu1 is fine), please do:"
|
||||
error " rm ~/.dosemu/drives/*.lnk"
|
||||
error " You may also do"
|
||||
error " rm -rf ~/.dosemu/drives"
|
||||
error " if you dont intend to run dosemu1."
|
||||
endif
|
||||
if (strlen($_hdimage))
|
||||
foreach $xxxx ($LIST_DELIM, $_hdimage)
|
||||
$xxx_pref = ""
|
||||
$xxx_suff = ""
|
||||
if (strchr($xxxx, "*") != -1)
|
||||
$xxx_pref = strdel($xxxx, strchr($xxxx, "*"), 999);
|
||||
$xxx_suff = strsplit($xxxx, strchr($xxxx, "*") + 1, 999);
|
||||
if (strchr($xxx_pref, "/") == 0)
|
||||
$xxxx = shell("cd '", $xxx_pref, "' 2>/dev/null && printf *")
|
||||
else
|
||||
$xxxx = shell("cd '", $DOSEMU_IMAGE_DIR, "/", $xxx_pref, "' 2>/dev/null && printf *")
|
||||
endif
|
||||
if ($DOSEMU_SHELL_RETURN)
|
||||
abort "**** directory ", $xxx_pref, " not accessible";
|
||||
endif
|
||||
endif
|
||||
if (strchr($xxxx, "+") == 0)
|
||||
default_drives strtol(strdel($xxxx, 0, 1))
|
||||
else if (strchr($xxxx, "-") == 0)
|
||||
skip_drives strtol(strdel($xxxx, 0, 1))
|
||||
else if (strlen($xxxx))
|
||||
foreach $xxx ($LIST_DELIM, $xxxx)
|
||||
$xxx = $xxx_pref, $xxx, $xxx_suff
|
||||
if (!strncmp($xxx, "/dev/", 4))
|
||||
$yyy = strdel($xxx, strstr($xxx, ":"), 999);
|
||||
$zzz = strsplit($xxx, strstr($xxx, ":"), 999);
|
||||
if (strtol(strdel($xxx,0,8)) > 0)
|
||||
disk { partition $yyy $$zzz };
|
||||
else
|
||||
disk { wholedisk $yyy $$zzz };
|
||||
endif
|
||||
else
|
||||
$yyy = strdel($xxx, strstr($xxx, ":"), 999);
|
||||
$zzz = strsplit($xxx, strstr($xxx, ":"), 999);
|
||||
if (strchr($yyy, "/") != 0)
|
||||
$yyyy = $DOSEMU_IMAGE_DIR, "/", $yyy
|
||||
$yyy = $yyyy
|
||||
endif
|
||||
shell("test -d '", $yyy, "'")
|
||||
if (!$DOSEMU_SHELL_RETURN)
|
||||
disk { directory $yyy $$zzz };
|
||||
else
|
||||
shell("test -f '", $yyy, "'")
|
||||
if (!$DOSEMU_SHELL_RETURN)
|
||||
disk { image $yyy $$zzz };
|
||||
else
|
||||
abort "hdimage ", $yyy, " not found"
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
done
|
||||
endif endif endif
|
||||
done
|
||||
endif
|
||||
|
||||
## setting up CDROM devices
|
||||
if (strlen($_cdrom))
|
||||
foreach $xxx ($LIST_DELIM, $_cdrom)
|
||||
cdrom { $xxx }
|
||||
done
|
||||
endif
|
||||
|
||||
## setting up ASPI devices
|
||||
ifndef restricted
|
||||
if (strlen($_aspi))
|
||||
foreach $xxx ($LIST_DELIM, $_aspi)
|
||||
$zz = (1);
|
||||
$yy2 = ""; $yy3 = (-1);
|
||||
if(strlen($xxx))
|
||||
foreach $yyy (":", $xxx)
|
||||
$zzz = "$yy", $zz, " = $yyy";
|
||||
$zz = ($zz + 1);
|
||||
$$zzz
|
||||
done;
|
||||
endif;
|
||||
aspi { $yy1 devicetype $yy2 target $yy3 };
|
||||
done
|
||||
endif
|
||||
endif
|
||||
|
||||
ipxsupport $_ipxsupport
|
||||
ipx_network $_ipx_network
|
||||
novell_hack $_novell_hack
|
||||
if (1) # no idea why but we need this...
|
||||
foreach $xxx (" ", "1 2 3 4 5 6 7 8 9")
|
||||
$zzz = "$_lpt", $xxx
|
||||
$zzz = $$zzz
|
||||
if ((strstr($zzz, "direct") != -1) && (strchr($zzz, ' ') != -1))
|
||||
$zzz = strdel($zzz, 0, strchr($zzz, ' ') + 1)
|
||||
printer { lpt $xxx file $zzz timeout $_printer_timeout }
|
||||
else if (strlen($zzz))
|
||||
$zzz = "'", $zzz, "'"
|
||||
printer { lpt $xxx command $$zzz timeout $_printer_timeout }
|
||||
endif
|
||||
done
|
||||
endif
|
||||
|
||||
if (strlen($_speaker))
|
||||
$xxx = "speaker ", $_speaker;
|
||||
$$xxx
|
||||
else
|
||||
speaker off
|
||||
endif
|
||||
ifdef restricted
|
||||
## /etc/dosemu.users defined 'restricted' for this login
|
||||
define c_normal
|
||||
undef c_all
|
||||
if ($_vnet eq "vde" || !$_pktdriver)
|
||||
vdeswitch $_vdeswitch
|
||||
slirpargs $_slirpargs
|
||||
vnet $_vnet
|
||||
pktdriver $_pktdriver
|
||||
endif
|
||||
if ($_pci)
|
||||
pci auto
|
||||
endif
|
||||
else
|
||||
# here are the root requiring options
|
||||
if (strlen($_irqpassing))
|
||||
$yyy = "irqpassing { "
|
||||
if (strlen($_irqpassing))
|
||||
foreach $xxx (" ", $_irqpassing)
|
||||
$yyy = $yyy, "use_sigio ", $xxx
|
||||
done
|
||||
endif
|
||||
$yyy = $yyy, " }";
|
||||
$$yyy
|
||||
else
|
||||
irqpassing off
|
||||
endif
|
||||
if (strlen($_hardware_ram))
|
||||
hardware_ram { $$_hardware_ram }
|
||||
endif
|
||||
ethdev $_ethdev
|
||||
tapdev $_tapdev
|
||||
vdeswitch $_vdeswitch
|
||||
slirpargs $_slirpargs
|
||||
netsock $_netsock
|
||||
vnet $_vnet
|
||||
pktdriver $_pktdriver
|
||||
ne2k $_ne2k
|
||||
if (strlen($_ports)) ports { $$_ports } endif
|
||||
pci $_pci
|
||||
endif
|
||||
|
||||
if (strlen($_unix_exec))
|
||||
unix_exec $_unix_exec
|
||||
endif
|
||||
if (strlen($_lredir_paths))
|
||||
lredir_paths $_lredir_paths
|
||||
endif
|
||||
if (strlen($_hostfs_drives))
|
||||
hostfs_drives $_hostfs_drives
|
||||
endif
|
||||
|
||||
## setting up the features list
|
||||
if ( ( ($DOSEMU_VERSION_CODE >= ((98 << 16) | (3 << 8) | 3))
|
||||
&& ($DOSEMU_VERSION_CODE < (99 << 16)) )
|
||||
|| ($DOSEMU_VERSION_CODE > ((99 << 16) | (5 << 8))) )
|
||||
if (strlen($_features))
|
||||
foreach $xxx ($LIST_DELIM, $_features)
|
||||
$yyy = strdel($xxx, strstr($xxx, ":"), 999);
|
||||
$zzz = strsplit($xxx, strstr($xxx, ":"), 999);
|
||||
if (strlen($zzz))
|
||||
$zzz = strsplit($zzz, 1, 999);
|
||||
else
|
||||
$zzz = (0);
|
||||
endif
|
||||
feature { $yyy = $zzz };
|
||||
done
|
||||
endif
|
||||
endif
|
||||
|
||||
endif
|
||||
#############################################################################
|
29
etc/keymap/be
Normal file
29
etc/keymap/be
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable be
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"&",130,34,39,"(",21,138,"!",128,133,")-",127,9,
|
||||
"azertyuiop",dcircum,"$",13,0,"qs",
|
||||
"dfghjklm",151,253,0,230,"wxcv",
|
||||
"bn,;:=",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"1234567890",248,"_",127,9,
|
||||
"AZERTYUIOP",ddiares,"*",13,0,"QS",
|
||||
"DFGHJKLM%",252,0,156,"WXCV",
|
||||
"BN?./+",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"|@#",0,0,"^",0,0,"{}",dabover,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"[]",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,dacute,dgrave,0,dgrave,0,0,0,0,
|
||||
0,0,dcedilla,0,0,dtilde,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
29
etc/keymap/cz-qwerty
Normal file
29
etc/keymap/cz-qwerty
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable cz-qwerty
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"+",216,231,159,253,167,236,160,161,130,"=",dacute,127,9,
|
||||
"qwertyuiop",163,")",13,0,"as",
|
||||
"dfghjkl",133,245,";",0,ddiares,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"&",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"1234567890%",dcaron,127,9,
|
||||
"QWERTYUIOP/(",13,0,"AS",
|
||||
"DFGHJKL",34,"!",248,0,39,"ZXCV",
|
||||
"BNM?:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"*",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",dcaron,dcircum,dbreve,248,dogonek,dgrave,daboved,dacute,ddacute,ddiares,dcedilla,0,0,
|
||||
92,"|",169,0,0,0,0,0,162,0,246,158,0,0,165,208,
|
||||
209,"[]",0,0,136,157,"$",225,0,0,207,">#",134,"@",
|
||||
"{}",0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
29
etc/keymap/cz-qwertz
Normal file
29
etc/keymap/cz-qwertz
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable cz-qwertz
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"+",216,231,159,253,167,236,160,161,130,"=",dacute,127,9,
|
||||
"qwertzuiop",163,")",13,0,"as",
|
||||
"dfghjkl",133,245,";",0,ddiares,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"&",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"1234567890%",dcaron,127,9,
|
||||
"QWERTZUIOP/(",13,0,"AS",
|
||||
"DFGHJKL",34,"!",248,0,39,"YXCV",
|
||||
"BNM?:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"*",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",dcaron,dcircum,dbreve,248,dogonek,dgrave,daboved,dacute,ddacute,ddiares,dcedilla,0,0,
|
||||
92,"|",169,0,0,0,0,0,162,0,246,158,0,0,165,208,
|
||||
209,"[]",0,0,136,157,"$",225,0,0,207,">#",134,"@",
|
||||
"{}",0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/de
Normal file
29
etc/keymap/de
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable de
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",225,39,127,9,
|
||||
"qwertzuiop",129,"+",13,0,"as",
|
||||
"dfghjkl",148,132,"^",0,"#yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,156,"$%&/()=?",96,127,9,
|
||||
"QWERTZUIOP",154,"*",13,0,"AS",
|
||||
"DFGHJKL",153,142,248,0,39,"YXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,253,252,0,0,0,"{[]}",92,0,0,0,
|
||||
"@",0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/de-latin1
Normal file
29
etc/keymap/de-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable de-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",225,dacute,127,9,
|
||||
"qwertzuiop",129,"+",13,0,"as",
|
||||
"dfghjkl",148,132,dcircum,0,"#yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,21,"$%&/()=?",dgrave,127,9,
|
||||
"QWERTZUIOP",154,"*",13,0,"AS",
|
||||
"DFGHJKL",153,142,248,0,39,"YXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,253,252,"$",0,0,"{[]}",92,0,0,0,
|
||||
"@",0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,230,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/dk
Normal file
29
etc/keymap/dk
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable dk
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",39,127,9,
|
||||
"qwertyuiop",134,0,13,0,"as",
|
||||
"dfghjkl",145,155,0,0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",96,127,9,
|
||||
"QWERTYUIOP",143,"^",13,0,"AS",
|
||||
"DFGHJKL",146,157,0,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",163,"$",0,0,"{[]}",0,"|",0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/dk-latin1
Normal file
29
etc/keymap/dk-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable dk-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",180,127,9,
|
||||
"qwertyuiop",229,168,13,0,"as",
|
||||
"dfghjkl",230,162,189,0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",96,127,9,
|
||||
"QWERTYUIOP",197,"^",13,0,"AS",
|
||||
"DFGHJKL",198,165,167,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",163,"$",0,0,"{[]}",0,"|",0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,92,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/dvorak
Normal file
29
etc/keymap/dvorak
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable dvorak
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",92,"=",127,9,
|
||||
39,",.pyfgcrl/]",13,0,"ao",
|
||||
"euidhtns-",96,0,"[;qjk",
|
||||
"xbmwvz",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!@#$%^&*()|+",127,9,
|
||||
34,"<>PYFGCRL?}",13,0,"AO",
|
||||
"EUIDHTNS_~",0,"{:QJK",
|
||||
"XBMWVZ",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",0,"$",0,0,"{[]}",92,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/es
Normal file
29
etc/keymap/es
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable es
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",39,0,127,9,
|
||||
"qwertyuiop",96,"+",13,0,"as",
|
||||
"dfghjkl",0,39,96,0,0,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",0,127,9,
|
||||
"QWERTYUIOP^*",13,0,"AS",
|
||||
"DFGHJKL",0,0,"~",0,0,"ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"|@#$",0,0,"{[]}",92,"~",0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"[]",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,"{",92,0,"}",0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"~",0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/es-latin1
Normal file
29
etc/keymap/es-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable es-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",39,173,127,9,
|
||||
"qwertyuiop",dgrave,"+",13,0,"as",
|
||||
"dfghjkl",164,dacute,167,0,135,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,250,"$%&/()=?",168,127,9,
|
||||
"QWERTYUIOP",dcircum,"*",13,0,"AS",
|
||||
"DFGHJKL",165,ddiares,166,0,128,"ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"|@#$",0,172,"{[]}",92,"~",0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"[]",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,"{",92,0,"}",0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"~",0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/finnish
Normal file
29
etc/keymap/finnish
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable finnish
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",39,127,9,
|
||||
"qwertyuiop}",0,13,0,"as",
|
||||
"dfghjkl|{",0,0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",96,127,9,
|
||||
"QWERTYUIOP]^",13,0,"AS",
|
||||
"DFGHJKL",92,"[",0,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",163,"$",0,0,"{[]}",92,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/finnish-latin1
Normal file
29
etc/keymap/finnish-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable finnish-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",180,127,9,
|
||||
"qwertyuiop",134,168,13,0,"as",
|
||||
"dfghjkl",148,132,167,0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",96,127,9,
|
||||
"QWERTYUIOP",143,"^",13,0,"AS",
|
||||
"DFGHJKL",153,142,171,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",156,"$",0,0,"{[]}",92,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/fr
Normal file
29
etc/keymap/fr
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable fr
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"&{",34,39,"(-}_/@)=",127,9,
|
||||
"azertyuiop^$",13,0,"qs",
|
||||
"dfghjklm|",96,0,"*wxcv",
|
||||
"bn,;:!",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"1234567890]+",127,9,
|
||||
"AZERTYUIOP<>",13,0,"QS",
|
||||
"DFGHJKLM%~",0,"#WXCV",
|
||||
"BN?./",92,0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"~#{[|",96,92,"^@]}",0,0,
|
||||
"@",0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
29
etc/keymap/fr-latin1
Normal file
29
etc/keymap/fr-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable fr-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"&",130,34,39,"(-",138,"_",135,133,")=",127,9,
|
||||
"azertyuiop",dcircum,"$",13,0,"qs",
|
||||
"dfghjklm",151,253,0,"*wxcv",
|
||||
"bn,;:!",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"1234567890",248,"+",127,9,
|
||||
"AZERTYUIOP",ddiares,156,13,0,"QS",
|
||||
"DFGHJKLM%~",0,230,"WXCV",
|
||||
"BN?./",167,0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"~#{[|",96,92,"^@]}",0,0,
|
||||
"@",0,0,0,0,0,0,0,0,0,0,164,13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
29
etc/keymap/hr-cp852
Normal file
29
etc/keymap/hr-cp852
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable hr-cp852
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",39,"+",127,9,
|
||||
"qwertzuiop",231,208,13,0,"as",
|
||||
"dfghjkl",159,134,0,0,167,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?*",127,9,
|
||||
"QWERTZUIOP",230,209,13,0,"AS",
|
||||
"DFGHJKL",172,143,0,0,166,"YXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",183,"^",244,248,242,96,250,239,241,249,247,0,0,
|
||||
92,"|",0,0,0,0,0,0,0,0,246,158,13,0,0,0,
|
||||
0,"[]",0,0,146,145,92,225,0,0,207,0,0,0,"@",
|
||||
"{}",245,0,"|/",0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/hr-latin2
Normal file
29
etc/keymap/hr-latin2
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable hr-latin2
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",39,"+",127,9,
|
||||
"qwertzuiop",185,240,13,0,"as",
|
||||
"dfghjkl",232,230,0,0,190,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?*",127,9,
|
||||
"QWERTZUIOP",169,208,13,0,"AS",
|
||||
"DFGHJKL",200,198,0,0,174,"YXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",183,"^",162,176,178,96,255,180,189,168,184,0,0,
|
||||
92,"|",0,0,0,0,0,0,0,0,247,215,13,0,0,0,
|
||||
0,"[]",0,0,179,163,92,223,0,0,164,0,0,0,"@",
|
||||
"{}",167,0,"|/",0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/hu
Normal file
29
etc/keymap/hu
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable hu
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"123456789",148,129,162,127,9,
|
||||
"qwertzuiop",139,163,13,0,"as",
|
||||
"dfghjkl",130,160,"0",0,251,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,39,34,"+!%/=()",153,154,39,127,9,
|
||||
"QWERTZUIOP",138,233,13,0,"AS",
|
||||
"DFGHJKL",144,181,21,"0",235,"YXCV",
|
||||
"BNM?:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,146,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",dcaron,dcircum,dbreve,248,dogonek,dgrave,daboved,dacute,ddacute,ddiares,dcedilla,0,0,
|
||||
92,"|",0,0,0,0,0,146,0,0,246,158,13,0,0,208,
|
||||
209,"[]",0,161,136,157,"$",225,0,0,207,">#&@",
|
||||
"{}",0,";",0,"*",0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/hu-cwi
Normal file
29
etc/keymap/hu-cwi
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable hu-cwi
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"123456789",148,129,162,127,9,
|
||||
"qwertzuiop",147,163,13,0,"as",
|
||||
"dfghjkl",130,160,"0",0,150,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,161,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,39,34,"+!%/=()",153,154,149,127,9,
|
||||
"QWERTZUIOP",167,151,13,0,"AS",
|
||||
"DFGHJKL",144,143,21,"0",152,"YXCV",
|
||||
"BNM?:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,141,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",dcaron,dcircum,dbreve,248,dogonek,dgrave,daboved,dacute,ddacute,ddiares,dcedilla,0,0,
|
||||
92,"|",0,0,0,0,0,141,0,0,246,0,13,0,0,0,
|
||||
0,"[]",0,161,0,0,"$",225,0,0,0,">#&@",
|
||||
"{}",0,";",0,"*",0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/hu-latin2
Normal file
29
etc/keymap/hu-latin2
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable hu-latin2
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"123456789",246,252,243,127,9,
|
||||
"qwertzuiop",245,250,13,0,"as",
|
||||
"dfghjkl",233,225,"0",0,251,"yxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,237,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,39,34,"+!%/=()",214,220,211,127,9,
|
||||
"QWERTZUIOP",213,218,13,0,"AS",
|
||||
"DFGHJKL",201,193,21,"0",219,"YXCV",
|
||||
"BNM?:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,205,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,"~",dcaron,dcircum,dbreve,248,dogonek,dgrave,daboved,dacute,ddacute,ddiares,dcedilla,0,0,
|
||||
92,"|",0,0,0,0,0,205,0,0,247,215,13,0,0,240,
|
||||
208,"[]",0,237,179,163,"$",223,0,0,164,">#&@",
|
||||
"{}",0,";",0,"*",0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/it
Normal file
29
etc/keymap/it
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable it
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890",39,141,127,9,
|
||||
"qwertyuiop",138,"+",13,0,"as",
|
||||
"dfghjkl",149,133,92,0,151,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,156,"$%&/()=?^",127,9,
|
||||
"QWERTYUIOP",130,"*",13,0,"AS",
|
||||
"DFGHJKL",135,248,"|0",21,"ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",0,"$",0,0,"{[]}{}",0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"[]",13,0,0,0,
|
||||
0,0,0,0,0,0,0,"@#",0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,"|",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
35
etc/keymap/jp106
Normal file
35
etc/keymap/jp106
Normal file
@ -0,0 +1,35 @@
|
||||
#keytable jp106
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890-^",127,9,
|
||||
"qwertyuiop@[",13,0,"as",
|
||||
"dfghjkl;:",96,0,"]zxcv",
|
||||
"bnm,./",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"0",0,0,92,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,92,0,0,0,0,0,0,0,0,0,92,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&",39,"()~=~",127,9,
|
||||
"QWERTYUIOP",96,"{",dgrave,0,"AS",
|
||||
"DFGHJKL+*~0}ZXCV",
|
||||
"BNM<>?",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"0",0,0,"_",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,"_",0,0,0,0,0,0,0,0,0,"|",0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230."
|
||||
}
|
29
etc/keymap/keyb-no
Normal file
29
etc/keymap/keyb-no
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable keyb-no
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",92,127,9,
|
||||
"qwertyuiop}~",13,0,"as",
|
||||
"dfghjkl|{|",0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",96,127,9,
|
||||
"QWERTYUIOP]^",13,0,"AS",
|
||||
"DFGHJKL",92,"[",0,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",0,"$",0,0,"{[]}",0,39,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,"~",13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
29
etc/keymap/no-latin1
Normal file
29
etc/keymap/no-latin1
Normal file
@ -0,0 +1,29 @@
|
||||
#keytable no-latin1
|
||||
keytable "keyb-user" {
|
||||
0=
|
||||
0,27,"1234567890+",92,127,9,
|
||||
"qwertyuiop",134,ddiares,13,0,"as",
|
||||
"dfghjkl",155,145,"|",0,39,"zxcv",
|
||||
"bnm,.-",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,"<",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
shift 0=
|
||||
0,27,"!",34,"#$%&/()=?",dgrave,127,9,
|
||||
"QWERTYUIOP",143,dcircum,13,0,"AS",
|
||||
"DFGHJKL",157,146,245,0,"*ZXCV",
|
||||
"BNM;:_",0,"*",0," ",0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,"-",0,0,0,"+",0,
|
||||
0,0,0,0,0,0,">",0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
alt 0=
|
||||
0,0,0,"@",156,207,0,0,"{[]}",0,dacute,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,dtilde,13,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||
0
|
||||
numpad 0=
|
||||
"789-456+1230,"
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user