mirror of
https://github.com/retro100/dosbox-wii.git
synced 2024-12-25 18:11:50 +01:00
sync with SVN
This commit is contained in:
parent
d7f0bbb505
commit
b6e39ef9fe
22
AUTHORS
22
AUTHORS
@ -1,11 +1,11 @@
|
|||||||
The DOSBox Team
|
The DOSBox Team
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Sjoerd v.d. Berg <harekiet>
|
Sjoerd v.d. Berg <harekiet>
|
||||||
Peter Veenstra <qbix79>
|
Peter Veenstra <qbix79>
|
||||||
Ulf Wohlers <finsterr>
|
Ulf Wohlers <finsterr>
|
||||||
Tommy Frössman <fanskapet>
|
Tommy Frössman <fanskapet>
|
||||||
Dean Beeler <canadacow>
|
Dean Beeler <canadacow>
|
||||||
Sebastian Strohhäcker <c2woody>
|
Sebastian Strohhäcker <c2woody>
|
||||||
|
|
||||||
nick_without_<> @ users.sourceforge.net
|
nick_without_<> @ users.sourceforge.net
|
||||||
|
680
COPYING
680
COPYING
@ -1,340 +1,340 @@
|
|||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
Version 2, June 1991
|
Version 2, June 1991
|
||||||
|
|
||||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
Everyone is permitted to copy and distribute verbatim copies
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
of this license document, but changing it is not allowed.
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
Preamble
|
Preamble
|
||||||
|
|
||||||
The licenses for most software are designed to take away your
|
The licenses for most software are designed to take away your
|
||||||
freedom to share and change it. By contrast, the GNU General Public
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
License is intended to guarantee your freedom to share and change free
|
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
|
software--to make sure the software is free for all its users. This
|
||||||
General Public License applies to most of the Free Software
|
General Public License applies to most of the Free Software
|
||||||
Foundation's software and to any other program whose authors commit to
|
Foundation's software and to any other program whose authors commit to
|
||||||
using it. (Some other Free Software Foundation software is covered by
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
the GNU Library General Public License instead.) You can apply it to
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
your programs, too.
|
your programs, too.
|
||||||
|
|
||||||
When we speak of free software, we are referring to freedom, not
|
When we speak of free software, we are referring to freedom, not
|
||||||
price. Our General Public Licenses are designed to make sure that you
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
have the freedom to distribute copies of free software (and charge for
|
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
|
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
|
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.
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
To protect your rights, we need to make restrictions that forbid
|
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.
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
These restrictions translate to certain responsibilities for you if you
|
These restrictions translate to certain responsibilities for you if you
|
||||||
distribute copies of the software, or if you modify it.
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
For example, if you distribute copies of such a program, whether
|
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
|
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
|
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
|
source code. And you must show them these terms so they know their
|
||||||
rights.
|
rights.
|
||||||
|
|
||||||
We protect your rights with two steps: (1) copyright the software, and
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
(2) offer you this license which gives you legal permission to copy,
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
distribute and/or modify the software.
|
distribute and/or modify the software.
|
||||||
|
|
||||||
Also, for each author's protection and ours, we want to make certain
|
Also, for each author's protection and ours, we want to make certain
|
||||||
that everyone understands that there is no warranty for this free
|
that everyone understands that there is no warranty for this free
|
||||||
software. If the software is modified by someone else and passed on, we
|
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
|
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
|
that any problems introduced by others will not reflect on the original
|
||||||
authors' reputations.
|
authors' reputations.
|
||||||
|
|
||||||
Finally, any free program is threatened constantly by software
|
Finally, any free program is threatened constantly by software
|
||||||
patents. We wish to avoid the danger that redistributors of a free
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
program will individually obtain patent licenses, in effect making the
|
program will individually obtain patent licenses, in effect making the
|
||||||
program proprietary. To prevent this, we have made it clear that any
|
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.
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
The precise terms and conditions for copying, distribution and
|
The precise terms and conditions for copying, distribution and
|
||||||
modification follow.
|
modification follow.
|
||||||
|
|
||||||
GNU GENERAL PUBLIC LICENSE
|
GNU GENERAL PUBLIC LICENSE
|
||||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
0. This License applies to any program or other work which contains
|
0. This License applies to any program or other work which contains
|
||||||
a notice placed by the copyright holder saying it may be distributed
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
under the terms of this General Public License. The "Program", below,
|
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"
|
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:
|
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,
|
that is to say, a work containing the Program or a portion of it,
|
||||||
either verbatim or with modifications and/or translated into another
|
either verbatim or with modifications and/or translated into another
|
||||||
language. (Hereinafter, translation is included without limitation in
|
language. (Hereinafter, translation is included without limitation in
|
||||||
the term "modification".) Each licensee is addressed as "you".
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
Activities other than copying, distribution and modification are not
|
Activities other than copying, distribution and modification are not
|
||||||
covered by this License; they are outside its scope. The act of
|
covered by this License; they are outside its scope. The act of
|
||||||
running the Program is not restricted, and the output from the Program
|
running the Program is not restricted, and the output from the Program
|
||||||
is covered only if its contents constitute a work based on the
|
is covered only if its contents constitute a work based on the
|
||||||
Program (independent of having been made by running the Program).
|
Program (independent of having been made by running the Program).
|
||||||
Whether that is true depends on what the Program does.
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
1. You may copy and distribute verbatim copies of the Program's
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
source code as you receive it, in any medium, provided that you
|
source code as you receive it, in any medium, provided that you
|
||||||
conspicuously and appropriately publish on each copy an appropriate
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
copyright notice and disclaimer of warranty; keep intact all the
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
notices that refer to this License and to the absence of any warranty;
|
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
|
and give any other recipients of the Program a copy of this License
|
||||||
along with the Program.
|
along with the Program.
|
||||||
|
|
||||||
You may charge a fee for the physical act of transferring a copy, and
|
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.
|
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
|
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
|
of it, thus forming a work based on the Program, and copy and
|
||||||
distribute such modifications or work under the terms of Section 1
|
distribute such modifications or work under the terms of Section 1
|
||||||
above, provided that you also meet all of these conditions:
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
a) You must cause the modified files to carry prominent notices
|
a) You must cause the modified files to carry prominent notices
|
||||||
stating that you changed the files and the date of any change.
|
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
|
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
|
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
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
parties under the terms of this License.
|
parties under the terms of this License.
|
||||||
|
|
||||||
c) If the modified program normally reads commands interactively
|
c) If the modified program normally reads commands interactively
|
||||||
when run, you must cause it, when started running for such
|
when run, you must cause it, when started running for such
|
||||||
interactive use in the most ordinary way, to print or display an
|
interactive use in the most ordinary way, to print or display an
|
||||||
announcement including an appropriate copyright notice and a
|
announcement including an appropriate copyright notice and a
|
||||||
notice that there is no warranty (or else, saying that you provide
|
notice that there is no warranty (or else, saying that you provide
|
||||||
a warranty) and that users may redistribute the program under
|
a warranty) and that users may redistribute the program under
|
||||||
these conditions, and telling the user how to view a copy of this
|
these conditions, and telling the user how to view a copy of this
|
||||||
License. (Exception: if the Program itself is interactive but
|
License. (Exception: if the Program itself is interactive but
|
||||||
does not normally print such an announcement, your work based on
|
does not normally print such an announcement, your work based on
|
||||||
the Program is not required to print an announcement.)
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
These requirements apply to the modified work as a whole. If
|
These requirements apply to the modified work as a whole. If
|
||||||
identifiable sections of that work are not derived from the Program,
|
identifiable sections of that work are not derived from the Program,
|
||||||
and can be reasonably considered independent and separate works in
|
and can be reasonably considered independent and separate works in
|
||||||
themselves, then this License, and its terms, do not apply to those
|
themselves, then this License, and its terms, do not apply to those
|
||||||
sections when you distribute them as separate works. But when you
|
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
|
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
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
this License, whose permissions for other licensees extend to the
|
this License, whose permissions for other licensees extend to the
|
||||||
entire whole, and thus to each and every part regardless of who wrote it.
|
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
|
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
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
exercise the right to control the distribution of derivative or
|
exercise the right to control the distribution of derivative or
|
||||||
collective works based on the Program.
|
collective works based on the Program.
|
||||||
|
|
||||||
In addition, mere aggregation of another work not 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
|
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
|
a storage or distribution medium does not bring the other work under
|
||||||
the scope of this License.
|
the scope of this License.
|
||||||
|
|
||||||
3. You may copy and distribute the Program (or a work based on it,
|
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
|
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:
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
a) Accompany it with the complete corresponding machine-readable
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
source code, which must be distributed under the terms of Sections
|
source code, which must be distributed under the terms of Sections
|
||||||
1 and 2 above on a medium customarily used for software interchange; or,
|
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
|
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
|
years, to give any third party, for a charge no more than your
|
||||||
cost of physically performing source distribution, a complete
|
cost of physically performing source distribution, a complete
|
||||||
machine-readable copy of the corresponding source code, to be
|
machine-readable copy of the corresponding source code, to be
|
||||||
distributed under the terms of Sections 1 and 2 above on a medium
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
customarily used for software interchange; or,
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
c) Accompany it with the information you received as to the offer
|
c) Accompany it with the information you received as to the offer
|
||||||
to distribute corresponding source code. (This alternative is
|
to distribute corresponding source code. (This alternative is
|
||||||
allowed only for noncommercial distribution and only if you
|
allowed only for noncommercial distribution and only if you
|
||||||
received the program in object code or executable form with such
|
received the program in object code or executable form with such
|
||||||
an offer, in accord with Subsection b above.)
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
The source code for a work means the preferred form of the work for
|
The source code for a work means the preferred form of the work for
|
||||||
making modifications to it. For an executable work, complete source
|
making modifications to it. For an executable work, complete source
|
||||||
code means all the source code for all modules it contains, plus any
|
code means all the source code for all modules it contains, plus any
|
||||||
associated interface definition files, plus the scripts used to
|
associated interface definition files, plus the scripts used to
|
||||||
control compilation and installation of the executable. However, as a
|
control compilation and installation of the executable. However, as a
|
||||||
special exception, the source code distributed need not include
|
special exception, the source code distributed need not include
|
||||||
anything that is normally distributed (in either source or binary
|
anything that is normally distributed (in either source or binary
|
||||||
form) with the major components (compiler, kernel, and so on) of the
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
operating system on which the executable runs, unless that component
|
operating system on which the executable runs, unless that component
|
||||||
itself accompanies the executable.
|
itself accompanies the executable.
|
||||||
|
|
||||||
If distribution of executable or object code is made by offering
|
If distribution of executable or object code is made by offering
|
||||||
access to copy from a designated place, then offering equivalent
|
access to copy from a designated place, then offering equivalent
|
||||||
access to copy the source code from the same place counts as
|
access to copy the source code from the same place counts as
|
||||||
distribution of the source code, even though third parties are not
|
distribution of the source code, even though third parties are not
|
||||||
compelled to copy the source along with the object code.
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
4. You may not copy, modify, sublicense, or distribute the Program
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
except as expressly provided under this License. Any attempt
|
except as expressly provided under this License. Any attempt
|
||||||
otherwise to copy, modify, sublicense or distribute the Program is
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
void, and will automatically terminate your rights under this License.
|
void, and will automatically terminate your rights under this License.
|
||||||
However, parties who have received copies, or rights, from you under
|
However, parties who have received copies, or rights, from you under
|
||||||
this License will not have their licenses terminated so long as such
|
this License will not have their licenses terminated so long as such
|
||||||
parties remain in full compliance.
|
parties remain in full compliance.
|
||||||
|
|
||||||
5. You are not required to accept this License, since you have not
|
5. You are not required to accept this License, since you have not
|
||||||
signed it. However, nothing else grants you permission to modify or
|
signed it. However, nothing else grants you permission to modify or
|
||||||
distribute the Program or its derivative works. These actions are
|
distribute the Program or its derivative works. These actions are
|
||||||
prohibited by law if you do not accept this License. Therefore, by
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
modifying or distributing the Program (or any work based on the
|
modifying or distributing the Program (or any work based on the
|
||||||
Program), you indicate your acceptance of this License to do so, and
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
all its terms and conditions for copying, distributing or modifying
|
all its terms and conditions for copying, distributing or modifying
|
||||||
the Program or works based on it.
|
the Program or works based on it.
|
||||||
|
|
||||||
6. Each time you redistribute the Program (or any work based on the
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
Program), the recipient automatically receives a license from the
|
Program), the recipient automatically receives a license from the
|
||||||
original licensor to copy, distribute or modify the Program subject to
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
these terms and conditions. You may not impose any further
|
these terms and conditions. You may not impose any further
|
||||||
restrictions on the recipients' exercise of the rights granted herein.
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
You are not responsible for enforcing compliance by third parties to
|
You are not responsible for enforcing compliance by third parties to
|
||||||
this License.
|
this License.
|
||||||
|
|
||||||
7. If, as a consequence of a court judgment or allegation of patent
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
infringement or for any other reason (not limited to patent issues),
|
infringement or for any other reason (not limited to patent issues),
|
||||||
conditions are imposed on you (whether by court order, agreement or
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
otherwise) that contradict the conditions of this License, they do not
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
excuse you from the conditions of this License. If you cannot
|
excuse you from the conditions of this License. If you cannot
|
||||||
distribute so as to satisfy simultaneously your obligations under this
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
License and any other pertinent obligations, then as a consequence you
|
License and any other pertinent obligations, then as a consequence you
|
||||||
may not distribute the Program at all. For example, if a patent
|
may not distribute the Program at all. For example, if a patent
|
||||||
license would not permit royalty-free redistribution of the Program by
|
license would not permit royalty-free redistribution of the Program by
|
||||||
all those who receive copies directly or indirectly through you, then
|
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
|
the only way you could satisfy both it and this License would be to
|
||||||
refrain entirely from distribution of the Program.
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
If any portion of this section is held invalid or unenforceable under
|
If any portion of this section is held invalid or unenforceable under
|
||||||
any particular circumstance, the balance of the section is intended to
|
any particular circumstance, the balance of the section is intended to
|
||||||
apply and the section as a whole is intended to apply in other
|
apply and the section as a whole is intended to apply in other
|
||||||
circumstances.
|
circumstances.
|
||||||
|
|
||||||
It is not the purpose of this section to induce you to infringe any
|
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
|
patents or other property right claims or to contest validity of any
|
||||||
such claims; this section has the sole purpose of protecting the
|
such claims; this section has the sole purpose of protecting the
|
||||||
integrity of the free software distribution system, which is
|
integrity of the free software distribution system, which is
|
||||||
implemented by public license practices. Many people have made
|
implemented by public license practices. Many people have made
|
||||||
generous contributions to the wide range of software distributed
|
generous contributions to the wide range of software distributed
|
||||||
through that system in reliance on consistent application of that
|
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
|
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
|
to distribute software through any other system and a licensee cannot
|
||||||
impose that choice.
|
impose that choice.
|
||||||
|
|
||||||
This section is intended to make thoroughly clear what is believed to
|
This section is intended to make thoroughly clear what is believed to
|
||||||
be a consequence of the rest of this License.
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
8. If the distribution and/or use of the Program is restricted in
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
certain countries either by patents or by copyrighted interfaces, the
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
original copyright holder who places the Program under this License
|
original copyright holder who places the Program under this License
|
||||||
may add an explicit geographical distribution limitation excluding
|
may add an explicit geographical distribution limitation excluding
|
||||||
those countries, so that distribution is permitted only in or among
|
those countries, so that distribution is permitted only in or among
|
||||||
countries not thus excluded. In such case, this License incorporates
|
countries not thus excluded. In such case, this License incorporates
|
||||||
the limitation as if written in the body of this License.
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
9. The Free Software Foundation may publish revised and/or new versions
|
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
|
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
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
address new problems or concerns.
|
address new problems or concerns.
|
||||||
|
|
||||||
Each version is given a distinguishing version number. If the Program
|
Each version is given a distinguishing version number. If the Program
|
||||||
specifies a version number of this License which applies to it and "any
|
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
|
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
|
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
|
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
|
this License, you may choose any version ever published by the Free Software
|
||||||
Foundation.
|
Foundation.
|
||||||
|
|
||||||
10. If you wish to incorporate parts of the Program into other free
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
programs whose distribution conditions are different, write to the author
|
programs whose distribution conditions are different, write to the author
|
||||||
to ask for permission. For software which is copyrighted by the Free
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
make exceptions for this. Our decision will be guided by the two goals
|
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 preserving the free status of all derivatives of our free software and
|
||||||
of promoting the sharing and reuse of software generally.
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
NO WARRANTY
|
NO WARRANTY
|
||||||
|
|
||||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS 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
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
REPAIR OR CORRECTION.
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
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
|
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,
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
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
|
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
|
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
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
POSSIBILITY OF SUCH DAMAGES.
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
END OF TERMS AND CONDITIONS
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
How to Apply These Terms to Your New Programs
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
If you develop a new program, and you want it to be of the greatest
|
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
|
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.
|
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 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
|
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
|
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.
|
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.>
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
Copyright (C) <year> <name of author>
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
This program is free software; you can redistribute it and/or modify
|
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
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
|
||||||
Also add information on how to contact you by electronic and paper mail.
|
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
|
If the program is interactive, make it output a short notice like this
|
||||||
when it starts in an interactive mode:
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
Gnomovision version 69, Copyright (C) year name of author
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
This is free software, and you are welcome to redistribute it
|
This is free software, and you are welcome to redistribute it
|
||||||
under certain conditions; type `show c' for details.
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
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
|
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
|
be called something other than `show w' and `show c'; they could even be
|
||||||
mouse-clicks or menu items--whatever suits your program.
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
You should also get your employer (if you work as a programmer) or your
|
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
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
necessary. Here is a sample; alter the names:
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
<signature of Ty Coon>, 1 April 1989
|
<signature of Ty Coon>, 1 April 1989
|
||||||
Ty Coon, President of Vice
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
This General Public License does not permit incorporating your program into
|
This General Public License does not permit incorporating your program into
|
||||||
proprietary programs. If your program is a subroutine library, you may
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
consider it more useful to permit linking proprietary applications with the
|
consider it more useful to permit linking proprietary applications with the
|
||||||
library. If this is what you want to do, use the GNU Library General
|
library. If this is what you want to do, use the GNU Library General
|
||||||
Public License instead of this License.
|
Public License instead of this License.
|
||||||
|
208
INSTALL
208
INSTALL
@ -1,104 +1,104 @@
|
|||||||
Things needed for compilation.
|
Things needed for compilation.
|
||||||
|
|
||||||
SDL
|
SDL
|
||||||
The Simple DirectMedia Library available at http://www.libsdl.org
|
The Simple DirectMedia Library available at http://www.libsdl.org
|
||||||
The dll distributed with the windows version of DOSBox is slightly
|
The dll distributed with the windows version of DOSBox is slightly
|
||||||
modified. You can find the changes in the sourcepackage of DOSBox
|
modified. You can find the changes in the sourcepackage of DOSBox
|
||||||
(src/platform/sdl-win32.diff). If you want the patched sourcetree
|
(src/platform/sdl-win32.diff). If you want the patched sourcetree
|
||||||
send us an email. (see README)
|
send us an email. (see README)
|
||||||
Licensed under LGPL
|
Licensed under LGPL
|
||||||
Note that only version 1.2 and its subversions (1.2.8, 1.2.13 etc.)
|
Note that only version 1.2 and its subversions (1.2.8, 1.2.13 etc.)
|
||||||
are currently supported.
|
are currently supported.
|
||||||
|
|
||||||
Curses (optional)
|
Curses (optional)
|
||||||
If you want to enable the debugger you need a curses library.
|
If you want to enable the debugger you need a curses library.
|
||||||
ncurses should be installed on just about every unix distro.
|
ncurses should be installed on just about every unix distro.
|
||||||
For win32 get pdcurses at http://pdcurses.sourceforge.net
|
For win32 get pdcurses at http://pdcurses.sourceforge.net
|
||||||
License: Open source
|
License: Open source
|
||||||
|
|
||||||
Libpng (optional)
|
Libpng (optional)
|
||||||
Needed for the screenshots.
|
Needed for the screenshots.
|
||||||
For win32 get libpng from http://gnuwin32.sourceforge.net/packages.html
|
For win32 get libpng from http://gnuwin32.sourceforge.net/packages.html
|
||||||
See http://www.libpng.org/pub/png/ for more details.
|
See http://www.libpng.org/pub/png/ for more details.
|
||||||
License: Open Source
|
License: Open Source
|
||||||
|
|
||||||
Zlib (optional)
|
Zlib (optional)
|
||||||
Needed by libpng.
|
Needed by libpng.
|
||||||
For win32 get libz (rename to zlib) from http://gnuwin32.sourceforge.net/packages.html
|
For win32 get libz (rename to zlib) from http://gnuwin32.sourceforge.net/packages.html
|
||||||
See http://www.zlib.net for more details.
|
See http://www.zlib.net for more details.
|
||||||
License: Open Source
|
License: Open Source
|
||||||
|
|
||||||
SDL_Net (optional)
|
SDL_Net (optional)
|
||||||
For modem/ipx support. Get it from http://www.libsdl.org/projects/SDL_net/
|
For modem/ipx support. Get it from http://www.libsdl.org/projects/SDL_net/
|
||||||
Licensed under LGPL
|
Licensed under LGPL
|
||||||
|
|
||||||
SDL_Sound
|
SDL_Sound
|
||||||
For compressed audio on diskimages. (optional)
|
For compressed audio on diskimages. (optional)
|
||||||
This is for cue/bin cdrom images with compressed (mp3/ogg) audio tracks.
|
This is for cue/bin cdrom images with compressed (mp3/ogg) audio tracks.
|
||||||
Get it from http://icculus.org/SDL_sound
|
Get it from http://icculus.org/SDL_sound
|
||||||
Licenced under LGPL
|
Licenced under LGPL
|
||||||
|
|
||||||
ALSA_Headers
|
ALSA_Headers
|
||||||
(optional)
|
(optional)
|
||||||
for Alsa support under linux. Part of the linux kernel sources
|
for Alsa support under linux. Part of the linux kernel sources
|
||||||
Licensed under LGPL
|
Licensed under LGPL
|
||||||
|
|
||||||
If you want compile from the CVS under a unix system, you'll also need
|
If you want compile from the CVS under a unix system, you'll also need
|
||||||
automake (>=1.6), autoconf(>=2.50). Should be available at http://www.gnu.org
|
automake (>=1.6), autoconf(>=2.50). Should be available at http://www.gnu.org
|
||||||
|
|
||||||
For building on unix systems.
|
For building on unix systems.
|
||||||
If you are building from the cvs run ./autogen.sh first before doing the following.
|
If you are building from the cvs run ./autogen.sh first before doing the following.
|
||||||
|
|
||||||
1. ./configure
|
1. ./configure
|
||||||
2. make
|
2. make
|
||||||
|
|
||||||
In step 1 you could add the following switches:
|
In step 1 you could add the following switches:
|
||||||
--enable-debug
|
--enable-debug
|
||||||
enables the internal debugger. --enable-debug=heavy enables even more
|
enables the internal debugger. --enable-debug=heavy enables even more
|
||||||
debug options. DOSBox should then be run from a xterm and when the sdl-
|
debug options. DOSBox should then be run from a xterm and when the sdl-
|
||||||
window is active press alt-pause to enter the debugger.
|
window is active press alt-pause to enter the debugger.
|
||||||
|
|
||||||
--enable-core-inline
|
--enable-core-inline
|
||||||
enables some memory increasing inlines. This greatly increases
|
enables some memory increasing inlines. This greatly increases
|
||||||
compiletime for maybe a increase in speed.
|
compiletime for maybe a increase in speed.
|
||||||
|
|
||||||
--disable-fpu
|
--disable-fpu
|
||||||
disables the emulated fpu. Although the fpu emulation code isn't
|
disables the emulated fpu. Although the fpu emulation code isn't
|
||||||
finished and isn't entirely accurate it's advised to leave it on.
|
finished and isn't entirely accurate it's advised to leave it on.
|
||||||
|
|
||||||
--disable-fpu-x86
|
--disable-fpu-x86
|
||||||
disables the assembly fpu core. Although relatively new the x86 fpu
|
disables the assembly fpu core. Although relatively new the x86 fpu
|
||||||
core has more accuracy then the regular fpu core.
|
core has more accuracy then the regular fpu core.
|
||||||
|
|
||||||
--disable-dynamic-x86
|
--disable-dynamic-x86
|
||||||
disables the dynamic x86 specific cpu core. Although it might be
|
disables the dynamic x86 specific cpu core. Although it might be
|
||||||
be a bit unstable, it can greatly improve the speed of dosbox on x86
|
be a bit unstable, it can greatly improve the speed of dosbox on x86
|
||||||
hosts.
|
hosts.
|
||||||
Please note that this option on x86 will result in a different
|
Please note that this option on x86 will result in a different
|
||||||
dynamic/recompiling cpu core being compiled then the default.
|
dynamic/recompiling cpu core being compiled then the default.
|
||||||
For more information see the option --disable-dynrec
|
For more information see the option --disable-dynrec
|
||||||
|
|
||||||
--disable-dynrec
|
--disable-dynrec
|
||||||
disables the recompiling cpu core. Currently x86 and x86_64 only.
|
disables the recompiling cpu core. Currently x86 and x86_64 only.
|
||||||
You can activate this core on x86 by disabling the dynamic-x86 core.
|
You can activate this core on x86 by disabling the dynamic-x86 core.
|
||||||
|
|
||||||
--disable-dynamic-core
|
--disable-dynamic-core
|
||||||
disables all dynamic cores. (same effect as
|
disables all dynamic cores. (same effect as
|
||||||
--disable-dynamic-x86 --disable-dynrec)
|
--disable-dynamic-x86 --disable-dynrec)
|
||||||
|
|
||||||
--disable-opengl
|
--disable-opengl
|
||||||
disables OpenGL-support (output mode that can be selected in the
|
disables OpenGL-support (output mode that can be selected in the
|
||||||
DOSBox configuration file).
|
DOSBox configuration file).
|
||||||
|
|
||||||
--disable-unaligned-memory
|
--disable-unaligned-memory
|
||||||
disables unaligned memory access.
|
disables unaligned memory access.
|
||||||
|
|
||||||
Check the src subdir for the binary.
|
Check the src subdir for the binary.
|
||||||
|
|
||||||
NOTE: If capslock and numlock appear to be broken. open
|
NOTE: If capslock and numlock appear to be broken. open
|
||||||
src/ints/bios_keyboard.cpp and go to line 30 and read there how to fix it.
|
src/ints/bios_keyboard.cpp and go to line 30 and read there how to fix it.
|
||||||
|
|
||||||
|
|
||||||
Build instructions for VC++6
|
Build instructions for VC++6
|
||||||
Don't use VC++ 6: it creates faulty code in core_normal.cpp
|
Don't use VC++ 6: it creates faulty code in core_normal.cpp
|
||||||
Later Visual Studio versions work fine (vs2003/.net, vs2005, vs2008)
|
Later Visual Studio versions work fine (vs2003/.net, vs2005, vs2008)
|
||||||
|
56
THANKS
56
THANKS
@ -1,28 +1,28 @@
|
|||||||
We would like to thank:
|
We would like to thank:
|
||||||
|
|
||||||
|
|
||||||
Vlad R. of the vdmsound project for excellent sound blaster info.
|
Vlad R. of the vdmsound project for excellent sound blaster info.
|
||||||
Tatsuyuki Satoh of the Mame Team for making an excellent FM emulator.
|
Tatsuyuki Satoh of the Mame Team for making an excellent FM emulator.
|
||||||
Jarek Burczynski for the new OPL3 emulator.
|
Jarek Burczynski for the new OPL3 emulator.
|
||||||
Ken Silverman for his work on an OPL2 emulator.
|
Ken Silverman for his work on an OPL2 emulator.
|
||||||
|
|
||||||
The Bochs and DOSemu projects which I used for information.
|
The Bochs and DOSemu projects which I used for information.
|
||||||
Freedos for ideas in making my shell.
|
Freedos for ideas in making my shell.
|
||||||
|
|
||||||
Pierre-Yves Gérardy for hosting the old Beta Board.
|
Pierre-Yves Gérardy for hosting the old Beta Board.
|
||||||
Colin Snover for hosting our forum.
|
Colin Snover for hosting our forum.
|
||||||
|
|
||||||
Sourceforge for hosting our homepage and other development tools.
|
Sourceforge for hosting our homepage and other development tools.
|
||||||
Mirek Luza, for his moderation of the forums.
|
Mirek Luza, for his moderation of the forums.
|
||||||
eL_Pusher, DosFreak and MiniMax for their moderation of VOGONS forum.
|
eL_Pusher, DosFreak and MiniMax for their moderation of VOGONS forum.
|
||||||
|
|
||||||
crazyc, gulikoza, M-HT for their work on the dynrec core.
|
crazyc, gulikoza, M-HT for their work on the dynrec core.
|
||||||
|
|
||||||
Jantien for the version management.
|
Jantien for the version management.
|
||||||
Shawn, Johannes and Marcus for creating the MAC OS X version.
|
Shawn, Johannes and Marcus for creating the MAC OS X version.
|
||||||
Jochen for creating the OS/2 version.
|
Jochen for creating the OS/2 version.
|
||||||
Ido Beeri for the icon.
|
Ido Beeri for the icon.
|
||||||
GOG Team for the splash screen.
|
GOG Team for the splash screen.
|
||||||
All the people who submitted a bug.
|
All the people who submitted a bug.
|
||||||
The Beta Testers.
|
The Beta Testers.
|
||||||
|
|
||||||
|
@ -305,7 +305,7 @@ AC_SUBST(ALSA_LIBS)
|
|||||||
|
|
||||||
AH_TOP([
|
AH_TOP([
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
28
autogen.sh
28
autogen.sh
@ -1,14 +1,14 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
echo "Generating build information using aclocal, autoheader, automake and autoconf"
|
echo "Generating build information using aclocal, autoheader, automake and autoconf"
|
||||||
echo "This may take a while ..."
|
echo "This may take a while ..."
|
||||||
|
|
||||||
# Regenerate configuration files.
|
# Regenerate configuration files.
|
||||||
|
|
||||||
aclocal
|
aclocal
|
||||||
autoheader
|
autoheader
|
||||||
automake --include-deps --add-missing --copy
|
automake --include-deps --add-missing --copy
|
||||||
autoconf
|
autoconf
|
||||||
|
|
||||||
echo "Now you are ready to run ./configure."
|
echo "Now you are ready to run ./configure."
|
||||||
echo "You can also run ./configure --help for extra features to enable/disable."
|
echo "You can also run ./configure --help for extra features to enable/disable."
|
||||||
|
1056
configure.in
1056
configure.in
File diff suppressed because it is too large
Load Diff
100
docs/PORTING
100
docs/PORTING
@ -1,50 +1,50 @@
|
|||||||
Some notes about porting DOSBox to systems with certain restrictions,
|
Some notes about porting DOSBox to systems with certain restrictions,
|
||||||
like handheld devices.
|
like handheld devices.
|
||||||
|
|
||||||
General:
|
General:
|
||||||
- depending on where you start off with the port, assure that the
|
- depending on where you start off with the port, assure that the
|
||||||
config.h entries are correct/exhausting, like GCC_ATTRIBUTE is
|
config.h entries are correct/exhausting, like GCC_ATTRIBUTE is
|
||||||
required (struct packing) but is undefined if you base the port
|
required (struct packing) but is undefined if you base the port
|
||||||
on msvc sources which have a special config.h
|
on msvc sources which have a special config.h
|
||||||
|
|
||||||
If memory is a constraint:
|
If memory is a constraint:
|
||||||
- in paging.h out-comment the USE_FULL_TLB define to enable special
|
- in paging.h out-comment the USE_FULL_TLB define to enable special
|
||||||
TLB linking code that uses less memory
|
TLB linking code that uses less memory
|
||||||
drawback: none (the code is not heavily tested though)
|
drawback: none (the code is not heavily tested though)
|
||||||
gain: reduces memory requirements about ~15mb
|
gain: reduces memory requirements about ~15mb
|
||||||
- in render.h lower the scaler integration:
|
- in render.h lower the scaler integration:
|
||||||
#define RENDER_USE_ADVANCED_SCALERS 1
|
#define RENDER_USE_ADVANCED_SCALERS 1
|
||||||
or
|
or
|
||||||
#define RENDER_USE_ADVANCED_SCALERS 0
|
#define RENDER_USE_ADVANCED_SCALERS 0
|
||||||
drawback: complex scalers and the scaler cache are disabled,
|
drawback: complex scalers and the scaler cache are disabled,
|
||||||
be sure to test if this affects speed!
|
be sure to test if this affects speed!
|
||||||
with define RENDER_USE_ADVANCED_SCALERS==0 most simple
|
with define RENDER_USE_ADVANCED_SCALERS==0 most simple
|
||||||
scalers are disabled as well, some graphics modes won't
|
scalers are disabled as well, some graphics modes won't
|
||||||
work due to reduced cache sizes
|
work due to reduced cache sizes
|
||||||
gain: ~2mb with RENDER_USE_ADVANCED_SCALERS==1
|
gain: ~2mb with RENDER_USE_ADVANCED_SCALERS==1
|
||||||
~5mb with RENDER_USE_ADVANCED_SCALERS==0
|
~5mb with RENDER_USE_ADVANCED_SCALERS==0
|
||||||
- in dos_system.h reduce the drive cache entries:
|
- in dos_system.h reduce the drive cache entries:
|
||||||
#define MAX_OPENDIRS 256
|
#define MAX_OPENDIRS 256
|
||||||
drawback: some apps might not work with large directory trees
|
drawback: some apps might not work with large directory trees
|
||||||
gain: ~1mb per mounted drive
|
gain: ~1mb per mounted drive
|
||||||
- remove the GUS emulation (gus.cpp, especially GUSRam[1024*1024] )
|
- remove the GUS emulation (gus.cpp, especially GUSRam[1024*1024] )
|
||||||
drawback: no gravis ultrasound
|
drawback: no gravis ultrasound
|
||||||
gain: reduces memory requirements about 1mb
|
gain: reduces memory requirements about 1mb
|
||||||
- reduce the size of the emulated graphics memory:
|
- reduce the size of the emulated graphics memory:
|
||||||
see the memory sizing in SVGA_Setup_*, especially the defaults
|
see the memory sizing in SVGA_Setup_*, especially the defaults
|
||||||
in vga_s3.cpp's SVGA_Setup_S3Trio
|
in vga_s3.cpp's SVGA_Setup_S3Trio
|
||||||
drawback: some graphics modes won't work then
|
drawback: some graphics modes won't work then
|
||||||
gain: reduces memory requirements
|
gain: reduces memory requirements
|
||||||
TODO: fully check this, introduce hard limits
|
TODO: fully check this, introduce hard limits
|
||||||
|
|
||||||
If speed is a constraint:
|
If speed is a constraint:
|
||||||
- see if the simple core is faster, possibly remove the normal core
|
- see if the simple core is faster, possibly remove the normal core
|
||||||
set the simple core as default
|
set the simple core as default
|
||||||
drawback: one game is known to not work with the simple core;
|
drawback: one game is known to not work with the simple core;
|
||||||
the simple core does only work for games which don't use paging
|
the simple core does only work for games which don't use paging
|
||||||
(when paging is requested the normal core is used automatically)
|
(when paging is requested the normal core is used automatically)
|
||||||
gain: the simple core should be somewhat faster
|
gain: the simple core should be somewhat faster
|
||||||
TODO: add possibility to easily remove the normal core, use fullcore fallback
|
TODO: add possibility to easily remove the normal core, use fullcore fallback
|
||||||
- raise the default frameskip value
|
- raise the default frameskip value
|
||||||
drawback: minor graphics smoothness loss for some games (video playback)
|
drawback: minor graphics smoothness loss for some games (video playback)
|
||||||
gain: reduces graphics load
|
gain: reduces graphics load
|
||||||
|
@ -1,35 +1,35 @@
|
|||||||
Starting with version 0.65, DOSBox allows you to create movies out of screen
|
Starting with version 0.65, DOSBox allows you to create movies out of screen
|
||||||
output.
|
output.
|
||||||
|
|
||||||
To record a movie, you have to press CTRL-ALT-F5.
|
To record a movie, you have to press CTRL-ALT-F5.
|
||||||
To stop/end the recording, you have to press CTRL-ALT-F5 again.
|
To stop/end the recording, you have to press CTRL-ALT-F5 again.
|
||||||
|
|
||||||
To play the recorded movie, you need a movie player which can handle the
|
To play the recorded movie, you need a movie player which can handle the
|
||||||
ZMBV codec. MS Windows users can find this codec in the start menu entry of
|
ZMBV codec. MS Windows users can find this codec in the start menu entry of
|
||||||
DOSBox. Users of Linux and other OSes should look for a movie player that
|
DOSBox. Users of Linux and other OSes should look for a movie player that
|
||||||
uses the ffmpeg libary (you may need to update or ask your distribution to
|
uses the ffmpeg libary (you may need to update or ask your distribution to
|
||||||
upgrade).
|
upgrade).
|
||||||
|
|
||||||
FAQ:
|
FAQ:
|
||||||
Q: During the display of the movies the sound is lagging.
|
Q: During the display of the movies the sound is lagging.
|
||||||
A: Check your display properties to see whether your refresh rate is set to
|
A: Check your display properties to see whether your refresh rate is set to
|
||||||
at least 70 hz. Try playing the movie in virtualdub (http://virtualdub.sf.net)
|
at least 70 hz. Try playing the movie in virtualdub (http://virtualdub.sf.net)
|
||||||
|
|
||||||
Q: Why does the resulting movie consist of multiple files?
|
Q: Why does the resulting movie consist of multiple files?
|
||||||
A: Each time the game changes resolution, DOSBox creates a new movie file,
|
A: Each time the game changes resolution, DOSBox creates a new movie file,
|
||||||
because a movie file can only contain one resolution.
|
because a movie file can only contain one resolution.
|
||||||
|
|
||||||
Q: Can I set the cycles higher than my PC can handle during recording?
|
Q: Can I set the cycles higher than my PC can handle during recording?
|
||||||
A: Yes. During recording, the game might play slowly and stuttering, but the
|
A: Yes. During recording, the game might play slowly and stuttering, but the
|
||||||
resulting movie should play at the intended speed and have no stuttering.
|
resulting movie should play at the intended speed and have no stuttering.
|
||||||
|
|
||||||
Q: CTRL-ALT-F5 switches to the console under linux.
|
Q: CTRL-ALT-F5 switches to the console under linux.
|
||||||
A: 1. Start DOSBox like this: dosbox -startmapper
|
A: 1. Start DOSBox like this: dosbox -startmapper
|
||||||
2. Click on Video, click on Add
|
2. Click on Video, click on Add
|
||||||
3. Press the key you want (for example scroll lock or printscreen)
|
3. Press the key you want (for example scroll lock or printscreen)
|
||||||
4. Click exit.
|
4. Click exit.
|
||||||
5. You can make movies by pressing scroll lock or whichever key you
|
5. You can make movies by pressing scroll lock or whichever key you
|
||||||
selected.
|
selected.
|
||||||
|
|
||||||
Q: The colours are wrong and I'm using 64 bit windows
|
Q: The colours are wrong and I'm using 64 bit windows
|
||||||
A: Look here: http://vogons.zetafleet.com/viewtopic.php?t=12133
|
A: Look here: http://vogons.zetafleet.com/viewtopic.php?t=12133
|
||||||
|
724
docs/dosbox.1
724
docs/dosbox.1
@ -1,361 +1,363 @@
|
|||||||
.\" Hey, EMACS: -*- nroff -*-
|
.\" Hey, EMACS: -*- nroff -*-
|
||||||
.TH DOSBOX 1 "May 27, 2009"
|
.TH DOSBOX 1 "May 27, 2009"
|
||||||
.\" Please adjust this date whenever revising the manpage.
|
.\" Please adjust this date whenever revising the manpage.
|
||||||
.SH NAME
|
.SH NAME
|
||||||
dosbox \- an x86/DOS emulator with sound/graphics
|
dosbox \- an x86/DOS emulator with sound/graphics
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B dosbox
|
.B dosbox
|
||||||
.B [\-fullscreen]
|
.B [\-fullscreen]
|
||||||
.B [\-startmapper]
|
.B [\-startmapper]
|
||||||
.B [\-noautoexec]
|
.B [\-noautoexec]
|
||||||
.B [\-securemode]
|
.B [\-securemode]
|
||||||
.BI "[\-scaler " scaler ]
|
.BI "[\-scaler " scaler ]
|
||||||
.BI "[\-forcescaler " scaler ]
|
.BI "[\-forcescaler " scaler ]
|
||||||
.BI "[\-conf " configfile ]
|
.BI "[\-conf " configfile ]
|
||||||
.BI "[\-lang " langfile ]
|
.BI "[\-lang " langfile ]
|
||||||
.B [file]
|
.B [file]
|
||||||
.BI "[\-c " command ]
|
.BI "[\-c " command ]
|
||||||
.B [\-exit]
|
.B [\-exit]
|
||||||
.BI "[\-machine " machinetype ]
|
.BI "[\-machine " machinetype ]
|
||||||
.LP
|
.LP
|
||||||
.B dosbox \-version
|
.B dosbox \-version
|
||||||
.LP
|
.LP
|
||||||
.BI "dosbox \-editconf" " program"
|
.BI "dosbox \-editconf" " program"
|
||||||
.LP
|
.LP
|
||||||
.BI "dosbox \-opencaptures" " program"
|
.BI "dosbox \-opencaptures" " program"
|
||||||
.LP
|
.LP
|
||||||
.B dosbox \-printconf
|
.B dosbox \-printconf
|
||||||
.LP
|
.LP
|
||||||
.B dosbox \-eraseconf
|
.B dosbox \-eraseconf
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
This manual page briefly documents
|
This manual page briefly documents
|
||||||
.BR "dosbox" ", an x86/DOS emulator."
|
.BR "dosbox" ", an x86/DOS emulator."
|
||||||
.LP
|
.LP
|
||||||
.RB "The optional " file " argument should be a DOS executable or a"
|
.RB "The optional " file " argument should be a DOS executable or a"
|
||||||
directory. If it is a dos executable (.com .exe .bat) the program will
|
directory. If it is a dos executable (.com .exe .bat) the program will
|
||||||
run automatically. If it is a directory, a DOS session will run with
|
run automatically. If it is a directory, a DOS session will run with
|
||||||
the directory mounted as C:\\.
|
the directory mounted as C:\\.
|
||||||
.LP
|
.LP
|
||||||
.RI "For an introduction type " INTRO
|
.RI "For an introduction type " INTRO
|
||||||
.RB "inside " dosbox .
|
.RB "inside " dosbox .
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
A summary of options is included below.
|
A summary of options is included below.
|
||||||
.TP
|
.TP
|
||||||
.B \-fullscreen
|
.B \-fullscreen
|
||||||
.RB "Start " dosbox " in fullscreen mode."
|
.RB "Start " dosbox " in fullscreen mode."
|
||||||
.TP
|
.TP
|
||||||
.B \-startmapper
|
.B \-startmapper
|
||||||
.RB "Start the internal keymapper on startup of " dosbox ". You can use it to change the keys " dosbox " uses."
|
.RB "Start the internal keymapper on startup of " dosbox ". You can use it to change the keys " dosbox " uses."
|
||||||
.TP
|
.TP
|
||||||
.B \-noautoexec
|
.B \-noautoexec
|
||||||
Skips the [autoexec] section of the loaded configuration file.
|
Skips the [autoexec] section of the loaded configuration file.
|
||||||
.TP
|
.TP
|
||||||
.B \-securemode
|
.B \-securemode
|
||||||
.RB "Same as " \-noautoexec ", but adds " "config.com \-securemode"
|
.RB "Same as " \-noautoexec ", but adds " "config.com \-securemode"
|
||||||
at the end of
|
at the end of
|
||||||
.I AUTOEXEC.BAT
|
.I AUTOEXEC.BAT
|
||||||
(which in turn disables any changes to how the drives are mounted
|
(which in turn disables any changes to how the drives are mounted
|
||||||
.RB "inside " dosbox )
|
.RB "inside " dosbox )
|
||||||
.TP
|
.TP
|
||||||
.BI \-scaler " scaler"
|
.BI \-scaler " scaler"
|
||||||
.RI "Uses the graphical scaler specified by " scaler ". See the configuration"
|
.RI "Uses the graphical scaler specified by " scaler ". See the configuration"
|
||||||
file for the available scalers
|
file for the available scalers
|
||||||
.TP
|
.TP
|
||||||
.BI \-forcescaler " scaler"
|
.BI \-forcescaler " scaler"
|
||||||
.RB "Similar to the " \-scaler " parameter, but tries to force usage of"
|
.RB "Similar to the " \-scaler " parameter, but tries to force usage of"
|
||||||
the specified scaler even if it might not fit.
|
the specified scaler even if it might not fit.
|
||||||
.TP
|
.TP
|
||||||
.BI \-c " command"
|
.BI \-c " command"
|
||||||
.RI "Runs the specified " command " before running "
|
.RI "Runs the specified " command " before running "
|
||||||
.BR file .
|
.BR file .
|
||||||
.RI "Multiple commands can be specified. Each " command " should start with "
|
.RI "Multiple commands can be specified. Each " command " should start with "
|
||||||
.BR \-c " though. A command can be:"
|
.BR \-c " though. A command can be:"
|
||||||
an Internal Program, a DOS command or an executable on a mounted drive.
|
an Internal Program, a DOS command or an executable on a mounted drive.
|
||||||
.TP
|
.TP
|
||||||
.BI \-conf " configfile
|
.BI \-conf " configfile
|
||||||
.RB "Start " dosbox " with the options specified in "
|
.RB "Start " dosbox " with the options specified in "
|
||||||
.IR configfile ". This file has a section in which you can put commands you "
|
.IR configfile ". This file has a section in which you can put commands you "
|
||||||
wish to execute on startup. Multiple
|
wish to execute on startup. Multiple
|
||||||
.IR configfiles " can be present at the commandline."
|
.IR configfiles " can be present at the commandline."
|
||||||
.TP
|
.TP
|
||||||
.BI \-lang " langfile
|
.BI \-lang " langfile
|
||||||
.RB "Start " dosbox " with the language specified in "
|
.RB "Start " dosbox " with the language specified in "
|
||||||
.IR langfile .
|
.IR langfile .
|
||||||
.TP
|
.TP
|
||||||
.B "\-exit "
|
.B "\-exit "
|
||||||
.BR "dosbox" " will close itself when the DOS program specified by "file " ends."
|
.BR "dosbox" " will close itself when the DOS program specified by "file " ends."
|
||||||
.TP
|
.TP
|
||||||
.BI \-machine " machinetype
|
.BI \-machine " machinetype
|
||||||
.RB "Setup " dosbox " to emulate a specific type of machine."
|
.RB "Setup " dosbox " to emulate a specific type of machine."
|
||||||
.RI "Valid choices are: " "hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3(default), svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe".
|
.RI "Valid choices are: " "hercules, cga, tandy, pcjr, ega, vgaonly, svga_s3(default), svga_et3000, svga_et4000, svga_paradise, vesa_nolfb, vesa_oldvbe".
|
||||||
The machinetype has influence on both the videocard and the available
|
The machinetype has influence on both the videocard and the available
|
||||||
soundcards.
|
soundcards.
|
||||||
.TP
|
.TP
|
||||||
.B \-version
|
.B \-version
|
||||||
Output version information and exit. Useful for frontends.
|
Output version information and exit. Useful for frontends.
|
||||||
.TP
|
.TP
|
||||||
.BI \-editconf " program"
|
.BI \-editconf " program"
|
||||||
.RI calls " program" " with as first parameter the configuration file."
|
.RI calls " program" " with as first parameter the configuration file."
|
||||||
.R You can specify this command more than once. In this case it will
|
You can specify this command more than once. In this case it will
|
||||||
.RI " move to second " program " if the first one fails to start."
|
.RI " move to second " program " if the first one fails to start."
|
||||||
.TP
|
.TP
|
||||||
.BI \-opencaptures " program"
|
.BI \-opencaptures " program"
|
||||||
.RI "calls " program " with as first paramater the location of the captures folder."
|
.RI "calls " program " with as first paramater the location of the captures folder."
|
||||||
.TP
|
.TP
|
||||||
.B \-printconf
|
.B \-printconf
|
||||||
.R prints the location of the default configuration file.
|
prints the location of the default configuration file.
|
||||||
.TP
|
.TP
|
||||||
.B \-eraseconf
|
.B \-eraseconf
|
||||||
.R removes the default configuration file.
|
removes the default configuration file.
|
||||||
.SH "INTERNAL COMMANDS"
|
.SH "INTERNAL COMMANDS"
|
||||||
.B dosbox
|
.B dosbox
|
||||||
supports most of the DOS commands found in command.com. In addition, the
|
supports most of the DOS commands found in command.com. In addition, the
|
||||||
following extra commands are available:
|
following extra commands are available:
|
||||||
.HP
|
.HP
|
||||||
.BI "MOUNT [\-t " type "] [\-size " size ]
|
.BI "MOUNT [\-t " type "] [\-size " size ]
|
||||||
.I driveletter sourcedirectory
|
.I driveletter sourcedirectory
|
||||||
.B [\-ioctl]
|
.B [\-ioctl]
|
||||||
.BI "[\-usecd " number "] [\-label " drivelabel "] [\-freesize " freesize ]
|
.BI "[\-usecd " number "] [\-label " drivelabel "] [\-freesize " freesize ]
|
||||||
.LP
|
.LP
|
||||||
.B MOUNT \-cd
|
.B MOUNT \-cd
|
||||||
.LP
|
.LP
|
||||||
.B MOUNT \-u driveletter
|
.B MOUNT \-u driveletter
|
||||||
.LP
|
.LP
|
||||||
.RB "Program to mount local directories as drives inside " dosbox .
|
.RB "Program to mount local directories as drives inside " dosbox .
|
||||||
.RS
|
.RS
|
||||||
.TP
|
.TP
|
||||||
.I driveletter
|
.I driveletter
|
||||||
The driveletter inside dosbox (eg. C).
|
The driveletter inside dosbox (eg. C).
|
||||||
.TP
|
.TP
|
||||||
.I sourcedirectory
|
.I sourcedirectory
|
||||||
The local directory you want to have inside dosbox.
|
The local directory you want to have inside dosbox.
|
||||||
.TP
|
.TP
|
||||||
.BI \-t " type"
|
.BI \-t " type"
|
||||||
Type of the mounted directory. Supported are: dir (standard), floppy, cdrom.
|
Type of the mounted directory. Supported are: dir (standard), floppy, cdrom.
|
||||||
.TP
|
.TP
|
||||||
.BI \-size " drivesize"
|
.BI \-size " drivesize"
|
||||||
Sets the size of the drive. See the examples in the README for details.
|
Sets the size of the drive. See the examples in the README for details.
|
||||||
.TP
|
.TP
|
||||||
.BI \-freesize " size_in_mb"
|
.BI \-freesize " size_in_mb"
|
||||||
Sets the amount of free space available on a drive in MB's. This is a more
|
Sets the amount of free space available on a drive in MB's. This is a more
|
||||||
.RB "simple version of " \-size .
|
.RB "simple version of " \-size .
|
||||||
.TP
|
.TP
|
||||||
.BI \-label " drivelabel"
|
.BI \-label " drivelabel"
|
||||||
.RI "Sets the name of the drive to " drivelabel ". Needed on some"
|
.RI "Sets the name of the drive to " drivelabel ". Needed on some"
|
||||||
systems if the cd label isn't read correctly. Useful when a
|
systems if the cd label isn't read correctly. Useful when a
|
||||||
program can't find its cdrom. If you don't specify a label and no
|
program can't find its cdrom. If you don't specify a label and no
|
||||||
.RB "lowlevel support is selected (" "\-usecd #" " and/or " "\-ioctl/aspi" "):"
|
.RB "lowlevel support is selected (" "\-usecd #" " and/or " "\-ioctl/aspi" "):"
|
||||||
.RS
|
.RS
|
||||||
.LP
|
.LP
|
||||||
For win32: label is extracted from "Real Drive".
|
For win32: label is extracted from "Real Drive".
|
||||||
.TP
|
.TP
|
||||||
For Linux: label is set to NO_LABEL.
|
For Linux: label is set to NO_LABEL.
|
||||||
.TP
|
.TP
|
||||||
If you do specify a label this label will be kept as long as the drive
|
If you do specify a label this label will be kept as long as the drive
|
||||||
is mounted. It will not be updated !!
|
is mounted. It will not be updated !!
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B \-ioctl
|
.B \-ioctl
|
||||||
Forces to use ioctl commands.
|
Forces to use ioctl commands.
|
||||||
.TP
|
.TP
|
||||||
.BI \-usecd " number"
|
.BI \-usecd " number"
|
||||||
Forces to use SDL cdrom support for drive number.
|
Forces to use SDL cdrom support for drive number.
|
||||||
.IR Number " can be found by "
|
.IR Number " can be found by "
|
||||||
.BR \-cd ".
|
.BR \-cd ".
|
||||||
.TP
|
.TP
|
||||||
.B \-cd
|
.B \-cd
|
||||||
.RB "Displays all detected cdrom drives and their numbers. Use with " \-usecd "."
|
.RB "Displays all detected cdrom drives and their numbers. Use with " \-usecd "."
|
||||||
.TP
|
.TP
|
||||||
.B \-u
|
.B \-u
|
||||||
Unmounts a mounted drive. Doesn't work on virtual Drives (like Z:\\)
|
Unmounts a mounted drive. Doesn't work on virtual Drives (like Z:\\)
|
||||||
.RE
|
.RE
|
||||||
.PP
|
.PP
|
||||||
.B "Example:"
|
.B "Example:"
|
||||||
.TP
|
.TP
|
||||||
.RB "To mount your /home/dos/dosgames directory as C drive in " dosbox :
|
.RB "To mount your /home/dos/dosgames directory as C drive in " dosbox :
|
||||||
.RS
|
.RS
|
||||||
mount c /home/dos/dosgames
|
mount c /home/dos/dosgames
|
||||||
.RE
|
.RE
|
||||||
.TP
|
.TP
|
||||||
.B MEM
|
.B MEM
|
||||||
.LP
|
.LP
|
||||||
Display the amount of free memory
|
Display the amount of free memory
|
||||||
.TP
|
.TP
|
||||||
.B CONFIG [\-writeconf] [\-writelang] file
|
.B CONFIG [\-writeconf] [\-writelang] file
|
||||||
.LP
|
.LP
|
||||||
.B CONFIG -securemode
|
.B CONFIG \-securemode
|
||||||
.LP
|
.LP
|
||||||
.RB "Write the current configuration or language settings to " file ,
|
.RB "Write the current configuration or language settings to " file ,
|
||||||
which is located on the local filesystem. Not a mounted drive in
|
which is located on the local filesystem. Not a mounted drive in
|
||||||
.BR dosbox .
|
.BR dosbox .
|
||||||
.TP
|
.RS
|
||||||
.B \-securemode
|
.TP
|
||||||
.RB Switches dosbox " to a more secure mode. In this mode the"
|
.B \-securemode
|
||||||
.RI "internal commands " MOUNT ", " IMGMOUNT " and " BOOT " won\'t work."
|
.RB Switches dosbox " to a more secure mode. In this mode the"
|
||||||
It\'s not possible
|
.RI "internal commands " MOUNT ", " IMGMOUNT " and " BOOT " won\'t work."
|
||||||
either to create a new configfile or languagefile in this mode.
|
It\'s not possible
|
||||||
(Warning you can only undo this mode by restarting
|
either to create a new configfile or languagefile in this mode.
|
||||||
.BR dosbox .)
|
(Warning you can only undo this mode by restarting
|
||||||
.LP
|
.BR dosbox .)
|
||||||
The configuration file controls various settings of
|
.RE
|
||||||
.BR dosbox ": The amount of emulated memory,"
|
.LP
|
||||||
the emulated soundcards and many
|
The configuration file controls various settings of
|
||||||
.RI "more things. It futher allows acces to " AUTOEXEC.BAT .
|
.BR dosbox ": The amount of emulated memory,"
|
||||||
.LP
|
the emulated soundcards and many
|
||||||
The language file controls all visible ouput of the internal commands and
|
.RI "more things. It futher allows acces to " AUTOEXEC.BAT .
|
||||||
the internal dos.
|
.LP
|
||||||
.RB "See the section " FILES " for more information."
|
The language file controls all visible ouput of the internal commands and
|
||||||
.TP
|
the internal dos.
|
||||||
.B LOADFIX [\-size] [programname] [parameters]
|
.RB "See the section " FILES " for more information."
|
||||||
.LP
|
.TP
|
||||||
.B LOADFIX \-f
|
.B LOADFIX [\-size] [programname] [parameters]
|
||||||
.LP
|
.LP
|
||||||
Program to reduce the amount of memory available. Useful for old programs which don't expect much memory to be free.
|
.B LOADFIX \-f
|
||||||
.RS
|
.LP
|
||||||
.TP
|
Program to reduce the amount of memory available. Useful for old programs which don't expect much memory to be free.
|
||||||
.B [programname]
|
.RS
|
||||||
The name of the program which is executed after loadfix eats up its memory.
|
.TP
|
||||||
.TP
|
.B [programname]
|
||||||
.B [parameters]
|
The name of the program which is executed after loadfix eats up its memory.
|
||||||
.RB "Parameters given to the " programname " executable."
|
.TP
|
||||||
.TP
|
.B [parameters]
|
||||||
.B \-size
|
.RB "Parameters given to the " programname " executable."
|
||||||
The amount of memory to eat up (in kb). Example -32, -64 or -128
|
.TP
|
||||||
.TP
|
.B \-size
|
||||||
.B \-f
|
The amount of memory to eat up (in kb). Example \-32, \-64 or \-128
|
||||||
Frees all memory eaten up by loadfix.
|
.TP
|
||||||
.RE
|
.B \-f
|
||||||
.TP
|
Frees all memory eaten up by loadfix.
|
||||||
.B RESCAN
|
.RE
|
||||||
.LP
|
.TP
|
||||||
.RB "Make " dosbox " reread the directory structure. Useful if you changed
|
.B RESCAN
|
||||||
.RB "something on a mounted drive outside " dosbox ".(CTRL\-F4 does"
|
.LP
|
||||||
this as well!)
|
.RB "Make " dosbox " reread the directory structure. Useful if you changed
|
||||||
.TP
|
.RB "something on a mounted drive outside " dosbox ".(CTRL\-F4 does"
|
||||||
.B IMGMOUNT
|
this as well!)
|
||||||
.LP
|
.TP
|
||||||
.RB "A utility to mount disk images and CD-ROM images in " dosbox .
|
.B IMGMOUNT
|
||||||
.TP
|
.LP
|
||||||
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
.RB "A utility to mount disk images and CD\(hyROM images in " dosbox .
|
||||||
.RE
|
.TP
|
||||||
.TP
|
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
||||||
.B BOOT
|
.RE
|
||||||
.LP
|
.TP
|
||||||
Boot will start floppy images or hard disk images independent of the
|
.B BOOT
|
||||||
.RB "operating system emulation offered by " dosbox ". This will allow you to play booter floppies or boot to other operating systems inside " dosbox .
|
.LP
|
||||||
.TP
|
Boot will start floppy images or hard disk images independent of the
|
||||||
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
.RB "operating system emulation offered by " dosbox ". This will allow you to play booter floppies or boot to other operating systems inside " dosbox .
|
||||||
.RE
|
.TP
|
||||||
.TP
|
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
||||||
.B IPX
|
.RE
|
||||||
.LP
|
.TP
|
||||||
.RB "You need to enable IPX networking in the configuration file of " dosbox .
|
.B IPX
|
||||||
.RB "All of the IPX networking is managed through the internal " dosbox " program
|
.LP
|
||||||
.BR IPXNET ". For help on the IPX networking from inside " dosbox ", type"
|
.RB "You need to enable IPX networking in the configuration file of " dosbox .
|
||||||
.BR "IPXNET HELP" " and the program will list out the commands and relevant documentation."
|
.RB "All of the IPX networking is managed through the internal " dosbox " program
|
||||||
.TP
|
.BR IPXNET ". For help on the IPX networking from inside " dosbox ", type"
|
||||||
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
.BR "IPXNET HELP" " and the program will list out the commands and relevant documentation."
|
||||||
.RE
|
.TP
|
||||||
.TP
|
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
||||||
.B KEYB
|
.RE
|
||||||
.LP
|
.TP
|
||||||
Keyb can change the keyboardlayout and the codepage used inside dosbox.
|
.B KEYB
|
||||||
.TP
|
.LP
|
||||||
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
Keyb can change the keyboardlayout and the codepage used inside dosbox.
|
||||||
.RE
|
.TP
|
||||||
.SH FILES
|
.RB "Read the " README " of " dosbox " for the full and correct syntax."
|
||||||
Configuration and language files use a format similar to Windows .ini files.
|
.RE
|
||||||
If no configfile is specified at the commandline, a file named
|
.SH FILES
|
||||||
.BR dosbox.conf " (if present in the current directory) will be"
|
Configuration and language files use a format similar to Windows .ini files.
|
||||||
loaded automatically. If a configfile is specified at the commandline
|
If no configfile is specified at the commandline, a file named
|
||||||
that one will be used instead. If no configfile is specified or found
|
.BR dosbox.conf " (if present in the current directory) will be"
|
||||||
in the current directory
|
loaded automatically. If a configfile is specified at the commandline
|
||||||
.RB " then dosbox will load one from " ~/.dosbox/ ". It will try to create "
|
that one will be used instead. If no configfile is specified or found
|
||||||
one if there is none.
|
in the current directory
|
||||||
.SH "SPECIAL KEYS"
|
.RB " then dosbox will load one from " ~/.dosbox/ ". It will try to create "
|
||||||
.TP 12m
|
one if there is none.
|
||||||
.IP ALT\-ENTER
|
.SH "SPECIAL KEYS"
|
||||||
Go full screen and back.
|
.TP 12m
|
||||||
.IP ALT\-PAUSE
|
.IP ALT\-ENTER
|
||||||
Pause emulation.
|
Go full screen and back.
|
||||||
.IP CTRL\-F1
|
.IP ALT\-PAUSE
|
||||||
Start the keymapper.
|
Pause emulation.
|
||||||
.IP CTRL\-ALT\-F5
|
.IP CTRL\-F1
|
||||||
Start/Stop creating a movie of the screen.
|
Start the keymapper.
|
||||||
.IP CTRL\-F4
|
.IP CTRL\-ALT\-F5
|
||||||
Swap mounted disk-image (Only used with imgmount). Update directory cache
|
Start/Stop creating a movie of the screen.
|
||||||
for all drives!
|
.IP CTRL\-F4
|
||||||
.IP CTRL\-F5
|
Swap mounted disk\(hyimage (Only used with imgmount). Update directory cache
|
||||||
Save a screenshot.(png)
|
for all drives!
|
||||||
.IP CTRL\-F6
|
.IP CTRL\-F5
|
||||||
Start/Stop recording sound output to a wave file.
|
Save a screenshot.(png)
|
||||||
.IP CTRL\-ALT\-F7
|
.IP CTRL\-F6
|
||||||
Start/Stop recording of OPL commands.
|
Start/Stop recording sound output to a wave file.
|
||||||
.IP CTRL\-ALT\-F8
|
.IP CTRL\-ALT\-F7
|
||||||
Start/Stop the recording of raw MIDI commands.
|
Start/Stop recording of OPL commands.
|
||||||
.IP CTRL\-F7
|
.IP CTRL\-ALT\-F8
|
||||||
Decrease frameskip.
|
Start/Stop the recording of raw MIDI commands.
|
||||||
.IP CTRL\-F8
|
.IP CTRL\-F7
|
||||||
Increase frameskip.
|
Decrease frameskip.
|
||||||
.IP CTRL\-F9
|
.IP CTRL\-F8
|
||||||
Kill dosbox.
|
Increase frameskip.
|
||||||
.IP CTRL\-F10
|
.IP CTRL\-F9
|
||||||
Capture/Release the mouse.
|
Kill dosbox.
|
||||||
.IP CTRL\-F11
|
.IP CTRL\-F10
|
||||||
Slow down emulation (Increase dosbox Cycles).
|
Capture/Release the mouse.
|
||||||
.IP CTRL\-F12
|
.IP CTRL\-F11
|
||||||
Speed up emulation (Decrease dosbox Cycles).
|
Slow down emulation (Increase dosbox Cycles).
|
||||||
.IP ALT\-F12
|
.IP CTRL\-F12
|
||||||
Unlock speed (turbo button).
|
Speed up emulation (Decrease dosbox Cycles).
|
||||||
.PP
|
.IP ALT\-F12
|
||||||
These are the default keybindings. They can be changed in the keymapper.
|
Unlock speed (turbo button).
|
||||||
.PP
|
.PP
|
||||||
Saved/recorded files can be found in current_directory/capture
|
These are the default keybindings. They can be changed in the keymapper.
|
||||||
(can be changed in the configfile).
|
.PP
|
||||||
.RB "The directory has to exist prior to starting " dosbox " else nothing"
|
Saved/recorded files can be found in current_directory/capture
|
||||||
gets saved/recorded !
|
(can be changed in the configfile).
|
||||||
.PP
|
.RB "The directory has to exist prior to starting " dosbox " else nothing"
|
||||||
.BR "Note: " "Once you increase your " dosbox " cycles beyond your computer's maximum
|
gets saved/recorded !
|
||||||
capacity, it will produce the same effect as slowing down the emulation.
|
.PP
|
||||||
This maximum will vary from computer to computer, there is no standard.
|
.BR "Note: " "Once you increase your " dosbox " cycles beyond your computer's maximum
|
||||||
.SH "SYSTEM REQUIREMENTS"
|
capacity, it will produce the same effect as slowing down the emulation.
|
||||||
Fast machine. My guess would be pentium\-2 400+ to get decent emulation
|
This maximum will vary from computer to computer, there is no standard.
|
||||||
of games written for an 286 machine.
|
.SH "SYSTEM REQUIREMENTS"
|
||||||
For protected mode games a 1 Ghz machine is recommended and don't expect
|
Fast machine. My guess would be pentium\-2 400+ to get decent emulation
|
||||||
them to run fast though!! Be sure to read the next section on how to speed
|
of games written for an 286 machine.
|
||||||
it up somewhat.
|
For protected mode games a 1 Ghz machine is recommended and don't expect
|
||||||
.SS "To run resource\-demanding games"
|
them to run fast though!! Be sure to read the next section on how to speed
|
||||||
.BR dosbox " emulates the CPU, the sound and graphic cards, and some other"
|
it up somewhat.
|
||||||
.RB " stuff, all at the same time. You can overclock " dosbox " by using CTRL\-F12, but"
|
.SS "To run resource\-demanding games"
|
||||||
you'll be limited by the power of your actual CPU. You can see how much free
|
.BR dosbox " emulates the CPU, the sound and graphic cards, and some other"
|
||||||
time your true CPU has by various utils (top). Once 100% of your real CPU time is
|
.RB " stuff, all at the same time. You can overclock " dosbox " by using CTRL\-F12, but"
|
||||||
.RB "used there is no further way to speed up " dosbox " unless you reduce the load"
|
you'll be limited by the power of your actual CPU. You can see how much free
|
||||||
.RB "generated by the non\-CPU parts of " dosbox .
|
time your true CPU has by various utils (top). Once 100% of your real CPU time is
|
||||||
.PP
|
.RB "used there is no further way to speed up " dosbox " unless you reduce the load"
|
||||||
So:
|
.RB "generated by the non\-CPU parts of " dosbox .
|
||||||
.PP
|
.PP
|
||||||
.RB "Close every program but " dosbox .
|
So:
|
||||||
.PP
|
.PP
|
||||||
.RB "Overclock " dosbox " until 100% of your CPU is used.(CTRL\-F12)"
|
.RB "Close every program but " dosbox .
|
||||||
.PP
|
.PP
|
||||||
.RB "Since VGA emulation is the most demanding part of " dosbox " in terms of actual"
|
.RB "Overclock " dosbox " until 100% of your CPU is used.(CTRL\-F12)"
|
||||||
CPU usage, we'll start here. Increase the number of frames skipped (in
|
.PP
|
||||||
increments of one) by pressing CTRL\-F8. Your CPU usage should decrease.
|
.RB "Since VGA emulation is the most demanding part of " dosbox " in terms of actual"
|
||||||
Go back one step and repeat this until the game runs fast enough for you.
|
CPU usage, we'll start here. Increase the number of frames skipped (in
|
||||||
Please note that this is a trade off: you lose in fluidity of video what you
|
increments of one) by pressing CTRL\-F8. Your CPU usage should decrease.
|
||||||
gain in speed.
|
Go back one step and repeat this until the game runs fast enough for you.
|
||||||
.SH NOTES
|
Please note that this is a trade off: you lose in fluidity of video what you
|
||||||
.RB "While we hope that, one day, " dosbox " will run virtually all programs ever made for the PC..."
|
gain in speed.
|
||||||
.RB "we are not there yet. At present, " dosbox " run on a 1.7 Gigahertz PC is roughly the equivalent of a 25MHz 386 PC."
|
.SH NOTES
|
||||||
While the 0.60 release has added support for "protected mode" allowing for more complex and recent programs,
|
.RB "While we hope that, one day, " dosbox " will run virtually all programs ever made for the PC..."
|
||||||
but note that this support is early in development and nowhere near as complete as the support for 386 real\-mode
|
.RB "we are not there yet. At present, " dosbox " run on a 1.7 Gigahertz PC is roughly the equivalent of a 25MHz 386 PC."
|
||||||
games (or earlier). Also note that "protected mode" games need substantially more resources and may
|
While the 0.60 release has added support for "protected mode" allowing for more complex and recent programs,
|
||||||
.RB "require a much faster processor for you to run it properly in " dosbox .
|
but note that this support is early in development and nowhere near as complete as the support for 386 real\-mode
|
||||||
.SH BUGS
|
games (or earlier). Also note that "protected mode" games need substantially more resources and may
|
||||||
Not all DOS programs work properly.
|
.RB "require a much faster processor for you to run it properly in " dosbox .
|
||||||
.BR dosbox " will exit without warning if an error occurred."
|
.SH BUGS
|
||||||
.SH "SEE ALSO"
|
Not all DOS programs work properly.
|
||||||
The README in /usr/share/doc/dosbox
|
.BR dosbox " will exit without warning if an error occurred."
|
||||||
.SH AUTHOR
|
.SH "SEE ALSO"
|
||||||
This manual page was written by Peter Veenstra <H.P.Veenstra@student.rug.nl> and James Oakley <jfunk@funktronics.ca>,
|
The README in /usr/share/doc/dosbox
|
||||||
for the Debian system (but may be used by others).
|
.SH AUTHOR
|
||||||
|
This manual page was written by Peter Veenstra <H.P.Veenstra@student.rug.nl> and James Oakley <jfunk@funktronics.ca>,
|
||||||
|
for the Debian system (but may be used by others).
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -141,8 +141,8 @@ public:
|
|||||||
char* GetExpandName (const char* path);
|
char* GetExpandName (const char* path);
|
||||||
bool GetShortName (const char* fullname, char* shortname);
|
bool GetShortName (const char* fullname, char* shortname);
|
||||||
|
|
||||||
bool FindFirst (char* path, Bitu& id);
|
bool FindFirst (char* path, Bit16u& id);
|
||||||
bool FindNext (Bitu id, char* &result);
|
bool FindNext (Bit16u id, char* &result);
|
||||||
|
|
||||||
void CacheOut (const char* path, bool ignoreLastDir = false);
|
void CacheOut (const char* path, bool ignoreLastDir = false);
|
||||||
void AddEntry (const char* path, bool checkExist = false);
|
void AddEntry (const char* path, bool checkExist = false);
|
||||||
@ -205,7 +205,7 @@ private:
|
|||||||
char dirSearchName [MAX_OPENDIRS];
|
char dirSearchName [MAX_OPENDIRS];
|
||||||
bool free [MAX_OPENDIRS];
|
bool free [MAX_OPENDIRS];
|
||||||
CFileInfo* dirFindFirst [MAX_OPENDIRS];
|
CFileInfo* dirFindFirst [MAX_OPENDIRS];
|
||||||
Bitu nextFreeFindFirst;
|
Bit16u nextFreeFindFirst;
|
||||||
|
|
||||||
char label [CROSS_LEN];
|
char label [CROSS_LEN];
|
||||||
bool updatelabel;
|
bool updatelabel;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -100,8 +100,9 @@ public:
|
|||||||
Bit8u getb() {
|
Bit8u getb() {
|
||||||
if (!used) return data[pos];
|
if (!used) return data[pos];
|
||||||
Bitu where=pos;
|
Bitu where=pos;
|
||||||
if (++pos>=size) pos-=size;
|
|
||||||
used--;
|
used--;
|
||||||
|
if(used) pos++;
|
||||||
|
if (pos>=size) pos-=size;
|
||||||
return data[where];
|
return data[where];
|
||||||
}
|
}
|
||||||
Bit8u getTop() {
|
Bit8u getTop() {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,157 +1,157 @@
|
|||||||
!define VER_MAYOR 0
|
!define VER_MAYOR 0
|
||||||
!define VER_MINOR 73
|
!define VER_MINOR 73
|
||||||
!define APP_NAME "DOSBox ${VER_MAYOR}.${VER_MINOR} Installer"
|
!define APP_NAME "DOSBox ${VER_MAYOR}.${VER_MINOR} Installer"
|
||||||
!define COMP_NAME "DOSBox Team"
|
!define COMP_NAME "DOSBox Team"
|
||||||
!define COPYRIGHT "Copyright © 2002-2009 DOSBox Team"
|
!define COPYRIGHT "Copyright © 2002-2009 DOSBox Team"
|
||||||
!define DESCRIPTION "DOSBox Installer"
|
!define DESCRIPTION "DOSBox Installer"
|
||||||
|
|
||||||
VIProductVersion "${VER_MAYOR}.${VER_MINOR}.0.0"
|
VIProductVersion "${VER_MAYOR}.${VER_MINOR}.0.0"
|
||||||
VIAddVersionKey "ProductName" "${APP_NAME}"
|
VIAddVersionKey "ProductName" "${APP_NAME}"
|
||||||
VIAddVersionKey "CompanyName" "${COMP_NAME}"
|
VIAddVersionKey "CompanyName" "${COMP_NAME}"
|
||||||
VIAddVersionKey "FileDescription" "${DESCRIPTION}"
|
VIAddVersionKey "FileDescription" "${DESCRIPTION}"
|
||||||
VIAddVersionKey "FileVersion" "${VER_MAYOR}.${VER_MINOR}.0.0"
|
VIAddVersionKey "FileVersion" "${VER_MAYOR}.${VER_MINOR}.0.0"
|
||||||
VIAddVersionKey "ProductVersion" "${VER_MAYOR}, ${VER_MINOR}, 0, 0"
|
VIAddVersionKey "ProductVersion" "${VER_MAYOR}, ${VER_MINOR}, 0, 0"
|
||||||
VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"
|
VIAddVersionKey "LegalCopyright" "${COPYRIGHT}"
|
||||||
|
|
||||||
; The name of the installer
|
; The name of the installer
|
||||||
Name "${APP_NAME}"
|
Name "${APP_NAME}"
|
||||||
|
|
||||||
; The file to write
|
; The file to write
|
||||||
OutFile "DOSBox${VER_MAYOR}.${VER_MINOR}-win32-installer.exe"
|
OutFile "DOSBox${VER_MAYOR}.${VER_MINOR}-win32-installer.exe"
|
||||||
|
|
||||||
; The default installation directory
|
; The default installation directory
|
||||||
InstallDir "$PROGRAMFILES\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
InstallDir "$PROGRAMFILES\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
||||||
|
|
||||||
; The text to prompt the user to enter a directory
|
; The text to prompt the user to enter a directory
|
||||||
DirText "This will install DOSBox v${VER_MAYOR}.${VER_MINOR} on your computer. Choose a directory"
|
DirText "This will install DOSBox v${VER_MAYOR}.${VER_MINOR} on your computer. Choose a directory"
|
||||||
SetCompressor /solid lzma
|
SetCompressor /solid lzma
|
||||||
|
|
||||||
|
|
||||||
LicenseData COPYING
|
LicenseData COPYING
|
||||||
LicenseText "DOSBox v${VER_MAYOR}.${VER_MINOR} License" "Next >"
|
LicenseText "DOSBox v${VER_MAYOR}.${VER_MINOR} License" "Next >"
|
||||||
|
|
||||||
; Else vista enables compatibility mode
|
; Else vista enables compatibility mode
|
||||||
RequestExecutionLevel admin
|
RequestExecutionLevel admin
|
||||||
; Shortcuts in all users
|
; Shortcuts in all users
|
||||||
|
|
||||||
ComponentText "Select components for DOSBox"
|
ComponentText "Select components for DOSBox"
|
||||||
; The stuff to install
|
; The stuff to install
|
||||||
Section "!Core files" Core
|
Section "!Core files" Core
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
|
|
||||||
; Set output path to the installation directory.
|
; Set output path to the installation directory.
|
||||||
ClearErrors
|
ClearErrors
|
||||||
SetOutPath $INSTDIR
|
SetOutPath $INSTDIR
|
||||||
IfErrors error_createdir
|
IfErrors error_createdir
|
||||||
SectionIn RO
|
SectionIn RO
|
||||||
|
|
||||||
; Put file there
|
; Put file there
|
||||||
|
|
||||||
CreateDirectory "$INSTDIR\zmbv"
|
CreateDirectory "$INSTDIR\zmbv"
|
||||||
File /oname=README.txt README
|
File /oname=README.txt README
|
||||||
File /oname=COPYING.txt COPYING
|
File /oname=COPYING.txt COPYING
|
||||||
File /oname=THANKS.txt THANKS
|
File /oname=THANKS.txt THANKS
|
||||||
File /oname=NEWS.txt NEWS
|
File /oname=NEWS.txt NEWS
|
||||||
File /oname=AUTHORS.txt AUTHORS
|
File /oname=AUTHORS.txt AUTHORS
|
||||||
File /oname=INSTALL.txt INSTALL
|
File /oname=INSTALL.txt INSTALL
|
||||||
File DOSBox.exe
|
File DOSBox.exe
|
||||||
File SDL.dll
|
File SDL.dll
|
||||||
File SDL_net.dll
|
File SDL_net.dll
|
||||||
File /oname=zmbv\zmbv.dll zmbv.dll
|
File /oname=zmbv\zmbv.dll zmbv.dll
|
||||||
File /oname=zmbv\zmbv.inf zmbv.inf
|
File /oname=zmbv\zmbv.inf zmbv.inf
|
||||||
File /oname=zmbv\README.txt README.video
|
File /oname=zmbv\README.txt README.video
|
||||||
|
|
||||||
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
||||||
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video"
|
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video"
|
||||||
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration"
|
CreateDirectory "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration"
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk" "$INSTDIR\DOSBox.exe" "-noconsole" "$INSTDIR\DOSBox.exe" 0
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk" "$INSTDIR\DOSBox.exe" "-noconsole" "$INSTDIR\DOSBox.exe" 0
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk" "$INSTDIR\README.txt"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk" "$INSTDIR\README.txt"
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk" "$INSTDIR\DOSBox.exe" "-editconf notepad.exe -editconf $\"%SystemRoot%\system32\notepad.exe$\" -editconf $\"%WINDIR%\notepad.exe$\""
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk" "$INSTDIR\DOSBox.exe" "-editconf notepad.exe -editconf $\"%SystemRoot%\system32\notepad.exe$\" -editconf $\"%WINDIR%\notepad.exe$\""
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk" "$INSTDIR\DOSBox.exe" "-eraseconf"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk" "$INSTDIR\DOSBox.exe" "-eraseconf"
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk" "$INSTDIR\DOSBox.exe" "-opencaptures explorer.exe"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk" "$INSTDIR\DOSBox.exe" "-opencaptures explorer.exe"
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk" "$INSTDIR\zmbv\README.txt"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk" "$INSTDIR\zmbv\README.txt"
|
||||||
;change outpath so the working directory gets set to zmbv
|
;change outpath so the working directory gets set to zmbv
|
||||||
SetOutPath "$INSTDIR\zmbv"
|
SetOutPath "$INSTDIR\zmbv"
|
||||||
; Shortcut creation depends on wether we are 9x of NT
|
; Shortcut creation depends on wether we are 9x of NT
|
||||||
ClearErrors
|
ClearErrors
|
||||||
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" CurrentVersion
|
||||||
IfErrors we_9x we_nt
|
IfErrors we_9x we_nt
|
||||||
we_nt:
|
we_nt:
|
||||||
;shortcut for win NT
|
;shortcut for win NT
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll32" "setupapi,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll32" "setupapi,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf"
|
||||||
goto end
|
goto end
|
||||||
we_9x:
|
we_9x:
|
||||||
;shortcut for we_9x
|
;shortcut for we_9x
|
||||||
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll" "setupx.dll,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf"
|
CreateShortCut "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk" "rundll" "setupx.dll,InstallHinfSection DefaultInstall 128 $INSTDIR\zmbv\zmbv.inf"
|
||||||
end:
|
end:
|
||||||
SetOutPath $INSTDIR
|
SetOutPath $INSTDIR
|
||||||
WriteUninstaller "uninstall.exe"
|
WriteUninstaller "uninstall.exe"
|
||||||
|
|
||||||
goto end_section
|
goto end_section
|
||||||
|
|
||||||
error_createdir:
|
error_createdir:
|
||||||
MessageBox MB_OK "Can't create DOSBox program directory, aborting."
|
MessageBox MB_OK "Can't create DOSBox program directory, aborting."
|
||||||
Abort
|
Abort
|
||||||
goto end_section
|
goto end_section
|
||||||
|
|
||||||
end_section:
|
end_section:
|
||||||
SectionEnd ; end the section
|
SectionEnd ; end the section
|
||||||
|
|
||||||
Section "Desktop Shortcut" SecDesktop
|
Section "Desktop Shortcut" SecDesktop
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
|
|
||||||
CreateShortCut "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0
|
CreateShortCut "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk" "$INSTDIR\DOSBox.exe" "" "$INSTDIR\DOSBox.exe" 0
|
||||||
|
|
||||||
SectionEnd ; end the section
|
SectionEnd ; end the section
|
||||||
|
|
||||||
|
|
||||||
UninstallText "This will uninstall DOSBox v${VER_MAYOR}.${VER_MINOR}. Hit next to continue."
|
UninstallText "This will uninstall DOSBox v${VER_MAYOR}.${VER_MINOR}. Hit next to continue."
|
||||||
|
|
||||||
Section "Uninstall"
|
Section "Uninstall"
|
||||||
|
|
||||||
; Shortcuts in all users
|
; Shortcuts in all users
|
||||||
SetShellVarContext all
|
SetShellVarContext all
|
||||||
|
|
||||||
Delete "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk"
|
Delete "$DESKTOP\DOSBox ${VER_MAYOR}.${VER_MINOR}.lnk"
|
||||||
; remove registry keys
|
; remove registry keys
|
||||||
; remove files
|
; remove files
|
||||||
Delete $INSTDIR\README.txt
|
Delete $INSTDIR\README.txt
|
||||||
Delete $INSTDIR\COPYING.txt
|
Delete $INSTDIR\COPYING.txt
|
||||||
Delete $INSTDIR\THANKS.txt
|
Delete $INSTDIR\THANKS.txt
|
||||||
Delete $INSTDIR\NEWS.txt
|
Delete $INSTDIR\NEWS.txt
|
||||||
Delete $INSTDIR\AUTHORS.txt
|
Delete $INSTDIR\AUTHORS.txt
|
||||||
Delete $INSTDIR\INSTALL.txt
|
Delete $INSTDIR\INSTALL.txt
|
||||||
Delete $INSTDIR\DOSBox.exe
|
Delete $INSTDIR\DOSBox.exe
|
||||||
Delete $INSTDIR\SDL.dll
|
Delete $INSTDIR\SDL.dll
|
||||||
Delete $INSTDIR\SDL_net.dll
|
Delete $INSTDIR\SDL_net.dll
|
||||||
Delete $INSTDIR\zmbv\zmbv.dll
|
Delete $INSTDIR\zmbv\zmbv.dll
|
||||||
Delete $INSTDIR\zmbv\zmbv.inf
|
Delete $INSTDIR\zmbv\zmbv.inf
|
||||||
Delete $INSTDIR\zmbv\README.txt
|
Delete $INSTDIR\zmbv\README.txt
|
||||||
;Files left by sdl taking over the console
|
;Files left by sdl taking over the console
|
||||||
Delete $INSTDIR\stdout.txt
|
Delete $INSTDIR\stdout.txt
|
||||||
Delete $INSTDIR\stderr.txt
|
Delete $INSTDIR\stderr.txt
|
||||||
|
|
||||||
; MUST REMOVE UNINSTALLER, too
|
; MUST REMOVE UNINSTALLER, too
|
||||||
Delete $INSTDIR\uninstall.exe
|
Delete $INSTDIR\uninstall.exe
|
||||||
|
|
||||||
; remove shortcuts, if any.
|
; remove shortcuts, if any.
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Uninstall.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\README.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\DOSBox (noconsole).lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Edit Configuration.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration\Reset Configuration.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Capture folder.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Install movie codec.lnk"
|
||||||
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk"
|
Delete "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video\Video instructions.lnk"
|
||||||
; remove directories used.
|
; remove directories used.
|
||||||
RMDir "$INSTDIR\zmbv"
|
RMDir "$INSTDIR\zmbv"
|
||||||
RMDir "$INSTDIR"
|
RMDir "$INSTDIR"
|
||||||
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration"
|
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Configuration"
|
||||||
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video"
|
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}\Video"
|
||||||
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
RMDir "$SMPROGRAMS\DOSBox-${VER_MAYOR}.${VER_MINOR}"
|
||||||
SectionEnd
|
SectionEnd
|
||||||
|
|
||||||
; eof
|
; eof
|
||||||
|
@ -1,32 +1,32 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
use integer;
|
use integer;
|
||||||
open (THEFILE,'>','../src/hardware/ega-switch.h')
|
open (THEFILE,'>','../src/hardware/ega-switch.h')
|
||||||
or die "Can't open my file $!";
|
or die "Can't open my file $!";
|
||||||
|
|
||||||
print THEFILE "switch (bit_mask) {\n";
|
print THEFILE "switch (bit_mask) {\n";
|
||||||
for ($i = 0; $i < 256; $i++) {
|
for ($i = 0; $i < 256; $i++) {
|
||||||
print THEFILE "\tcase $i:\n";
|
print THEFILE "\tcase $i:\n";
|
||||||
$b=128;
|
$b=128;
|
||||||
$add=0;
|
$add=0;
|
||||||
do {
|
do {
|
||||||
if ($i & $b) {
|
if ($i & $b) {
|
||||||
print THEFILE "\t{\n";
|
print THEFILE "\t{\n";
|
||||||
print THEFILE "\t\tBit8u color=0;\n";
|
print THEFILE "\t\tBit8u color=0;\n";
|
||||||
print THEFILE "\t\tif (pixels.b[0] & $b) color|=1;\n";
|
print THEFILE "\t\tif (pixels.b[0] & $b) color|=1;\n";
|
||||||
print THEFILE "\t\tif (pixels.b[1] & $b) color|=2;\n";
|
print THEFILE "\t\tif (pixels.b[1] & $b) color|=2;\n";
|
||||||
print THEFILE "\t\tif (pixels.b[2] & $b) color|=4;\n";
|
print THEFILE "\t\tif (pixels.b[2] & $b) color|=4;\n";
|
||||||
print THEFILE "\t\tif (pixels.b[3] & $b) color|=8;\n";
|
print THEFILE "\t\tif (pixels.b[3] & $b) color|=8;\n";
|
||||||
print THEFILE "\t\t*(write_pixels+$add)=color;\n";
|
print THEFILE "\t\t*(write_pixels+$add)=color;\n";
|
||||||
print THEFILE "\t\t*(write_pixels+$add+512*1024)=color;\n";
|
print THEFILE "\t\t*(write_pixels+$add+512*1024)=color;\n";
|
||||||
print THEFILE "\t}\n";
|
print THEFILE "\t}\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
$b=$b >> 1;
|
$b=$b >> 1;
|
||||||
$add=$add+1;
|
$add=$add+1;
|
||||||
} until ($b == 0);
|
} until ($b == 0);
|
||||||
print THEFILE "\tbreak;\n";
|
print THEFILE "\tbreak;\n";
|
||||||
}
|
}
|
||||||
print THEFILE "}\n";
|
print THEFILE "}\n";
|
||||||
|
|
||||||
|
|
||||||
close (THEFILE);
|
close (THEFILE);
|
||||||
|
@ -1,25 +1,25 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
use integer;
|
use integer;
|
||||||
open (THEFILE,'>','../src/hardware/font-switch.h')
|
open (THEFILE,'>','../src/hardware/font-switch.h')
|
||||||
or die "Can't open my file $!";
|
or die "Can't open my file $!";
|
||||||
|
|
||||||
print THEFILE "switch (bit_mask) {\n";
|
print THEFILE "switch (bit_mask) {\n";
|
||||||
for ($i = 0; $i < 256; $i++) {
|
for ($i = 0; $i < 256; $i++) {
|
||||||
print THEFILE "\tcase $i:\n";
|
print THEFILE "\tcase $i:\n";
|
||||||
$b=128;
|
$b=128;
|
||||||
$add=0;
|
$add=0;
|
||||||
do {
|
do {
|
||||||
if ($i & $b) {
|
if ($i & $b) {
|
||||||
print THEFILE "\t\t*(draw+$add)=fg;\n";
|
print THEFILE "\t\t*(draw+$add)=fg;\n";
|
||||||
} else {
|
} else {
|
||||||
print THEFILE "\t\t*(draw+$add)=bg;\n";
|
print THEFILE "\t\t*(draw+$add)=bg;\n";
|
||||||
}
|
}
|
||||||
$b=$b >> 1;
|
$b=$b >> 1;
|
||||||
$add=$add+1;
|
$add=$add+1;
|
||||||
} until ($b == 0);
|
} until ($b == 0);
|
||||||
print THEFILE "\tbreak;\n";
|
print THEFILE "\tbreak;\n";
|
||||||
}
|
}
|
||||||
print THEFILE "}\n";
|
print THEFILE "}\n";
|
||||||
|
|
||||||
|
|
||||||
close (THEFILE);
|
close (THEFILE);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,498 +1,498 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: dyn_fpu_dh.h,v 1.7 2009/09/23 20:55:19 c2woody Exp $ */
|
/* $Id: dyn_fpu_dh.h,v 1.7 2009-09-23 20:55:19 c2woody Exp $ */
|
||||||
|
|
||||||
#include "dosbox.h"
|
#include "dosbox.h"
|
||||||
#if C_FPU
|
#if C_FPU
|
||||||
|
|
||||||
static void FPU_FLD_16(PhysPt addr) {
|
static void FPU_FLD_16(PhysPt addr) {
|
||||||
dyn_dh_fpu.temp.m1 = (Bit32u)mem_readw(addr);
|
dyn_dh_fpu.temp.m1 = (Bit32u)mem_readw(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FST_16(PhysPt addr) {
|
static void FPU_FST_16(PhysPt addr) {
|
||||||
mem_writew(addr,(Bit16u)dyn_dh_fpu.temp.m1);
|
mem_writew(addr,(Bit16u)dyn_dh_fpu.temp.m1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FLD_32(PhysPt addr) {
|
static void FPU_FLD_32(PhysPt addr) {
|
||||||
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FST_32(PhysPt addr) {
|
static void FPU_FST_32(PhysPt addr) {
|
||||||
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FLD_64(PhysPt addr) {
|
static void FPU_FLD_64(PhysPt addr) {
|
||||||
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
||||||
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FST_64(PhysPt addr) {
|
static void FPU_FST_64(PhysPt addr) {
|
||||||
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
||||||
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FLD_80(PhysPt addr) {
|
static void FPU_FLD_80(PhysPt addr) {
|
||||||
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
dyn_dh_fpu.temp.m1 = mem_readd(addr);
|
||||||
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
||||||
dyn_dh_fpu.temp.m3 = mem_readw(addr+8);
|
dyn_dh_fpu.temp.m3 = mem_readw(addr+8);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FST_80(PhysPt addr) {
|
static void FPU_FST_80(PhysPt addr) {
|
||||||
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
mem_writed(addr,dyn_dh_fpu.temp.m1);
|
||||||
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
||||||
mem_writew(addr+8,dyn_dh_fpu.temp.m3);
|
mem_writew(addr+8,dyn_dh_fpu.temp.m3);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FLDCW_DH(PhysPt addr){
|
static void FPU_FLDCW_DH(PhysPt addr){
|
||||||
dyn_dh_fpu.cw = mem_readw(addr);
|
dyn_dh_fpu.cw = mem_readw(addr);
|
||||||
dyn_dh_fpu.temp.m1 = (Bit32u)(dyn_dh_fpu.cw|0x3f);
|
dyn_dh_fpu.temp.m1 = (Bit32u)(dyn_dh_fpu.cw|0x3f);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FNSTCW_DH(PhysPt addr){
|
static void FPU_FNSTCW_DH(PhysPt addr){
|
||||||
mem_writew(addr,(Bit16u)(dyn_dh_fpu.cw&0xffff));
|
mem_writew(addr,(Bit16u)(dyn_dh_fpu.cw&0xffff));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FNINIT_DH(void){
|
static void FPU_FNINIT_DH(void){
|
||||||
dyn_dh_fpu.cw = 0x37f;
|
dyn_dh_fpu.cw = 0x37f;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FSTENV_DH(PhysPt addr){
|
static void FPU_FSTENV_DH(PhysPt addr){
|
||||||
if(!cpu.code.big) {
|
if(!cpu.code.big) {
|
||||||
mem_writew(addr+0,(Bit16u)dyn_dh_fpu.cw);
|
mem_writew(addr+0,(Bit16u)dyn_dh_fpu.cw);
|
||||||
mem_writew(addr+2,(Bit16u)dyn_dh_fpu.temp.m2);
|
mem_writew(addr+2,(Bit16u)dyn_dh_fpu.temp.m2);
|
||||||
mem_writew(addr+4,dyn_dh_fpu.temp.m3);
|
mem_writew(addr+4,dyn_dh_fpu.temp.m3);
|
||||||
} else {
|
} else {
|
||||||
mem_writed(addr+0,dyn_dh_fpu.temp.m1);
|
mem_writed(addr+0,dyn_dh_fpu.temp.m1);
|
||||||
mem_writew(addr+0,(Bit16u)dyn_dh_fpu.cw);
|
mem_writew(addr+0,(Bit16u)dyn_dh_fpu.cw);
|
||||||
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
mem_writed(addr+4,dyn_dh_fpu.temp.m2);
|
||||||
mem_writed(addr+8,dyn_dh_fpu.temp.m3);
|
mem_writed(addr+8,dyn_dh_fpu.temp.m3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FLDENV_DH(PhysPt addr){
|
static void FPU_FLDENV_DH(PhysPt addr){
|
||||||
if(!cpu.code.big) {
|
if(!cpu.code.big) {
|
||||||
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
||||||
dyn_dh_fpu.temp.m1 = dyn_dh_fpu.cw|0x3f;
|
dyn_dh_fpu.temp.m1 = dyn_dh_fpu.cw|0x3f;
|
||||||
dyn_dh_fpu.temp.m2 = (Bit32u)mem_readw(addr+2);
|
dyn_dh_fpu.temp.m2 = (Bit32u)mem_readw(addr+2);
|
||||||
dyn_dh_fpu.temp.m3 = mem_readw(addr+4);
|
dyn_dh_fpu.temp.m3 = mem_readw(addr+4);
|
||||||
} else {
|
} else {
|
||||||
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
||||||
dyn_dh_fpu.temp.m1 = mem_readd(addr)|0x3f;
|
dyn_dh_fpu.temp.m1 = mem_readd(addr)|0x3f;
|
||||||
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
dyn_dh_fpu.temp.m2 = mem_readd(addr+4);
|
||||||
dyn_dh_fpu.temp.m3 = mem_readw(addr+8);
|
dyn_dh_fpu.temp.m3 = mem_readw(addr+8);
|
||||||
dyn_dh_fpu.temp.d1 = mem_readw(addr+10);
|
dyn_dh_fpu.temp.d1 = mem_readw(addr+10);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FSAVE_DH(PhysPt addr){
|
static void FPU_FSAVE_DH(PhysPt addr){
|
||||||
if (!cpu.code.big) {
|
if (!cpu.code.big) {
|
||||||
mem_writew(addr,(Bit16u)dyn_dh_fpu.cw);
|
mem_writew(addr,(Bit16u)dyn_dh_fpu.cw);
|
||||||
addr+=2;
|
addr+=2;
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x04]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x04]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x05]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x05]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x08]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x08]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x09]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x09]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x0c]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x0c]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x0d]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x0d]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x10]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x10]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x11]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x11]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x14]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x14]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x15]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x15]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x18]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x18]);
|
||||||
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x19]);
|
mem_writeb(addr++,dyn_dh_fpu.temp_state[0x19]);
|
||||||
for(Bitu i=28;i<108;i++) mem_writeb(addr++,dyn_dh_fpu.temp_state[i]);
|
for(Bitu i=28;i<108;i++) mem_writeb(addr++,dyn_dh_fpu.temp_state[i]);
|
||||||
} else {
|
} else {
|
||||||
mem_writew(addr,(Bit16u)dyn_dh_fpu.cw);
|
mem_writew(addr,(Bit16u)dyn_dh_fpu.cw);
|
||||||
addr+=2;
|
addr+=2;
|
||||||
for(Bitu i=2;i<108;i++) mem_writeb(addr++,dyn_dh_fpu.temp_state[i]);
|
for(Bitu i=2;i<108;i++) mem_writeb(addr++,dyn_dh_fpu.temp_state[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void FPU_FRSTOR_DH(PhysPt addr){
|
static void FPU_FRSTOR_DH(PhysPt addr){
|
||||||
if (!cpu.code.big) {
|
if (!cpu.code.big) {
|
||||||
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
||||||
dyn_dh_fpu.temp_state[0x00] = mem_readb(addr++)|0x3f;
|
dyn_dh_fpu.temp_state[0x00] = mem_readb(addr++)|0x3f;
|
||||||
dyn_dh_fpu.temp_state[0x01] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x01] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x04] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x04] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x05] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x05] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x08] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x08] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x09] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x09] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x0c] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x0c] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x0d] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x0d] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x10] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x10] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x11] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x11] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x14] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x14] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x15] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x15] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x18] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x18] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0x19] = mem_readb(addr++);
|
dyn_dh_fpu.temp_state[0x19] = mem_readb(addr++);
|
||||||
for(Bitu i=28;i<108;i++) dyn_dh_fpu.temp_state[i] = mem_readb(addr++);
|
for(Bitu i=28;i<108;i++) dyn_dh_fpu.temp_state[i] = mem_readb(addr++);
|
||||||
} else {
|
} else {
|
||||||
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
dyn_dh_fpu.cw = (Bit32u)mem_readw(addr);
|
||||||
for(Bitu i=0;i<108;i++) dyn_dh_fpu.temp_state[i] = mem_readb(addr++);
|
for(Bitu i=0;i<108;i++) dyn_dh_fpu.temp_state[i] = mem_readb(addr++);
|
||||||
dyn_dh_fpu.temp_state[0]|=0x3f;
|
dyn_dh_fpu.temp_state[0]|=0x3f;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc0(){
|
static void dh_fpu_esc0(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xd8);
|
cache_addb(0xd8);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xd8);
|
cache_addb(0xd8);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc1(){
|
static void dh_fpu_esc1(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
switch(group){
|
switch(group){
|
||||||
case 0x00: /* FLD float*/
|
case 0x00: /* FLD float*/
|
||||||
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x01: /* UNKNOWN */
|
case 0x01: /* UNKNOWN */
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC EA 1:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC EA 1:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
case 0x02: /* FST float*/
|
case 0x02: /* FST float*/
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x03: /* FSTP float*/
|
case 0x03: /* FSTP float*/
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x04: /* FLDENV */
|
case 0x04: /* FLDENV */
|
||||||
gen_call_function((void*)&FPU_FLDENV_DH,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLDENV_DH,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x05: /* FLDCW */
|
case 0x05: /* FLDCW */
|
||||||
gen_call_function((void *)&FPU_FLDCW_DH,"%Ddr",DREG(EA));
|
gen_call_function((void *)&FPU_FLDCW_DH,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x06: /* FSTENV */
|
case 0x06: /* FSTENV */
|
||||||
cache_addb(0xd9);
|
cache_addb(0xd9);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FSTENV_DH,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FSTENV_DH,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x07: /* FNSTCW*/
|
case 0x07: /* FNSTCW*/
|
||||||
gen_call_function((void*)&FPU_FNSTCW_DH,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FNSTCW_DH,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC EA 1:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC EA 1:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc2(){
|
static void dh_fpu_esc2(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xda);
|
cache_addb(0xda);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xda);
|
cache_addb(0xda);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc3(){
|
static void dh_fpu_esc3(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
switch (group) {
|
switch (group) {
|
||||||
case 0x04:
|
case 0x04:
|
||||||
switch (sub) {
|
switch (sub) {
|
||||||
case 0x00: //FNENI
|
case 0x00: //FNENI
|
||||||
case 0x01: //FNDIS
|
case 0x01: //FNDIS
|
||||||
LOG(LOG_FPU,LOG_ERROR)("8087 only fpu code used esc 3: group 4: subfuntion :%d",sub);
|
LOG(LOG_FPU,LOG_ERROR)("8087 only fpu code used esc 3: group 4: subfuntion :%d",sub);
|
||||||
break;
|
break;
|
||||||
case 0x02: //FNCLEX FCLEX
|
case 0x02: //FNCLEX FCLEX
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
break;
|
break;
|
||||||
case 0x03: //FNINIT FINIT
|
case 0x03: //FNINIT FINIT
|
||||||
gen_call_function((void*)&FPU_FNINIT_DH,"");
|
gen_call_function((void*)&FPU_FNINIT_DH,"");
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
break;
|
break;
|
||||||
case 0x04: //FNSETPM
|
case 0x04: //FNSETPM
|
||||||
case 0x05: //FRSTPM
|
case 0x05: //FRSTPM
|
||||||
// LOG(LOG_FPU,LOG_ERROR)("80267 protected mode (un)set. Nothing done");
|
// LOG(LOG_FPU,LOG_ERROR)("80267 protected mode (un)set. Nothing done");
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
E_Exit("ESC 3:ILLEGAL OPCODE group %d subfunction %d",group,sub);
|
E_Exit("ESC 3:ILLEGAL OPCODE group %d subfunction %d",group,sub);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 3:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 3:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
switch(group){
|
switch(group){
|
||||||
case 0x00: /* FILD */
|
case 0x00: /* FILD */
|
||||||
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_32,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x01: /* FISTTP */
|
case 0x01: /* FISTTP */
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 3 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 3 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
case 0x02: /* FIST */
|
case 0x02: /* FIST */
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x03: /* FISTP */
|
case 0x03: /* FISTP */
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_32,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x05: /* FLD 80 Bits Real */
|
case 0x05: /* FLD 80 Bits Real */
|
||||||
gen_call_function((void*)&FPU_FLD_80,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_80,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x07: /* FSTP 80 Bits Real */
|
case 0x07: /* FSTP 80 Bits Real */
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_80,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_80,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 3 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 3 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc4(){
|
static void dh_fpu_esc4(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xdc);
|
cache_addb(0xdc);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdc);
|
cache_addb(0xdc);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc5(){
|
static void dh_fpu_esc5(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
switch(group){
|
switch(group){
|
||||||
case 0x00: /* FLD double real*/
|
case 0x00: /* FLD double real*/
|
||||||
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x01: /* FISTTP longint*/
|
case 0x01: /* FISTTP longint*/
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 5 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 5 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
case 0x02: /* FST double real*/
|
case 0x02: /* FST double real*/
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x03: /* FSTP double real*/
|
case 0x03: /* FSTP double real*/
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x04: /* FRSTOR */
|
case 0x04: /* FRSTOR */
|
||||||
gen_call_function((void*)&FPU_FRSTOR_DH,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FRSTOR_DH,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp_state[0])));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp_state[0])));
|
||||||
break;
|
break;
|
||||||
case 0x06: /* FSAVE */
|
case 0x06: /* FSAVE */
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp_state[0])));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp_state[0])));
|
||||||
gen_call_function((void*)&FPU_FSAVE_DH,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FSAVE_DH,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdb);
|
cache_addb(0xdb);
|
||||||
cache_addb(0xe3);
|
cache_addb(0xe3);
|
||||||
break;
|
break;
|
||||||
case 0x07: /* FNSTSW */
|
case 0x07: /* FNSTSW */
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 5 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 5 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc6(){
|
static void dh_fpu_esc6(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
cache_addb(0xde);
|
cache_addb(0xde);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
gen_call_function((void*)&FPU_FLD_16,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_16,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xde);
|
cache_addb(0xde);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dh_fpu_esc7(){
|
static void dh_fpu_esc7(){
|
||||||
dyn_get_modrm();
|
dyn_get_modrm();
|
||||||
Bitu group=(decode.modrm.val >> 3) & 7;
|
Bitu group=(decode.modrm.val >> 3) & 7;
|
||||||
Bitu sub=(decode.modrm.val & 7);
|
Bitu sub=(decode.modrm.val & 7);
|
||||||
if (decode.modrm.val >= 0xc0) {
|
if (decode.modrm.val >= 0xc0) {
|
||||||
switch (group){
|
switch (group){
|
||||||
case 0x00: /* FFREEP STi*/
|
case 0x00: /* FFREEP STi*/
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
break;
|
break;
|
||||||
case 0x01: /* FXCH STi*/
|
case 0x01: /* FXCH STi*/
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
break;
|
break;
|
||||||
case 0x02: /* FSTP STi*/
|
case 0x02: /* FSTP STi*/
|
||||||
case 0x03: /* FSTP STi*/
|
case 0x03: /* FSTP STi*/
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(decode.modrm.val);
|
cache_addb(decode.modrm.val);
|
||||||
break;
|
break;
|
||||||
case 0x04:
|
case 0x04:
|
||||||
switch(sub){
|
switch(sub){
|
||||||
case 0x00: /* FNSTSW AX*/
|
case 0x00: /* FNSTSW AX*/
|
||||||
cache_addb(0xdd);
|
cache_addb(0xdd);
|
||||||
cache_addb(0x05|(0x07<<3));
|
cache_addb(0x05|(0x07<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_load_host(&(dyn_dh_fpu.temp.m1),DREG(TMPB),4);
|
gen_load_host(&(dyn_dh_fpu.temp.m1),DREG(TMPB),4);
|
||||||
gen_dop_word(DOP_MOV,false,DREG(EAX),DREG(TMPB));
|
gen_dop_word(DOP_MOV,false,DREG(EAX),DREG(TMPB));
|
||||||
gen_releasereg(DREG(TMPB));
|
gen_releasereg(DREG(TMPB));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 7:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 7:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 7:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 7:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
dyn_fill_ea();
|
dyn_fill_ea();
|
||||||
switch(group){
|
switch(group){
|
||||||
case 0x00: /* FILD Bit16s */
|
case 0x00: /* FILD Bit16s */
|
||||||
gen_call_function((void*)&FPU_FLD_16,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_16,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x01:
|
case 0x01:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 7 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 7 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
case 0x02: /* FIST Bit16s */
|
case 0x02: /* FIST Bit16s */
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x03: /* FISTP Bit16s */
|
case 0x03: /* FISTP Bit16s */
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_16,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x04: /* FBLD packed BCD */
|
case 0x04: /* FBLD packed BCD */
|
||||||
gen_call_function((void*)&FPU_FLD_80,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_80,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x05: /* FILD Bit64s */
|
case 0x05: /* FILD Bit64s */
|
||||||
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FLD_64,"%Ddr",DREG(EA));
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
break;
|
break;
|
||||||
case 0x06: /* FBSTP packed BCD */
|
case 0x06: /* FBSTP packed BCD */
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_80,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_80,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
case 0x07: /* FISTP Bit64s */
|
case 0x07: /* FISTP Bit64s */
|
||||||
cache_addb(0xdf);
|
cache_addb(0xdf);
|
||||||
cache_addb(0x05|(decode.modrm.reg<<3));
|
cache_addb(0x05|(decode.modrm.reg<<3));
|
||||||
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
cache_addd((Bit32u)(&(dyn_dh_fpu.temp.m1)));
|
||||||
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
gen_call_function((void*)&FPU_FST_64,"%Ddr",DREG(EA));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
LOG(LOG_FPU,LOG_WARN)("ESC 7 EA:Unhandled group %d subfunction %d",group,sub);
|
LOG(LOG_FPU,LOG_WARN)("ESC 7 EA:Unhandled group %d subfunction %d",group,sub);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,69 +1,69 @@
|
|||||||
static bool dyn_helper_divb(Bit8u val) {
|
static bool dyn_helper_divb(Bit8u val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bitu quo=reg_ax / val;
|
Bitu quo=reg_ax / val;
|
||||||
Bit8u rem=(Bit8u)(reg_ax % val);
|
Bit8u rem=(Bit8u)(reg_ax % val);
|
||||||
Bit8u quo8=(Bit8u)(quo&0xff);
|
Bit8u quo8=(Bit8u)(quo&0xff);
|
||||||
if (quo>0xff) return CPU_PrepareException(0,0);
|
if (quo>0xff) return CPU_PrepareException(0,0);
|
||||||
reg_ah=rem;
|
reg_ah=rem;
|
||||||
reg_al=quo8;
|
reg_al=quo8;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool dyn_helper_idivb(Bit8s val) {
|
static bool dyn_helper_idivb(Bit8s val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bits quo=(Bit16s)reg_ax / val;
|
Bits quo=(Bit16s)reg_ax / val;
|
||||||
Bit8s rem=(Bit8s)((Bit16s)reg_ax % val);
|
Bit8s rem=(Bit8s)((Bit16s)reg_ax % val);
|
||||||
Bit8s quo8s=(Bit8s)(quo&0xff);
|
Bit8s quo8s=(Bit8s)(quo&0xff);
|
||||||
if (quo!=(Bit16s)quo8s) return CPU_PrepareException(0,0);
|
if (quo!=(Bit16s)quo8s) return CPU_PrepareException(0,0);
|
||||||
reg_ah=rem;
|
reg_ah=rem;
|
||||||
reg_al=quo8s;
|
reg_al=quo8s;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool dyn_helper_divw(Bit16u val) {
|
static bool dyn_helper_divw(Bit16u val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bitu num=(reg_dx<<16)|reg_ax;
|
Bitu num=(reg_dx<<16)|reg_ax;
|
||||||
Bitu quo=num/val;
|
Bitu quo=num/val;
|
||||||
Bit16u rem=(Bit16u)(num % val);
|
Bit16u rem=(Bit16u)(num % val);
|
||||||
Bit16u quo16=(Bit16u)(quo&0xffff);
|
Bit16u quo16=(Bit16u)(quo&0xffff);
|
||||||
if (quo!=(Bit32u)quo16) return CPU_PrepareException(0,0);
|
if (quo!=(Bit32u)quo16) return CPU_PrepareException(0,0);
|
||||||
reg_dx=rem;
|
reg_dx=rem;
|
||||||
reg_ax=quo16;
|
reg_ax=quo16;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool dyn_helper_idivw(Bit16s val) {
|
static bool dyn_helper_idivw(Bit16s val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bits num=(reg_dx<<16)|reg_ax;
|
Bits num=(reg_dx<<16)|reg_ax;
|
||||||
Bits quo=num/val;
|
Bits quo=num/val;
|
||||||
Bit16s rem=(Bit16s)(num % val);
|
Bit16s rem=(Bit16s)(num % val);
|
||||||
Bit16s quo16s=(Bit16s)quo;
|
Bit16s quo16s=(Bit16s)quo;
|
||||||
if (quo!=(Bit32s)quo16s) return CPU_PrepareException(0,0);
|
if (quo!=(Bit32s)quo16s) return CPU_PrepareException(0,0);
|
||||||
reg_dx=rem;
|
reg_dx=rem;
|
||||||
reg_ax=quo16s;
|
reg_ax=quo16s;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool dyn_helper_divd(Bit32u val) {
|
static bool dyn_helper_divd(Bit32u val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bit64u num=(((Bit64u)reg_edx)<<32)|reg_eax;
|
Bit64u num=(((Bit64u)reg_edx)<<32)|reg_eax;
|
||||||
Bit64u quo=num/val;
|
Bit64u quo=num/val;
|
||||||
Bit32u rem=(Bit32u)(num % val);
|
Bit32u rem=(Bit32u)(num % val);
|
||||||
Bit32u quo32=(Bit32u)(quo&0xffffffff);
|
Bit32u quo32=(Bit32u)(quo&0xffffffff);
|
||||||
if (quo!=(Bit64u)quo32) return CPU_PrepareException(0,0);
|
if (quo!=(Bit64u)quo32) return CPU_PrepareException(0,0);
|
||||||
reg_edx=rem;
|
reg_edx=rem;
|
||||||
reg_eax=quo32;
|
reg_eax=quo32;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool dyn_helper_idivd(Bit32s val) {
|
static bool dyn_helper_idivd(Bit32s val) {
|
||||||
if (!val) return CPU_PrepareException(0,0);
|
if (!val) return CPU_PrepareException(0,0);
|
||||||
Bit64s num=(((Bit64u)reg_edx)<<32)|reg_eax;
|
Bit64s num=(((Bit64u)reg_edx)<<32)|reg_eax;
|
||||||
Bit64s quo=num/val;
|
Bit64s quo=num/val;
|
||||||
Bit32s rem=(Bit32s)(num % val);
|
Bit32s rem=(Bit32s)(num % val);
|
||||||
Bit32s quo32s=(Bit32s)(quo&0xffffffff);
|
Bit32s quo32s=(Bit32s)(quo&0xffffffff);
|
||||||
if (quo!=(Bit64s)quo32s) return CPU_PrepareException(0,0);
|
if (quo!=(Bit64s)quo32s) return CPU_PrepareException(0,0);
|
||||||
reg_edx=rem;
|
reg_edx=rem;
|
||||||
reg_eax=quo32s;
|
reg_eax=quo32s;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
@ -1,164 +1,164 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
enum STRING_OP {
|
enum STRING_OP {
|
||||||
STR_OUTSB=0,STR_OUTSW,STR_OUTSD,
|
STR_OUTSB=0,STR_OUTSW,STR_OUTSD,
|
||||||
STR_INSB=4,STR_INSW,STR_INSD,
|
STR_INSB=4,STR_INSW,STR_INSD,
|
||||||
STR_MOVSB=8,STR_MOVSW,STR_MOVSD,
|
STR_MOVSB=8,STR_MOVSW,STR_MOVSD,
|
||||||
STR_LODSB=12,STR_LODSW,STR_LODSD,
|
STR_LODSB=12,STR_LODSW,STR_LODSD,
|
||||||
STR_STOSB=16,STR_STOSW,STR_STOSD,
|
STR_STOSB=16,STR_STOSW,STR_STOSD,
|
||||||
STR_SCASB=20,STR_SCASW,STR_SCASD,
|
STR_SCASB=20,STR_SCASW,STR_SCASD,
|
||||||
STR_CMPSB=24,STR_CMPSW,STR_CMPSD
|
STR_CMPSB=24,STR_CMPSW,STR_CMPSD
|
||||||
};
|
};
|
||||||
|
|
||||||
static void dyn_string(STRING_OP op) {
|
static void dyn_string(STRING_OP op) {
|
||||||
DynReg * si_base=decode.segprefix ? decode.segprefix : DREG(DS);
|
DynReg * si_base=decode.segprefix ? decode.segprefix : DREG(DS);
|
||||||
DynReg * di_base=DREG(ES);
|
DynReg * di_base=DREG(ES);
|
||||||
DynReg * tmp_reg;bool usesi;bool usedi;
|
DynReg * tmp_reg;bool usesi;bool usedi;
|
||||||
gen_protectflags();
|
gen_protectflags();
|
||||||
if (decode.rep) {
|
if (decode.rep) {
|
||||||
gen_dop_word_imm(DOP_SUB,true,DREG(CYCLES),decode.cycles);
|
gen_dop_word_imm(DOP_SUB,true,DREG(CYCLES),decode.cycles);
|
||||||
gen_releasereg(DREG(CYCLES));
|
gen_releasereg(DREG(CYCLES));
|
||||||
decode.cycles=0;
|
decode.cycles=0;
|
||||||
}
|
}
|
||||||
/* Check what each string operation will be using */
|
/* Check what each string operation will be using */
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case STR_MOVSB: case STR_MOVSW: case STR_MOVSD:
|
case STR_MOVSB: case STR_MOVSW: case STR_MOVSD:
|
||||||
case STR_CMPSB: case STR_CMPSW: case STR_CMPSD:
|
case STR_CMPSB: case STR_CMPSW: case STR_CMPSD:
|
||||||
tmp_reg=DREG(TMPB);usesi=true;usedi=true;break;
|
tmp_reg=DREG(TMPB);usesi=true;usedi=true;break;
|
||||||
case STR_LODSB: case STR_LODSW: case STR_LODSD:
|
case STR_LODSB: case STR_LODSW: case STR_LODSD:
|
||||||
tmp_reg=DREG(EAX);usesi=true;usedi=false;break;
|
tmp_reg=DREG(EAX);usesi=true;usedi=false;break;
|
||||||
case STR_OUTSB: case STR_OUTSW: case STR_OUTSD:
|
case STR_OUTSB: case STR_OUTSW: case STR_OUTSD:
|
||||||
tmp_reg=DREG(TMPB);usesi=true;usedi=false;break;
|
tmp_reg=DREG(TMPB);usesi=true;usedi=false;break;
|
||||||
case STR_SCASB: case STR_SCASW: case STR_SCASD:
|
case STR_SCASB: case STR_SCASW: case STR_SCASD:
|
||||||
case STR_STOSB: case STR_STOSW: case STR_STOSD:
|
case STR_STOSB: case STR_STOSW: case STR_STOSD:
|
||||||
tmp_reg=DREG(EAX);usesi=false;usedi=true;break;
|
tmp_reg=DREG(EAX);usesi=false;usedi=true;break;
|
||||||
case STR_INSB: case STR_INSW: case STR_INSD:
|
case STR_INSB: case STR_INSW: case STR_INSD:
|
||||||
tmp_reg=DREG(TMPB);usesi=false;usedi=true;break;
|
tmp_reg=DREG(TMPB);usesi=false;usedi=true;break;
|
||||||
default:
|
default:
|
||||||
IllegalOption("dyn_string op");
|
IllegalOption("dyn_string op");
|
||||||
}
|
}
|
||||||
gen_load_host(&cpu.direction,DREG(TMPW),4);
|
gen_load_host(&cpu.direction,DREG(TMPW),4);
|
||||||
switch (op & 3) {
|
switch (op & 3) {
|
||||||
case 0:break;
|
case 0:break;
|
||||||
case 1:gen_shift_word_imm(SHIFT_SHL,true,DREG(TMPW),1);break;
|
case 1:gen_shift_word_imm(SHIFT_SHL,true,DREG(TMPW),1);break;
|
||||||
case 2:gen_shift_word_imm(SHIFT_SHL,true,DREG(TMPW),2);break;
|
case 2:gen_shift_word_imm(SHIFT_SHL,true,DREG(TMPW),2);break;
|
||||||
default:
|
default:
|
||||||
IllegalOption("dyn_string shift");
|
IllegalOption("dyn_string shift");
|
||||||
|
|
||||||
}
|
}
|
||||||
if (usesi) {
|
if (usesi) {
|
||||||
gen_preloadreg(DREG(ESI));
|
gen_preloadreg(DREG(ESI));
|
||||||
DynRegs[G_ESI].flags|=DYNFLG_CHANGED;
|
DynRegs[G_ESI].flags|=DYNFLG_CHANGED;
|
||||||
gen_preloadreg(si_base);
|
gen_preloadreg(si_base);
|
||||||
}
|
}
|
||||||
if (usedi) {
|
if (usedi) {
|
||||||
gen_preloadreg(DREG(EDI));
|
gen_preloadreg(DREG(EDI));
|
||||||
DynRegs[G_EDI].flags|=DYNFLG_CHANGED;
|
DynRegs[G_EDI].flags|=DYNFLG_CHANGED;
|
||||||
gen_preloadreg(di_base);
|
gen_preloadreg(di_base);
|
||||||
}
|
}
|
||||||
if (decode.rep) {
|
if (decode.rep) {
|
||||||
gen_preloadreg(DREG(ECX));
|
gen_preloadreg(DREG(ECX));
|
||||||
DynRegs[G_ECX].flags|=DYNFLG_CHANGED;
|
DynRegs[G_ECX].flags|=DYNFLG_CHANGED;
|
||||||
}
|
}
|
||||||
DynState rep_state;
|
DynState rep_state;
|
||||||
dyn_savestate(&rep_state);
|
dyn_savestate(&rep_state);
|
||||||
Bit8u * rep_start=cache.pos;
|
Bit8u * rep_start=cache.pos;
|
||||||
Bit8u * rep_ecx_jmp;
|
Bit8u * rep_ecx_jmp;
|
||||||
/* Check if ECX!=zero */
|
/* Check if ECX!=zero */
|
||||||
if (decode.rep) {
|
if (decode.rep) {
|
||||||
gen_dop_word(DOP_OR,decode.big_addr,DREG(ECX),DREG(ECX));
|
gen_dop_word(DOP_OR,decode.big_addr,DREG(ECX),DREG(ECX));
|
||||||
rep_ecx_jmp=gen_create_branch_long(BR_Z);
|
rep_ecx_jmp=gen_create_branch_long(BR_Z);
|
||||||
}
|
}
|
||||||
if (usesi) {
|
if (usesi) {
|
||||||
if (!decode.big_addr) {
|
if (!decode.big_addr) {
|
||||||
gen_extend_word(false,DREG(EA),DREG(ESI));
|
gen_extend_word(false,DREG(EA),DREG(ESI));
|
||||||
gen_lea(DREG(EA),si_base,DREG(EA),0,0);
|
gen_lea(DREG(EA),si_base,DREG(EA),0,0);
|
||||||
} else {
|
} else {
|
||||||
gen_lea(DREG(EA),si_base,DREG(ESI),0,0);
|
gen_lea(DREG(EA),si_base,DREG(ESI),0,0);
|
||||||
}
|
}
|
||||||
switch (op&3) {
|
switch (op&3) {
|
||||||
case 0:dyn_read_byte(DREG(EA),tmp_reg,false);break;
|
case 0:dyn_read_byte(DREG(EA),tmp_reg,false);break;
|
||||||
case 1:dyn_read_word(DREG(EA),tmp_reg,false);break;
|
case 1:dyn_read_word(DREG(EA),tmp_reg,false);break;
|
||||||
case 2:dyn_read_word(DREG(EA),tmp_reg,true);break;
|
case 2:dyn_read_word(DREG(EA),tmp_reg,true);break;
|
||||||
}
|
}
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case STR_OUTSB:
|
case STR_OUTSB:
|
||||||
gen_call_function((void*)&IO_WriteB,"%Id%Dl",DREG(EDX),tmp_reg);break;
|
gen_call_function((void*)&IO_WriteB,"%Id%Dl",DREG(EDX),tmp_reg);break;
|
||||||
case STR_OUTSW:
|
case STR_OUTSW:
|
||||||
gen_call_function((void*)&IO_WriteW,"%Id%Dw",DREG(EDX),tmp_reg);break;
|
gen_call_function((void*)&IO_WriteW,"%Id%Dw",DREG(EDX),tmp_reg);break;
|
||||||
case STR_OUTSD:
|
case STR_OUTSD:
|
||||||
gen_call_function((void*)&IO_WriteD,"%Id%Dd",DREG(EDX),tmp_reg);break;
|
gen_call_function((void*)&IO_WriteD,"%Id%Dd",DREG(EDX),tmp_reg);break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (usedi) {
|
if (usedi) {
|
||||||
if (!decode.big_addr) {
|
if (!decode.big_addr) {
|
||||||
gen_extend_word(false,DREG(EA),DREG(EDI));
|
gen_extend_word(false,DREG(EA),DREG(EDI));
|
||||||
gen_lea(DREG(EA),di_base,DREG(EA),0,0);
|
gen_lea(DREG(EA),di_base,DREG(EA),0,0);
|
||||||
} else {
|
} else {
|
||||||
gen_lea(DREG(EA),di_base,DREG(EDI),0,0);
|
gen_lea(DREG(EA),di_base,DREG(EDI),0,0);
|
||||||
}
|
}
|
||||||
/* Maybe something special to be done to fill the value */
|
/* Maybe something special to be done to fill the value */
|
||||||
switch (op) {
|
switch (op) {
|
||||||
case STR_INSB:
|
case STR_INSB:
|
||||||
gen_call_function((void*)&IO_ReadB,"%Dw%Rl",DREG(EDX),tmp_reg);
|
gen_call_function((void*)&IO_ReadB,"%Dw%Rl",DREG(EDX),tmp_reg);
|
||||||
case STR_MOVSB:
|
case STR_MOVSB:
|
||||||
case STR_STOSB:
|
case STR_STOSB:
|
||||||
dyn_write_byte(DREG(EA),tmp_reg,false);
|
dyn_write_byte(DREG(EA),tmp_reg,false);
|
||||||
break;
|
break;
|
||||||
case STR_INSW:
|
case STR_INSW:
|
||||||
gen_call_function((void*)&IO_ReadW,"%Dw%Rw",DREG(EDX),tmp_reg);
|
gen_call_function((void*)&IO_ReadW,"%Dw%Rw",DREG(EDX),tmp_reg);
|
||||||
case STR_MOVSW:
|
case STR_MOVSW:
|
||||||
case STR_STOSW:
|
case STR_STOSW:
|
||||||
dyn_write_word(DREG(EA),tmp_reg,false);
|
dyn_write_word(DREG(EA),tmp_reg,false);
|
||||||
break;
|
break;
|
||||||
case STR_INSD:
|
case STR_INSD:
|
||||||
gen_call_function((void*)&IO_ReadD,"%Dw%Rd",DREG(EDX),tmp_reg);
|
gen_call_function((void*)&IO_ReadD,"%Dw%Rd",DREG(EDX),tmp_reg);
|
||||||
case STR_MOVSD:
|
case STR_MOVSD:
|
||||||
case STR_STOSD:
|
case STR_STOSD:
|
||||||
dyn_write_word(DREG(EA),tmp_reg,true);
|
dyn_write_word(DREG(EA),tmp_reg,true);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
IllegalOption("dyn_string op");
|
IllegalOption("dyn_string op");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
gen_releasereg(DREG(EA));gen_releasereg(DREG(TMPB));
|
gen_releasereg(DREG(EA));gen_releasereg(DREG(TMPB));
|
||||||
|
|
||||||
/* update registers */
|
/* update registers */
|
||||||
if (usesi) gen_dop_word(DOP_ADD,decode.big_addr,DREG(ESI),DREG(TMPW));
|
if (usesi) gen_dop_word(DOP_ADD,decode.big_addr,DREG(ESI),DREG(TMPW));
|
||||||
if (usedi) gen_dop_word(DOP_ADD,decode.big_addr,DREG(EDI),DREG(TMPW));
|
if (usedi) gen_dop_word(DOP_ADD,decode.big_addr,DREG(EDI),DREG(TMPW));
|
||||||
|
|
||||||
if (decode.rep) {
|
if (decode.rep) {
|
||||||
gen_sop_word(SOP_DEC,decode.big_addr,DREG(ECX));
|
gen_sop_word(SOP_DEC,decode.big_addr,DREG(ECX));
|
||||||
gen_sop_word(SOP_DEC,true,DREG(CYCLES));
|
gen_sop_word(SOP_DEC,true,DREG(CYCLES));
|
||||||
gen_releasereg(DREG(CYCLES));
|
gen_releasereg(DREG(CYCLES));
|
||||||
dyn_savestate(&save_info[used_save_info].state);
|
dyn_savestate(&save_info[used_save_info].state);
|
||||||
save_info[used_save_info].branch_pos=gen_create_branch_long(BR_LE);
|
save_info[used_save_info].branch_pos=gen_create_branch_long(BR_LE);
|
||||||
save_info[used_save_info].eip_change=decode.op_start-decode.code_start;
|
save_info[used_save_info].eip_change=decode.op_start-decode.code_start;
|
||||||
save_info[used_save_info].type=normal;
|
save_info[used_save_info].type=normal;
|
||||||
used_save_info++;
|
used_save_info++;
|
||||||
|
|
||||||
/* Jump back to start of ECX check */
|
/* Jump back to start of ECX check */
|
||||||
dyn_synchstate(&rep_state);
|
dyn_synchstate(&rep_state);
|
||||||
gen_create_jump(rep_start);
|
gen_create_jump(rep_start);
|
||||||
|
|
||||||
dyn_loadstate(&rep_state);
|
dyn_loadstate(&rep_state);
|
||||||
gen_fill_branch_long(rep_ecx_jmp);
|
gen_fill_branch_long(rep_ecx_jmp);
|
||||||
}
|
}
|
||||||
gen_releasereg(DREG(TMPW));
|
gen_releasereg(DREG(TMPW));
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,114 +1,114 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: risc_armv4le-common.h,v 1.3 2009/05/16 21:52:47 c2woody Exp $ */
|
/* $Id: risc_armv4le-common.h,v 1.3 2009-05-16 21:52:47 c2woody Exp $ */
|
||||||
|
|
||||||
|
|
||||||
/* ARMv4 (little endian) backend by M-HT (common data/functions) */
|
/* ARMv4 (little endian) backend by M-HT (common data/functions) */
|
||||||
|
|
||||||
|
|
||||||
// some configuring defines that specify the capabilities of this architecture
|
// some configuring defines that specify the capabilities of this architecture
|
||||||
// or aspects of the recompiling
|
// or aspects of the recompiling
|
||||||
|
|
||||||
// protect FC_ADDR over function calls if necessaray
|
// protect FC_ADDR over function calls if necessaray
|
||||||
// #define DRC_PROTECT_ADDR_REG
|
// #define DRC_PROTECT_ADDR_REG
|
||||||
|
|
||||||
// try to use non-flags generating functions if possible
|
// try to use non-flags generating functions if possible
|
||||||
#define DRC_FLAGS_INVALIDATION
|
#define DRC_FLAGS_INVALIDATION
|
||||||
// try to replace _simple functions by code
|
// try to replace _simple functions by code
|
||||||
#define DRC_FLAGS_INVALIDATION_DCODE
|
#define DRC_FLAGS_INVALIDATION_DCODE
|
||||||
|
|
||||||
// type with the same size as a pointer
|
// type with the same size as a pointer
|
||||||
#define DRC_PTR_SIZE_IM Bit32u
|
#define DRC_PTR_SIZE_IM Bit32u
|
||||||
|
|
||||||
// calling convention modifier
|
// calling convention modifier
|
||||||
#define DRC_CALL_CONV /* nothing */
|
#define DRC_CALL_CONV /* nothing */
|
||||||
#define DRC_FC /* nothing */
|
#define DRC_FC /* nothing */
|
||||||
|
|
||||||
// use FC_REGS_ADDR to hold the address of "cpu_regs" and to access it using FC_REGS_ADDR
|
// use FC_REGS_ADDR to hold the address of "cpu_regs" and to access it using FC_REGS_ADDR
|
||||||
#define DRC_USE_REGS_ADDR
|
#define DRC_USE_REGS_ADDR
|
||||||
// use FC_SEGS_ADDR to hold the address of "Segs" and to access it using FC_SEGS_ADDR
|
// use FC_SEGS_ADDR to hold the address of "Segs" and to access it using FC_SEGS_ADDR
|
||||||
#define DRC_USE_SEGS_ADDR
|
#define DRC_USE_SEGS_ADDR
|
||||||
|
|
||||||
// register mapping
|
// register mapping
|
||||||
typedef Bit8u HostReg;
|
typedef Bit8u HostReg;
|
||||||
|
|
||||||
// "lo" registers
|
// "lo" registers
|
||||||
#define HOST_r0 0
|
#define HOST_r0 0
|
||||||
#define HOST_r1 1
|
#define HOST_r1 1
|
||||||
#define HOST_r2 2
|
#define HOST_r2 2
|
||||||
#define HOST_r3 3
|
#define HOST_r3 3
|
||||||
#define HOST_r4 4
|
#define HOST_r4 4
|
||||||
#define HOST_r5 5
|
#define HOST_r5 5
|
||||||
#define HOST_r6 6
|
#define HOST_r6 6
|
||||||
#define HOST_r7 7
|
#define HOST_r7 7
|
||||||
// "hi" registers
|
// "hi" registers
|
||||||
#define HOST_r8 8
|
#define HOST_r8 8
|
||||||
#define HOST_r9 9
|
#define HOST_r9 9
|
||||||
#define HOST_r10 10
|
#define HOST_r10 10
|
||||||
#define HOST_r11 11
|
#define HOST_r11 11
|
||||||
#define HOST_r12 12
|
#define HOST_r12 12
|
||||||
#define HOST_r13 13
|
#define HOST_r13 13
|
||||||
#define HOST_r14 14
|
#define HOST_r14 14
|
||||||
#define HOST_r15 15
|
#define HOST_r15 15
|
||||||
|
|
||||||
// register aliases
|
// register aliases
|
||||||
// "lo" registers
|
// "lo" registers
|
||||||
#define HOST_a1 HOST_r0
|
#define HOST_a1 HOST_r0
|
||||||
#define HOST_a2 HOST_r1
|
#define HOST_a2 HOST_r1
|
||||||
#define HOST_a3 HOST_r2
|
#define HOST_a3 HOST_r2
|
||||||
#define HOST_a4 HOST_r3
|
#define HOST_a4 HOST_r3
|
||||||
#define HOST_v1 HOST_r4
|
#define HOST_v1 HOST_r4
|
||||||
#define HOST_v2 HOST_r5
|
#define HOST_v2 HOST_r5
|
||||||
#define HOST_v3 HOST_r6
|
#define HOST_v3 HOST_r6
|
||||||
#define HOST_v4 HOST_r7
|
#define HOST_v4 HOST_r7
|
||||||
// "hi" registers
|
// "hi" registers
|
||||||
#define HOST_v5 HOST_r8
|
#define HOST_v5 HOST_r8
|
||||||
#define HOST_v6 HOST_r9
|
#define HOST_v6 HOST_r9
|
||||||
#define HOST_v7 HOST_r10
|
#define HOST_v7 HOST_r10
|
||||||
#define HOST_v8 HOST_r11
|
#define HOST_v8 HOST_r11
|
||||||
#define HOST_ip HOST_r12
|
#define HOST_ip HOST_r12
|
||||||
#define HOST_sp HOST_r13
|
#define HOST_sp HOST_r13
|
||||||
#define HOST_lr HOST_r14
|
#define HOST_lr HOST_r14
|
||||||
#define HOST_pc HOST_r15
|
#define HOST_pc HOST_r15
|
||||||
|
|
||||||
|
|
||||||
static void cache_block_closing(Bit8u* block_start,Bitu block_size) {
|
static void cache_block_closing(Bit8u* block_start,Bitu block_size) {
|
||||||
#if (__ARM_EABI__)
|
#if (__ARM_EABI__)
|
||||||
//flush cache - eabi
|
//flush cache - eabi
|
||||||
register unsigned long _beg __asm ("a1") = (unsigned long)(block_start); // block start
|
register unsigned long _beg __asm ("a1") = (unsigned long)(block_start); // block start
|
||||||
register unsigned long _end __asm ("a2") = (unsigned long)(block_start+block_size); // block end
|
register unsigned long _end __asm ("a2") = (unsigned long)(block_start+block_size); // block end
|
||||||
register unsigned long _flg __asm ("a3") = 0;
|
register unsigned long _flg __asm ("a3") = 0;
|
||||||
register unsigned long _par __asm ("r7") = 0xf0002; // sys_cacheflush
|
register unsigned long _par __asm ("r7") = 0xf0002; // sys_cacheflush
|
||||||
__asm __volatile ("swi 0x0"
|
__asm __volatile ("swi 0x0"
|
||||||
: // no outputs
|
: // no outputs
|
||||||
: "r" (_beg), "r" (_end), "r" (_flg), "r" (_par)
|
: "r" (_beg), "r" (_end), "r" (_flg), "r" (_par)
|
||||||
);
|
);
|
||||||
#else
|
#else
|
||||||
// GP2X BEGIN
|
// GP2X BEGIN
|
||||||
//flush cache - old abi
|
//flush cache - old abi
|
||||||
register unsigned long _beg __asm ("a1") = (unsigned long)(block_start); // block start
|
register unsigned long _beg __asm ("a1") = (unsigned long)(block_start); // block start
|
||||||
register unsigned long _end __asm ("a2") = (unsigned long)(block_start+block_size); // block end
|
register unsigned long _end __asm ("a2") = (unsigned long)(block_start+block_size); // block end
|
||||||
register unsigned long _flg __asm ("a3") = 0;
|
register unsigned long _flg __asm ("a3") = 0;
|
||||||
__asm __volatile ("swi 0x9f0002 @ sys_cacheflush"
|
__asm __volatile ("swi 0x9f0002 @ sys_cacheflush"
|
||||||
: // no outputs
|
: // no outputs
|
||||||
: "r" (_beg), "r" (_end), "r" (_flg)
|
: "r" (_beg), "r" (_end), "r" (_flg)
|
||||||
);
|
);
|
||||||
// GP2X END
|
// GP2X END
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,31 +1,31 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* This program is distributed in the hope that it will be useful,
|
* This program is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU General Public License
|
* You should have received a copy of the GNU General Public License
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* $Id: risc_armv4le.h,v 1.3 2009/05/27 09:15:41 qbix79 Exp $ */
|
/* $Id: risc_armv4le.h,v 1.3 2009-05-27 09:15:41 qbix79 Exp $ */
|
||||||
|
|
||||||
|
|
||||||
/* ARMv4 (little endian) backend (switcher) by M-HT */
|
/* ARMv4 (little endian) backend (switcher) by M-HT */
|
||||||
|
|
||||||
#include "risc_armv4le-common.h"
|
#include "risc_armv4le-common.h"
|
||||||
|
|
||||||
// choose your destiny:
|
// choose your destiny:
|
||||||
#include "risc_armv4le-thumb-niw.h"
|
#include "risc_armv4le-thumb-niw.h"
|
||||||
//#include "risc_armv4le-thumb-iw.h"
|
//#include "risc_armv4le-thumb-iw.h"
|
||||||
//#include "risc_armv4le-thumb.h"
|
//#include "risc_armv4le-thumb.h"
|
||||||
//#include "risc_armv4le-s3.h"
|
//#include "risc_armv4le-s3.h"
|
||||||
//#include "risc_armv4le-o3.h"
|
//#include "risc_armv4le-o3.h"
|
||||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2002-2009 The DOSBox Team
|
* Copyright (C) 2002-2010 The DOSBox Team
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user