mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
61 Commits
v3.1.1-pre
...
v3.1.1-pre
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3b0951f6d5 | ||
|
|
4385efb0f7 | ||
|
|
d241db5c11 | ||
|
|
0c61385df4 | ||
|
|
cf142b3a91 | ||
|
|
9a503696c8 | ||
|
|
bfdfd83f2a | ||
|
|
95f8c35c36 | ||
|
|
c065af147a | ||
|
|
11ea0c8c27 | ||
|
|
dbea21fadd | ||
|
|
4d5f2ab219 | ||
|
|
b82ff327cf | ||
|
|
44b17ccc3a | ||
|
|
b2e1294452 | ||
|
|
23a10343ca | ||
|
|
5805f13a62 | ||
|
|
d39f0201f4 | ||
|
|
94cf9a209e | ||
|
|
691842c1bc | ||
|
|
eb255e7016 | ||
|
|
fe19472a2c | ||
|
|
526a1a5d33 | ||
|
|
719c993a60 | ||
|
|
70697a762c | ||
|
|
a62f5805ca | ||
|
|
87a6701464 | ||
|
|
3f3a13bff6 | ||
|
|
982906757e | ||
|
|
c1412ee755 | ||
|
|
e974a4a960 | ||
|
|
0549cdcb36 | ||
|
|
0e32dd58fa | ||
|
|
69b54a000c | ||
|
|
0d8b04ffa6 | ||
|
|
9251f44dec | ||
|
|
fde0c285d2 | ||
|
|
44467f4725 | ||
|
|
0767a2ceff | ||
|
|
9b27118a3b | ||
|
|
b98ee17e14 | ||
|
|
c046f0365c | ||
|
|
16390d3159 | ||
|
|
1b34dc0941 | ||
|
|
4a88e0bcae | ||
|
|
1e52a0b7f3 | ||
|
|
f6d0e7fea4 | ||
|
|
4af5d457eb | ||
|
|
e804326d54 | ||
|
|
5b9e9ba6bf | ||
|
|
4f25cf1366 | ||
|
|
170ac7d9e8 | ||
|
|
eb208d735b | ||
|
|
0efd08539e | ||
|
|
291017f1a9 | ||
|
|
7549789248 | ||
|
|
59c523c575 | ||
|
|
4d3640caaa | ||
|
|
d02fe9d8df | ||
|
|
bc04d5ecb9 | ||
|
|
5439a12fe8 |
2
.github/workflows/commit.yml
vendored
2
.github/workflows/commit.yml
vendored
@@ -24,7 +24,6 @@ jobs:
|
||||
sudo apt-get install libncurses-dev
|
||||
sudo apt-get install srecord
|
||||
make dist
|
||||
make clean
|
||||
rm -rf .git*
|
||||
|
||||
- name: List Output
|
||||
@@ -64,7 +63,6 @@ jobs:
|
||||
export TZ='America/Los_Angeles'
|
||||
brew install srecord
|
||||
make dist
|
||||
make clean
|
||||
rm -rf .git*
|
||||
|
||||
- name: List Output
|
||||
|
||||
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -27,7 +27,6 @@ jobs:
|
||||
run: |
|
||||
sudo apt-get install libncurses-dev
|
||||
make dist
|
||||
make clean
|
||||
rm -rf .git*
|
||||
|
||||
- name: Upload Artifact
|
||||
|
||||
2
.gitignore
vendored
2
.gitignore
vendored
@@ -96,7 +96,7 @@ Tools/unix/zx/zx
|
||||
!Source/ZRC/*.bin
|
||||
!Source/ZZR/*.bin
|
||||
!Source/ZZR/*.hex
|
||||
!Tools/cpm/bin/*
|
||||
!Tools/cpm/**
|
||||
!Tools/unix/zx/*
|
||||
!Tools/zx/*
|
||||
|
||||
|
||||
@@ -7,5 +7,5 @@ include $(TOOLS)/Makefile.inc
|
||||
all::
|
||||
mkdir -p Tunes
|
||||
|
||||
clobber::
|
||||
clean::
|
||||
@rm -f *.bin *.com *.img *.rom *.pdf *.log *.eeprom *.ovr *.hlp *.doc *.COM *.BIN Tunes/*.mym Tunes/*.pt? Tunes/*.vgm
|
||||
|
||||
@@ -3,5 +3,5 @@ MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.com)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clobber::
|
||||
clean::
|
||||
@rm -f *.com
|
||||
|
||||
@@ -3,5 +3,5 @@ MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clobber::
|
||||
@rm -f *.spr
|
||||
clean::
|
||||
@rm -f *.spr *.com *.sys *.dat cpm3fix.pat readme.1st
|
||||
|
||||
@@ -4,5 +4,5 @@ SUBDIRS = Apps CPM3 ZPM3
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clobber::
|
||||
@rm -f *.bin *.com *.img *.rom *.upd *.hex *.pdf *.log *.eeprom *.dat
|
||||
clean::
|
||||
@rm -f *.bin *.com *.img *.rom *.upd *.hex *.pdf *.log *.eeprom *.dat
|
||||
|
||||
@@ -3,5 +3,5 @@ MOREDIFF := $(shell $(TOOLS)/unix/casefn.sh *.spr)
|
||||
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
clobber::
|
||||
@rm -f *.spr
|
||||
clean::
|
||||
@rm -f *.spr *.com *.sys *.dat *.zpm
|
||||
|
||||
@@ -3,4 +3,4 @@ setlocal
|
||||
|
||||
pushd Source && call Build %* || exit /b & popd
|
||||
|
||||
pause
|
||||
if "%*" == "" pause
|
||||
|
||||
128
CODE_OF_CONDUCT.md
Normal file
128
CODE_OF_CONDUCT.md
Normal file
@@ -0,0 +1,128 @@
|
||||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
We as members, contributors, and leaders pledge to make participation in our
|
||||
community a harassment-free experience for everyone, regardless of age, body
|
||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
||||
identity and expression, level of experience, education, socio-economic status,
|
||||
nationality, personal appearance, race, religion, or sexual identity
|
||||
and orientation.
|
||||
|
||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
||||
diverse, inclusive, and healthy community.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to a positive environment for our
|
||||
community include:
|
||||
|
||||
* Demonstrating empathy and kindness toward other people
|
||||
* Being respectful of differing opinions, viewpoints, and experiences
|
||||
* Giving and gracefully accepting constructive feedback
|
||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
||||
and learning from the experience
|
||||
* Focusing on what is best not just for us as individuals, but for the
|
||||
overall community
|
||||
|
||||
Examples of unacceptable behavior include:
|
||||
|
||||
* The use of sexualized language or imagery, and sexual attention or
|
||||
advances of any kind
|
||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or email
|
||||
address, without their explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a
|
||||
professional setting
|
||||
|
||||
## Enforcement Responsibilities
|
||||
|
||||
Community leaders are responsible for clarifying and enforcing our standards of
|
||||
acceptable behavior and will take appropriate and fair corrective action in
|
||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
||||
or harmful.
|
||||
|
||||
Community leaders have the right and responsibility to remove, edit, or reject
|
||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
||||
decisions when appropriate.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all community spaces, and also applies when
|
||||
an individual is officially representing the community in public spaces.
|
||||
Examples of representing our community include using an official e-mail address,
|
||||
posting via an official social media account, or acting as an appointed
|
||||
representative at an online or offline event.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
||||
reported to the community leaders responsible for enforcement at
|
||||
wwarthen@gmail.com.
|
||||
All complaints will be reviewed and investigated promptly and fairly.
|
||||
|
||||
All community leaders are obligated to respect the privacy and security of the
|
||||
reporter of any incident.
|
||||
|
||||
## Enforcement Guidelines
|
||||
|
||||
Community leaders will follow these Community Impact Guidelines in determining
|
||||
the consequences for any action they deem in violation of this Code of Conduct:
|
||||
|
||||
### 1. Correction
|
||||
|
||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
||||
unprofessional or unwelcome in the community.
|
||||
|
||||
**Consequence**: A private, written warning from community leaders, providing
|
||||
clarity around the nature of the violation and an explanation of why the
|
||||
behavior was inappropriate. A public apology may be requested.
|
||||
|
||||
### 2. Warning
|
||||
|
||||
**Community Impact**: A violation through a single incident or series
|
||||
of actions.
|
||||
|
||||
**Consequence**: A warning with consequences for continued behavior. No
|
||||
interaction with the people involved, including unsolicited interaction with
|
||||
those enforcing the Code of Conduct, for a specified period of time. This
|
||||
includes avoiding interactions in community spaces as well as external channels
|
||||
like social media. Violating these terms may lead to a temporary or
|
||||
permanent ban.
|
||||
|
||||
### 3. Temporary Ban
|
||||
|
||||
**Community Impact**: A serious violation of community standards, including
|
||||
sustained inappropriate behavior.
|
||||
|
||||
**Consequence**: A temporary ban from any sort of interaction or public
|
||||
communication with the community for a specified period of time. No public or
|
||||
private interaction with the people involved, including unsolicited interaction
|
||||
with those enforcing the Code of Conduct, is allowed during this period.
|
||||
Violating these terms may lead to a permanent ban.
|
||||
|
||||
### 4. Permanent Ban
|
||||
|
||||
**Community Impact**: Demonstrating a pattern of violation of community
|
||||
standards, including sustained inappropriate behavior, harassment of an
|
||||
individual, or aggression toward or disparagement of classes of individuals.
|
||||
|
||||
**Consequence**: A permanent ban from any sort of public interaction within
|
||||
the community.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
||||
version 2.0, available at
|
||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
||||
|
||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
||||
enforcement ladder](https://github.com/mozilla/diversity).
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see the FAQ at
|
||||
https://www.contributor-covenant.org/faq. Translations are available at
|
||||
https://www.contributor-covenant.org/translations.
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
661
LICENSE
Normal file
661
LICENSE
Normal file
@@ -0,0 +1,661 @@
|
||||
GNU AFFERO GENERAL PUBLIC LICENSE
|
||||
Version 3, 19 November 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The GNU Affero General Public License is a free, copyleft license for
|
||||
software and other kinds of works, specifically designed to ensure
|
||||
cooperation with the community in the case of network server software.
|
||||
|
||||
The licenses for most software and other practical works are designed
|
||||
to take away your freedom to share and change the works. By contrast,
|
||||
our General Public Licenses are intended to guarantee your freedom to
|
||||
share and change all versions of a program--to make sure it remains free
|
||||
software for all its users.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
them if you wish), that you receive source code or can get it if you
|
||||
want it, that you can change the software or use pieces of it in new
|
||||
free programs, and that you know you can do these things.
|
||||
|
||||
Developers that use our General Public Licenses protect your rights
|
||||
with two steps: (1) assert copyright on the software, and (2) offer
|
||||
you this License which gives you legal permission to copy, distribute
|
||||
and/or modify the software.
|
||||
|
||||
A secondary benefit of defending all users' freedom is that
|
||||
improvements made in alternate versions of the program, if they
|
||||
receive widespread use, become available for other developers to
|
||||
incorporate. Many developers of free software are heartened and
|
||||
encouraged by the resulting cooperation. However, in the case of
|
||||
software used on network servers, this result may fail to come about.
|
||||
The GNU General Public License permits making a modified version and
|
||||
letting the public access it on a server without ever releasing its
|
||||
source code to the public.
|
||||
|
||||
The GNU Affero General Public License is designed specifically to
|
||||
ensure that, in such cases, the modified source code becomes available
|
||||
to the community. It requires the operator of a network server to
|
||||
provide the source code of the modified version running there to the
|
||||
users of that server. Therefore, public use of a modified version, on
|
||||
a publicly accessible server, gives the public access to the source
|
||||
code of the modified version.
|
||||
|
||||
An older license, called the Affero General Public License and
|
||||
published by Affero, was designed to accomplish similar goals. This is
|
||||
a different license, not a version of the Affero GPL, but Affero has
|
||||
released a new version of the Affero GPL which permits relicensing under
|
||||
this license.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
TERMS AND CONDITIONS
|
||||
|
||||
0. Definitions.
|
||||
|
||||
"This License" refers to version 3 of the GNU Affero General Public License.
|
||||
|
||||
"Copyright" also means copyright-like laws that apply to other kinds of
|
||||
works, such as semiconductor masks.
|
||||
|
||||
"The Program" refers to any copyrightable work licensed under this
|
||||
License. Each licensee is addressed as "you". "Licensees" and
|
||||
"recipients" may be individuals or organizations.
|
||||
|
||||
To "modify" a work means to copy from or adapt all or part of the work
|
||||
in a fashion requiring copyright permission, other than the making of an
|
||||
exact copy. The resulting work is called a "modified version" of the
|
||||
earlier work or a work "based on" the earlier work.
|
||||
|
||||
A "covered work" means either the unmodified Program or a work based
|
||||
on the Program.
|
||||
|
||||
To "propagate" a work means to do anything with it that, without
|
||||
permission, would make you directly or secondarily liable for
|
||||
infringement under applicable copyright law, except executing it on a
|
||||
computer or modifying a private copy. Propagation includes copying,
|
||||
distribution (with or without modification), making available to the
|
||||
public, and in some countries other activities as well.
|
||||
|
||||
To "convey" a work means any kind of propagation that enables other
|
||||
parties to make or receive copies. Mere interaction with a user through
|
||||
a computer network, with no transfer of a copy, is not conveying.
|
||||
|
||||
An interactive user interface displays "Appropriate Legal Notices"
|
||||
to the extent that it includes a convenient and prominently visible
|
||||
feature that (1) displays an appropriate copyright notice, and (2)
|
||||
tells the user that there is no warranty for the work (except to the
|
||||
extent that warranties are provided), that licensees may convey the
|
||||
work under this License, and how to view a copy of this License. If
|
||||
the interface presents a list of user commands or options, such as a
|
||||
menu, a prominent item in the list meets this criterion.
|
||||
|
||||
1. Source Code.
|
||||
|
||||
The "source code" for a work means the preferred form of the work
|
||||
for making modifications to it. "Object code" means any non-source
|
||||
form of a work.
|
||||
|
||||
A "Standard Interface" means an interface that either is an official
|
||||
standard defined by a recognized standards body, or, in the case of
|
||||
interfaces specified for a particular programming language, one that
|
||||
is widely used among developers working in that language.
|
||||
|
||||
The "System Libraries" of an executable work include anything, other
|
||||
than the work as a whole, that (a) is included in the normal form of
|
||||
packaging a Major Component, but which is not part of that Major
|
||||
Component, and (b) serves only to enable use of the work with that
|
||||
Major Component, or to implement a Standard Interface for which an
|
||||
implementation is available to the public in source code form. A
|
||||
"Major Component", in this context, means a major essential component
|
||||
(kernel, window system, and so on) of the specific operating system
|
||||
(if any) on which the executable work runs, or a compiler used to
|
||||
produce the work, or an object code interpreter used to run it.
|
||||
|
||||
The "Corresponding Source" for a work in object code form means all
|
||||
the source code needed to generate, install, and (for an executable
|
||||
work) run the object code and to modify the work, including scripts to
|
||||
control those activities. However, it does not include the work's
|
||||
System Libraries, or general-purpose tools or generally available free
|
||||
programs which are used unmodified in performing those activities but
|
||||
which are not part of the work. For example, Corresponding Source
|
||||
includes interface definition files associated with source files for
|
||||
the work, and the source code for shared libraries and dynamically
|
||||
linked subprograms that the work is specifically designed to require,
|
||||
such as by intimate data communication or control flow between those
|
||||
subprograms and other parts of the work.
|
||||
|
||||
The Corresponding Source need not include anything that users
|
||||
can regenerate automatically from other parts of the Corresponding
|
||||
Source.
|
||||
|
||||
The Corresponding Source for a work in source code form is that
|
||||
same work.
|
||||
|
||||
2. Basic Permissions.
|
||||
|
||||
All rights granted under this License are granted for the term of
|
||||
copyright on the Program, and are irrevocable provided the stated
|
||||
conditions are met. This License explicitly affirms your unlimited
|
||||
permission to run the unmodified Program. The output from running a
|
||||
covered work is covered by this License only if the output, given its
|
||||
content, constitutes a covered work. This License acknowledges your
|
||||
rights of fair use or other equivalent, as provided by copyright law.
|
||||
|
||||
You may make, run and propagate covered works that you do not
|
||||
convey, without conditions so long as your license otherwise remains
|
||||
in force. You may convey covered works to others for the sole purpose
|
||||
of having them make modifications exclusively for you, or provide you
|
||||
with facilities for running those works, provided that you comply with
|
||||
the terms of this License in conveying all material for which you do
|
||||
not control copyright. Those thus making or running the covered works
|
||||
for you must do so exclusively on your behalf, under your direction
|
||||
and control, on terms that prohibit them from making any copies of
|
||||
your copyrighted material outside their relationship with you.
|
||||
|
||||
Conveying under any other circumstances is permitted solely under
|
||||
the conditions stated below. Sublicensing is not allowed; section 10
|
||||
makes it unnecessary.
|
||||
|
||||
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
|
||||
|
||||
No covered work shall be deemed part of an effective technological
|
||||
measure under any applicable law fulfilling obligations under article
|
||||
11 of the WIPO copyright treaty adopted on 20 December 1996, or
|
||||
similar laws prohibiting or restricting circumvention of such
|
||||
measures.
|
||||
|
||||
When you convey a covered work, you waive any legal power to forbid
|
||||
circumvention of technological measures to the extent such circumvention
|
||||
is effected by exercising rights under this License with respect to
|
||||
the covered work, and you disclaim any intention to limit operation or
|
||||
modification of the work as a means of enforcing, against the work's
|
||||
users, your or third parties' legal rights to forbid circumvention of
|
||||
technological measures.
|
||||
|
||||
4. Conveying Verbatim Copies.
|
||||
|
||||
You may convey verbatim copies of the Program's source code as you
|
||||
receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice;
|
||||
keep intact all notices stating that this License and any
|
||||
non-permissive terms added in accord with section 7 apply to the code;
|
||||
keep intact all notices of the absence of any warranty; and give all
|
||||
recipients a copy of this License along with the Program.
|
||||
|
||||
You may charge any price or no price for each copy that you convey,
|
||||
and you may offer support or warranty protection for a fee.
|
||||
|
||||
5. Conveying Modified Source Versions.
|
||||
|
||||
You may convey a work based on the Program, or the modifications to
|
||||
produce it from the Program, in the form of source code under the
|
||||
terms of section 4, provided that you also meet all of these conditions:
|
||||
|
||||
a) The work must carry prominent notices stating that you modified
|
||||
it, and giving a relevant date.
|
||||
|
||||
b) The work must carry prominent notices stating that it is
|
||||
released under this License and any conditions added under section
|
||||
7. This requirement modifies the requirement in section 4 to
|
||||
"keep intact all notices".
|
||||
|
||||
c) You must license the entire work, as a whole, under this
|
||||
License to anyone who comes into possession of a copy. This
|
||||
License will therefore apply, along with any applicable section 7
|
||||
additional terms, to the whole of the work, and all its parts,
|
||||
regardless of how they are packaged. This License gives no
|
||||
permission to license the work in any other way, but it does not
|
||||
invalidate such permission if you have separately received it.
|
||||
|
||||
d) If the work has interactive user interfaces, each must display
|
||||
Appropriate Legal Notices; however, if the Program has interactive
|
||||
interfaces that do not display Appropriate Legal Notices, your
|
||||
work need not make them do so.
|
||||
|
||||
A compilation of a covered work with other separate and independent
|
||||
works, which are not by their nature extensions of the covered work,
|
||||
and which are not combined with it such as to form a larger program,
|
||||
in or on a volume of a storage or distribution medium, is called an
|
||||
"aggregate" if the compilation and its resulting copyright are not
|
||||
used to limit the access or legal rights of the compilation's users
|
||||
beyond what the individual works permit. Inclusion of a covered work
|
||||
in an aggregate does not cause this License to apply to the other
|
||||
parts of the aggregate.
|
||||
|
||||
6. Conveying Non-Source Forms.
|
||||
|
||||
You may convey a covered work in object code form under the terms
|
||||
of sections 4 and 5, provided that you also convey the
|
||||
machine-readable Corresponding Source under the terms of this License,
|
||||
in one of these ways:
|
||||
|
||||
a) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by the
|
||||
Corresponding Source fixed on a durable physical medium
|
||||
customarily used for software interchange.
|
||||
|
||||
b) Convey the object code in, or embodied in, a physical product
|
||||
(including a physical distribution medium), accompanied by a
|
||||
written offer, valid for at least three years and valid for as
|
||||
long as you offer spare parts or customer support for that product
|
||||
model, to give anyone who possesses the object code either (1) a
|
||||
copy of the Corresponding Source for all the software in the
|
||||
product that is covered by this License, on a durable physical
|
||||
medium customarily used for software interchange, for a price no
|
||||
more than your reasonable cost of physically performing this
|
||||
conveying of source, or (2) access to copy the
|
||||
Corresponding Source from a network server at no charge.
|
||||
|
||||
c) Convey individual copies of the object code with a copy of the
|
||||
written offer to provide the Corresponding Source. This
|
||||
alternative is allowed only occasionally and noncommercially, and
|
||||
only if you received the object code with such an offer, in accord
|
||||
with subsection 6b.
|
||||
|
||||
d) Convey the object code by offering access from a designated
|
||||
place (gratis or for a charge), and offer equivalent access to the
|
||||
Corresponding Source in the same way through the same place at no
|
||||
further charge. You need not require recipients to copy the
|
||||
Corresponding Source along with the object code. If the place to
|
||||
copy the object code is a network server, the Corresponding Source
|
||||
may be on a different server (operated by you or a third party)
|
||||
that supports equivalent copying facilities, provided you maintain
|
||||
clear directions next to the object code saying where to find the
|
||||
Corresponding Source. Regardless of what server hosts the
|
||||
Corresponding Source, you remain obligated to ensure that it is
|
||||
available for as long as needed to satisfy these requirements.
|
||||
|
||||
e) Convey the object code using peer-to-peer transmission, provided
|
||||
you inform other peers where the object code and Corresponding
|
||||
Source of the work are being offered to the general public at no
|
||||
charge under subsection 6d.
|
||||
|
||||
A separable portion of the object code, whose source code is excluded
|
||||
from the Corresponding Source as a System Library, need not be
|
||||
included in conveying the object code work.
|
||||
|
||||
A "User Product" is either (1) a "consumer product", which means any
|
||||
tangible personal property which is normally used for personal, family,
|
||||
or household purposes, or (2) anything designed or sold for incorporation
|
||||
into a dwelling. In determining whether a product is a consumer product,
|
||||
doubtful cases shall be resolved in favor of coverage. For a particular
|
||||
product received by a particular user, "normally used" refers to a
|
||||
typical or common use of that class of product, regardless of the status
|
||||
of the particular user or of the way in which the particular user
|
||||
actually uses, or expects or is expected to use, the product. A product
|
||||
is a consumer product regardless of whether the product has substantial
|
||||
commercial, industrial or non-consumer uses, unless such uses represent
|
||||
the only significant mode of use of the product.
|
||||
|
||||
"Installation Information" for a User Product means any methods,
|
||||
procedures, authorization keys, or other information required to install
|
||||
and execute modified versions of a covered work in that User Product from
|
||||
a modified version of its Corresponding Source. The information must
|
||||
suffice to ensure that the continued functioning of the modified object
|
||||
code is in no case prevented or interfered with solely because
|
||||
modification has been made.
|
||||
|
||||
If you convey an object code work under this section in, or with, or
|
||||
specifically for use in, a User Product, and the conveying occurs as
|
||||
part of a transaction in which the right of possession and use of the
|
||||
User Product is transferred to the recipient in perpetuity or for a
|
||||
fixed term (regardless of how the transaction is characterized), the
|
||||
Corresponding Source conveyed under this section must be accompanied
|
||||
by the Installation Information. But this requirement does not apply
|
||||
if neither you nor any third party retains the ability to install
|
||||
modified object code on the User Product (for example, the work has
|
||||
been installed in ROM).
|
||||
|
||||
The requirement to provide Installation Information does not include a
|
||||
requirement to continue to provide support service, warranty, or updates
|
||||
for a work that has been modified or installed by the recipient, or for
|
||||
the User Product in which it has been modified or installed. Access to a
|
||||
network may be denied when the modification itself materially and
|
||||
adversely affects the operation of the network or violates the rules and
|
||||
protocols for communication across the network.
|
||||
|
||||
Corresponding Source conveyed, and Installation Information provided,
|
||||
in accord with this section must be in a format that is publicly
|
||||
documented (and with an implementation available to the public in
|
||||
source code form), and must require no special password or key for
|
||||
unpacking, reading or copying.
|
||||
|
||||
7. Additional Terms.
|
||||
|
||||
"Additional permissions" are terms that supplement the terms of this
|
||||
License by making exceptions from one or more of its conditions.
|
||||
Additional permissions that are applicable to the entire Program shall
|
||||
be treated as though they were included in this License, to the extent
|
||||
that they are valid under applicable law. If additional permissions
|
||||
apply only to part of the Program, that part may be used separately
|
||||
under those permissions, but the entire Program remains governed by
|
||||
this License without regard to the additional permissions.
|
||||
|
||||
When you convey a copy of a covered work, you may at your option
|
||||
remove any additional permissions from that copy, or from any part of
|
||||
it. (Additional permissions may be written to require their own
|
||||
removal in certain cases when you modify the work.) You may place
|
||||
additional permissions on material, added by you to a covered work,
|
||||
for which you have or can give appropriate copyright permission.
|
||||
|
||||
Notwithstanding any other provision of this License, for material you
|
||||
add to a covered work, you may (if authorized by the copyright holders of
|
||||
that material) supplement the terms of this License with terms:
|
||||
|
||||
a) Disclaiming warranty or limiting liability differently from the
|
||||
terms of sections 15 and 16 of this License; or
|
||||
|
||||
b) Requiring preservation of specified reasonable legal notices or
|
||||
author attributions in that material or in the Appropriate Legal
|
||||
Notices displayed by works containing it; or
|
||||
|
||||
c) Prohibiting misrepresentation of the origin of that material, or
|
||||
requiring that modified versions of such material be marked in
|
||||
reasonable ways as different from the original version; or
|
||||
|
||||
d) Limiting the use for publicity purposes of names of licensors or
|
||||
authors of the material; or
|
||||
|
||||
e) Declining to grant rights under trademark law for use of some
|
||||
trade names, trademarks, or service marks; or
|
||||
|
||||
f) Requiring indemnification of licensors and authors of that
|
||||
material by anyone who conveys the material (or modified versions of
|
||||
it) with contractual assumptions of liability to the recipient, for
|
||||
any liability that these contractual assumptions directly impose on
|
||||
those licensors and authors.
|
||||
|
||||
All other non-permissive additional terms are considered "further
|
||||
restrictions" within the meaning of section 10. If the Program as you
|
||||
received it, or any part of it, contains a notice stating that it is
|
||||
governed by this License along with a term that is a further
|
||||
restriction, you may remove that term. If a license document contains
|
||||
a further restriction but permits relicensing or conveying under this
|
||||
License, you may add to a covered work material governed by the terms
|
||||
of that license document, provided that the further restriction does
|
||||
not survive such relicensing or conveying.
|
||||
|
||||
If you add terms to a covered work in accord with this section, you
|
||||
must place, in the relevant source files, a statement of the
|
||||
additional terms that apply to those files, or a notice indicating
|
||||
where to find the applicable terms.
|
||||
|
||||
Additional terms, permissive or non-permissive, may be stated in the
|
||||
form of a separately written license, or stated as exceptions;
|
||||
the above requirements apply either way.
|
||||
|
||||
8. Termination.
|
||||
|
||||
You may not propagate or modify a covered work except as expressly
|
||||
provided under this License. Any attempt otherwise to propagate or
|
||||
modify it is void, and will automatically terminate your rights under
|
||||
this License (including any patent licenses granted under the third
|
||||
paragraph of section 11).
|
||||
|
||||
However, if you cease all violation of this License, then your
|
||||
license from a particular copyright holder is reinstated (a)
|
||||
provisionally, unless and until the copyright holder explicitly and
|
||||
finally terminates your license, and (b) permanently, if the copyright
|
||||
holder fails to notify you of the violation by some reasonable means
|
||||
prior to 60 days after the cessation.
|
||||
|
||||
Moreover, your license from a particular copyright holder is
|
||||
reinstated permanently if the copyright holder notifies you of the
|
||||
violation by some reasonable means, this is the first time you have
|
||||
received notice of violation of this License (for any work) from that
|
||||
copyright holder, and you cure the violation prior to 30 days after
|
||||
your receipt of the notice.
|
||||
|
||||
Termination of your rights under this section does not terminate the
|
||||
licenses of parties who have received copies or rights from you under
|
||||
this License. If your rights have been terminated and not permanently
|
||||
reinstated, you do not qualify to receive new licenses for the same
|
||||
material under section 10.
|
||||
|
||||
9. Acceptance Not Required for Having Copies.
|
||||
|
||||
You are not required to accept this License in order to receive or
|
||||
run a copy of the Program. Ancillary propagation of a covered work
|
||||
occurring solely as a consequence of using peer-to-peer transmission
|
||||
to receive a copy likewise does not require acceptance. However,
|
||||
nothing other than this License grants you permission to propagate or
|
||||
modify any covered work. These actions infringe copyright if you do
|
||||
not accept this License. Therefore, by modifying or propagating a
|
||||
covered work, you indicate your acceptance of this License to do so.
|
||||
|
||||
10. Automatic Licensing of Downstream Recipients.
|
||||
|
||||
Each time you convey a covered work, the recipient automatically
|
||||
receives a license from the original licensors, to run, modify and
|
||||
propagate that work, subject to this License. You are not responsible
|
||||
for enforcing compliance by third parties with this License.
|
||||
|
||||
An "entity transaction" is a transaction transferring control of an
|
||||
organization, or substantially all assets of one, or subdividing an
|
||||
organization, or merging organizations. If propagation of a covered
|
||||
work results from an entity transaction, each party to that
|
||||
transaction who receives a copy of the work also receives whatever
|
||||
licenses to the work the party's predecessor in interest had or could
|
||||
give under the previous paragraph, plus a right to possession of the
|
||||
Corresponding Source of the work from the predecessor in interest, if
|
||||
the predecessor has it or can get it with reasonable efforts.
|
||||
|
||||
You may not impose any further restrictions on the exercise of the
|
||||
rights granted or affirmed under this License. For example, you may
|
||||
not impose a license fee, royalty, or other charge for exercise of
|
||||
rights granted under this License, and you may not initiate litigation
|
||||
(including a cross-claim or counterclaim in a lawsuit) alleging that
|
||||
any patent claim is infringed by making, using, selling, offering for
|
||||
sale, or importing the Program or any portion of it.
|
||||
|
||||
11. Patents.
|
||||
|
||||
A "contributor" is a copyright holder who authorizes use under this
|
||||
License of the Program or a work on which the Program is based. The
|
||||
work thus licensed is called the contributor's "contributor version".
|
||||
|
||||
A contributor's "essential patent claims" are all patent claims
|
||||
owned or controlled by the contributor, whether already acquired or
|
||||
hereafter acquired, that would be infringed by some manner, permitted
|
||||
by this License, of making, using, or selling its contributor version,
|
||||
but do not include claims that would be infringed only as a
|
||||
consequence of further modification of the contributor version. For
|
||||
purposes of this definition, "control" includes the right to grant
|
||||
patent sublicenses in a manner consistent with the requirements of
|
||||
this License.
|
||||
|
||||
Each contributor grants you a non-exclusive, worldwide, royalty-free
|
||||
patent license under the contributor's essential patent claims, to
|
||||
make, use, sell, offer for sale, import and otherwise run, modify and
|
||||
propagate the contents of its contributor version.
|
||||
|
||||
In the following three paragraphs, a "patent license" is any express
|
||||
agreement or commitment, however denominated, not to enforce a patent
|
||||
(such as an express permission to practice a patent or covenant not to
|
||||
sue for patent infringement). To "grant" such a patent license to a
|
||||
party means to make such an agreement or commitment not to enforce a
|
||||
patent against the party.
|
||||
|
||||
If you convey a covered work, knowingly relying on a patent license,
|
||||
and the Corresponding Source of the work is not available for anyone
|
||||
to copy, free of charge and under the terms of this License, through a
|
||||
publicly available network server or other readily accessible means,
|
||||
then you must either (1) cause the Corresponding Source to be so
|
||||
available, or (2) arrange to deprive yourself of the benefit of the
|
||||
patent license for this particular work, or (3) arrange, in a manner
|
||||
consistent with the requirements of this License, to extend the patent
|
||||
license to downstream recipients. "Knowingly relying" means you have
|
||||
actual knowledge that, but for the patent license, your conveying the
|
||||
covered work in a country, or your recipient's use of the covered work
|
||||
in a country, would infringe one or more identifiable patents in that
|
||||
country that you have reason to believe are valid.
|
||||
|
||||
If, pursuant to or in connection with a single transaction or
|
||||
arrangement, you convey, or propagate by procuring conveyance of, a
|
||||
covered work, and grant a patent license to some of the parties
|
||||
receiving the covered work authorizing them to use, propagate, modify
|
||||
or convey a specific copy of the covered work, then the patent license
|
||||
you grant is automatically extended to all recipients of the covered
|
||||
work and works based on it.
|
||||
|
||||
A patent license is "discriminatory" if it does not include within
|
||||
the scope of its coverage, prohibits the exercise of, or is
|
||||
conditioned on the non-exercise of one or more of the rights that are
|
||||
specifically granted under this License. You may not convey a covered
|
||||
work if you are a party to an arrangement with a third party that is
|
||||
in the business of distributing software, under which you make payment
|
||||
to the third party based on the extent of your activity of conveying
|
||||
the work, and under which the third party grants, to any of the
|
||||
parties who would receive the covered work from you, a discriminatory
|
||||
patent license (a) in connection with copies of the covered work
|
||||
conveyed by you (or copies made from those copies), or (b) primarily
|
||||
for and in connection with specific products or compilations that
|
||||
contain the covered work, unless you entered into that arrangement,
|
||||
or that patent license was granted, prior to 28 March 2007.
|
||||
|
||||
Nothing in this License shall be construed as excluding or limiting
|
||||
any implied license or other defenses to infringement that may
|
||||
otherwise be available to you under applicable patent law.
|
||||
|
||||
12. No Surrender of Others' Freedom.
|
||||
|
||||
If conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot convey a
|
||||
covered work so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you may
|
||||
not convey it at all. For example, if you agree to terms that obligate you
|
||||
to collect a royalty for further conveying from those to whom you convey
|
||||
the Program, the only way you could satisfy both those terms and this
|
||||
License would be to refrain entirely from conveying the Program.
|
||||
|
||||
13. Remote Network Interaction; Use with the GNU General Public License.
|
||||
|
||||
Notwithstanding any other provision of this License, if you modify the
|
||||
Program, your modified version must prominently offer all users
|
||||
interacting with it remotely through a computer network (if your version
|
||||
supports such interaction) an opportunity to receive the Corresponding
|
||||
Source of your version by providing access to the Corresponding Source
|
||||
from a network server at no charge, through some standard or customary
|
||||
means of facilitating copying of software. This Corresponding Source
|
||||
shall include the Corresponding Source for any work covered by version 3
|
||||
of the GNU General Public License that is incorporated pursuant to the
|
||||
following paragraph.
|
||||
|
||||
Notwithstanding any other provision of this License, you have
|
||||
permission to link or combine any covered work with a work licensed
|
||||
under version 3 of the GNU General Public License into a single
|
||||
combined work, and to convey the resulting work. The terms of this
|
||||
License will continue to apply to the part which is the covered work,
|
||||
but the work with which it is combined will remain governed by version
|
||||
3 of the GNU General Public License.
|
||||
|
||||
14. Revised Versions of this License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions of
|
||||
the GNU Affero General Public License from time to time. Such new versions
|
||||
will be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Program specifies that a certain numbered version of the GNU Affero General
|
||||
Public License "or any later version" applies to it, you have the
|
||||
option of following the terms and conditions either of that numbered
|
||||
version or of any later version published by the Free Software
|
||||
Foundation. If the Program does not specify a version number of the
|
||||
GNU Affero General Public License, you may choose any version ever published
|
||||
by the Free Software Foundation.
|
||||
|
||||
If the Program specifies that a proxy can decide which future
|
||||
versions of the GNU Affero General Public License can be used, that proxy's
|
||||
public statement of acceptance of a version permanently authorizes you
|
||||
to choose that version for the Program.
|
||||
|
||||
Later license versions may give you additional or different
|
||||
permissions. However, no additional obligations are imposed on any
|
||||
author or copyright holder as a result of your choosing to follow a
|
||||
later version.
|
||||
|
||||
15. Disclaimer of Warranty.
|
||||
|
||||
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
|
||||
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
|
||||
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
|
||||
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
|
||||
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
|
||||
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
||||
|
||||
16. Limitation of Liability.
|
||||
|
||||
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
|
||||
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
|
||||
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
|
||||
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
|
||||
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
|
||||
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
|
||||
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
|
||||
SUCH DAMAGES.
|
||||
|
||||
17. Interpretation of Sections 15 and 16.
|
||||
|
||||
If the disclaimer of warranty and limitation of liability provided
|
||||
above cannot be given local legal effect according to their terms,
|
||||
reviewing courts shall apply local law that most closely approximates
|
||||
an absolute waiver of all civil liability in connection with the
|
||||
Program, unless a warranty or assumption of liability accompanies a
|
||||
copy of the Program in return for a fee.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
state the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published
|
||||
by the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If your software can interact with users remotely through a computer
|
||||
network, you should also make sure that it provides a way for users to
|
||||
get its source. For example, if your program is a web application, its
|
||||
interface could display a "Source" link that leads users to an archive
|
||||
of the code. There are many ways you could offer source, and different
|
||||
solutions will be better for different programs; see section 13 for the
|
||||
specific requirements.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or school,
|
||||
if any, to sign a "copyright disclaimer" for the program, if necessary.
|
||||
For more information on this, and how to apply and follow the GNU AGPL, see
|
||||
<https://www.gnu.org/licenses/>.
|
||||
12
Makefile
12
Makefile
@@ -1,20 +1,18 @@
|
||||
all:
|
||||
$(MAKE) --directory Tools/unix
|
||||
$(MAKE) --directory Tools
|
||||
$(MAKE) --directory Source
|
||||
|
||||
clean:
|
||||
$(MAKE) --directory Tools/unix clean
|
||||
$(MAKE) --directory Tools clean
|
||||
$(MAKE) --directory Source clean
|
||||
$(MAKE) --directory Binary clean
|
||||
|
||||
clobber:
|
||||
$(MAKE) --directory Tools/unix clobber
|
||||
$(MAKE) --directory Source clobber
|
||||
$(MAKE) --directory Binary clobber
|
||||
rm -f typescript
|
||||
clobber: clean
|
||||
|
||||
diff:
|
||||
$(MAKE) --directory Source diff
|
||||
|
||||
dist:
|
||||
$(MAKE) ROM_PLATFORM=dist
|
||||
$(MAKE) --directory Source clean
|
||||
$(MAKE) --directory Tools clean
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
## Z80/Z180 System Software
|
||||
|
||||
Version 3.1 Pre-release
|
||||
28 Feb 2022
|
||||
21 Mar 2022
|
||||
|
||||
Wayne Warthen <wwarthen@gmail.com>
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
RomWBW Getting Started
|
||||
Wayne Warthen (mailto:wwarthen@gmail.com)
|
||||
28 Feb 2022
|
||||
21 Mar 2022
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ RomWBW
|
||||
Z80/Z180 System Software
|
||||
|
||||
Version 3.1 Pre-release
|
||||
28 Feb 2022
|
||||
21 Mar 2022
|
||||
|
||||
Wayne Warthen wwarthen@gmail.com
|
||||
|
||||
|
||||
@@ -47,9 +47,8 @@ the "SCZ180" platform:
|
||||
Please be aware that the make-based build does have a few deficiencies.
|
||||
|
||||
First and most important, the Makefiles do not handle reruns very well.
|
||||
To ensure a full buld, use "make clobber" from the top level directory
|
||||
before running the actual build. For those used to using "make clean",
|
||||
you can do that but it is not as thorough as "make clobber".
|
||||
To ensure a full buld, use "make clean" from the top level directory
|
||||
before running the actual build.
|
||||
|
||||
Second, there are some build failures that will not stop the make
|
||||
process. Most of this is because real CP/M 2.2 tools are used in
|
||||
@@ -57,7 +56,7 @@ places and CP/M 2.2 does not allow programs to return a result code.
|
||||
|
||||
Third, not all dependencies are properly handled. So, changes to some
|
||||
files will not cause things to rebuild as appropriate. In general, I
|
||||
recommend doing a "make clobber" before running "make" to ensure that
|
||||
recommend doing a "make clean" before running "make" to ensure that
|
||||
everything is fully rebuilt.
|
||||
|
||||
For macOS users, you may encounter a failure reading or writing files.
|
||||
|
||||
@@ -6,12 +6,21 @@
|
||||
; Simple utility that performs simple tests of an 8242 PS/2 controller,
|
||||
; keyboard, and mouse.
|
||||
;
|
||||
; WBW 2022-03-28: Add menu driven port selection
|
||||
; Add support for RHYOPHYRE
|
||||
; WBW 2022-04-01: Add menu for test functions
|
||||
; WBW 2022-04-02: Fix prtchr register saving/recovery
|
||||
;
|
||||
;=======================================================================
|
||||
;
|
||||
; PS/2 Keyboard/Mouse controller port addresses (adjust as needed)
|
||||
;
|
||||
iocmd .equ $E3 ; PS/2 controller command port address
|
||||
iodat .equ $E2 ; PS/2 controller data port address
|
||||
; MBC:
|
||||
iocmd_mbc .equ $E3 ; PS/2 controller command port address
|
||||
iodat_mbc .equ $E2 ; PS/2 controller data port address
|
||||
; RPH:
|
||||
iocmd_rph .equ $8D ; PS/2 controller command port address
|
||||
iodat_rph .equ $8C ; PS/2 controller data port address
|
||||
;
|
||||
cpumhz .equ 8 ; for time delay calculations (not critical)
|
||||
;
|
||||
@@ -37,6 +46,8 @@ bdos .equ $0005 ; BDOS invocation vector
|
||||
call crlf
|
||||
ld de,str_banner ; banner
|
||||
call prtstr
|
||||
;
|
||||
call setup
|
||||
;
|
||||
call main ; do the real work
|
||||
;
|
||||
@@ -50,52 +61,95 @@ exit:
|
||||
ld sp,(stksav) ; restore stack
|
||||
jp restart ; return to CP/M via restart
|
||||
;
|
||||
;=======================================================================
|
||||
; Select and setup for hardware
|
||||
;=======================================================================
|
||||
;
|
||||
setup:
|
||||
call crlf2
|
||||
ld de,str_hwmenu
|
||||
call prtstr
|
||||
setup1:
|
||||
ld c,$06 ; BDOS direct console I/O
|
||||
ld e,$FF ; Subfunction = read
|
||||
call bdos
|
||||
cp 0
|
||||
jr z,setup1
|
||||
call upcase
|
||||
call prtchr
|
||||
cp '1' ; MBC
|
||||
jr z,setup_mbc
|
||||
cp '2' ; RHYOPHYRE
|
||||
jr z,setup_rph
|
||||
cp 'X'
|
||||
jr z,exit
|
||||
jr setup
|
||||
;
|
||||
setup_mbc:
|
||||
ld a,iocmd_mbc
|
||||
ld (iocmd),a
|
||||
ld a,iodat_mbc
|
||||
ld (iodat),a
|
||||
ld de,str_mbc
|
||||
jr setup2
|
||||
;
|
||||
setup_rph:
|
||||
ld a,iocmd_rph
|
||||
ld (iocmd),a
|
||||
ld a,iodat_rph
|
||||
ld (iodat),a
|
||||
ld de,str_rph
|
||||
jr setup2
|
||||
;
|
||||
setup2:
|
||||
call prtstr
|
||||
call crlf2
|
||||
ld de,str_cmdport
|
||||
call prtstr
|
||||
;ld a,iocmd
|
||||
ld a,(iocmd)
|
||||
call prthex
|
||||
call crlf
|
||||
ld de,str_dataport
|
||||
call prtstr
|
||||
;ld a,iodat
|
||||
ld a,(iodat)
|
||||
call prthex
|
||||
;
|
||||
xor a
|
||||
ret
|
||||
;
|
||||
;=======================================================================
|
||||
; Main Program
|
||||
;=======================================================================
|
||||
;
|
||||
main:
|
||||
;
|
||||
; Display active controller port addresses
|
||||
;
|
||||
call crlf2
|
||||
ld de,str_cmdport
|
||||
ld de,str_menu
|
||||
call prtstr
|
||||
ld a,iocmd
|
||||
call prthex
|
||||
call crlf
|
||||
ld de,str_dataport
|
||||
call prtstr
|
||||
ld a,iodat
|
||||
call prthex
|
||||
;
|
||||
call test_ctlr
|
||||
jr z,main0 ; continue if ctlr OK
|
||||
ld de,str_kbd_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
jr mainz ; bail out if ctlr fails
|
||||
;
|
||||
main0:
|
||||
call test_kbd
|
||||
jr z,main1 ; completed all tests, continue
|
||||
ld de,str_kbd_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
;
|
||||
main1:
|
||||
call test_mse
|
||||
jr z,main2 ; completed all tests, continue
|
||||
ld de,str_mse_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
ld c,$06 ; BDOS direct console I/O
|
||||
ld e,$FF ; Subfunction = read
|
||||
call bdos
|
||||
cp 0
|
||||
jr z,main1
|
||||
call upcase
|
||||
call prtchr
|
||||
cp 'X'
|
||||
jp z,exit
|
||||
call main2
|
||||
jr main
|
||||
;
|
||||
main2:
|
||||
call test_kbdmse
|
||||
;
|
||||
mainz:
|
||||
xor a
|
||||
; Dispatch to test functions
|
||||
cp 'C' ; Test Controller
|
||||
jp z,test_ctlr
|
||||
cp 'K' ; Test Keyboard
|
||||
jp z,test_kbd
|
||||
cp 'M' ; Test Mouse
|
||||
jp z,test_mse
|
||||
cp 'B' ; Test Both
|
||||
jp z,test_kbdmse
|
||||
ret
|
||||
;
|
||||
; Test 8242 PS/2 Controller
|
||||
@@ -109,10 +163,8 @@ test_ctlr:
|
||||
ret nz
|
||||
;
|
||||
call ctlr_test_p1
|
||||
;ret nz
|
||||
;
|
||||
call ctlr_test_p2
|
||||
;ret nz
|
||||
;
|
||||
ret
|
||||
;
|
||||
@@ -123,13 +175,15 @@ test_kbd:
|
||||
; First, we attempt to contact the controller and keyboard, then
|
||||
; print the keyboard identity and scan codes supported
|
||||
;
|
||||
; Run test series with translation off
|
||||
call crlf2
|
||||
ld de,str_basic
|
||||
call prtstr
|
||||
;
|
||||
call ctlr_test
|
||||
jr nz,test_kbd_fail
|
||||
;
|
||||
call test_kbd_basic
|
||||
ret nz
|
||||
jr nz,test_kbd_fail
|
||||
;
|
||||
; We make two passes through the test series with different controller
|
||||
; setup values. The first time is with scan code translation off and
|
||||
@@ -155,59 +209,83 @@ test_kbd:
|
||||
;
|
||||
ret
|
||||
;
|
||||
test_kbd_fail:
|
||||
ld de,str_kbd_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
ret
|
||||
;
|
||||
; Test Mouse
|
||||
;
|
||||
test_mse:
|
||||
call crlf2
|
||||
ld de,str_basic_mse
|
||||
call prtstr
|
||||
;
|
||||
call ctlr_test
|
||||
jr nz,test_mse_fail
|
||||
;
|
||||
ld a,$10 ; kbd disabled, mse enabled, no ints
|
||||
call ctlr_setup
|
||||
ret nz
|
||||
jr nz,test_mse_fail
|
||||
;
|
||||
call mse_reset
|
||||
ret nz
|
||||
jr nz,test_mse_fail
|
||||
;
|
||||
call mse_ident
|
||||
ret nz
|
||||
jr nz,test_mse_fail
|
||||
;
|
||||
call mse_stream
|
||||
ret nz
|
||||
jr nz,test_mse_fail
|
||||
;
|
||||
call mse_echo
|
||||
;
|
||||
xor a ; signal success
|
||||
ret
|
||||
;
|
||||
test_mse_fail:
|
||||
ld de,str_mse_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
ret
|
||||
;
|
||||
; Test Everything
|
||||
;
|
||||
test_kbdmse:
|
||||
call crlf2
|
||||
ld de,str_kbdmse
|
||||
call prtstr
|
||||
;
|
||||
call ctlr_test
|
||||
jr nz,test_kbdmse_fail
|
||||
;
|
||||
ld a,$00 ; kbd enabled, mse enabled, no ints
|
||||
call ctlr_setup
|
||||
ret nz
|
||||
jr nz,test_kbdmse_fail
|
||||
;
|
||||
call kbd_reset
|
||||
ret nz
|
||||
jr nz,test_kbdmse_fail
|
||||
;
|
||||
ld a,2
|
||||
call kbd_setsc
|
||||
;
|
||||
call mse_reset
|
||||
ret nz
|
||||
jr nz,test_kbdmse_fail
|
||||
;
|
||||
call mse_stream
|
||||
ret nz
|
||||
jr nz,test_kbdmse_fail
|
||||
;
|
||||
call kbdmse_echo
|
||||
;
|
||||
xor a ; signal success
|
||||
ret
|
||||
;
|
||||
test_kbdmse_fail:
|
||||
ld de,str_kbdmse_failed
|
||||
call crlf2
|
||||
call prtstr
|
||||
ret
|
||||
;
|
||||
; Perform basic keyboard tests, display keyboard identity, and
|
||||
; inventory the supported scan code sets.
|
||||
;
|
||||
@@ -782,7 +860,9 @@ wait_write:
|
||||
ld a,(timeout) ; setup timeout constant
|
||||
ld b,a
|
||||
wait_write1:
|
||||
in a,(iocmd) ; get status
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get status
|
||||
ld c,a ; save status
|
||||
and $02 ; isolate input buf status bit
|
||||
ret z ; 0 means ready, all done
|
||||
@@ -804,7 +884,9 @@ wait_read:
|
||||
ld a,(timeout) ; setup timeout constant
|
||||
ld b,a
|
||||
wait_read1:
|
||||
in a,(iocmd) ; get status
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get status
|
||||
ld c,a ; save status
|
||||
and $01 ; isolate input buf status bit
|
||||
xor $01 ; invert so 0 means ready
|
||||
@@ -824,7 +906,9 @@ check_read:
|
||||
; Check for data ready to read
|
||||
; A=0 indicates data available (ZF set)
|
||||
;
|
||||
in a,(iocmd) ; get status
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get status
|
||||
and $01 ; isolate input buf status bit
|
||||
xor $01 ; invert so 0 means ready
|
||||
ret
|
||||
@@ -834,7 +918,9 @@ check_read_kbd:
|
||||
; Check for keyboard data ready to read
|
||||
; A=0 indicates data available (ZF set)
|
||||
;
|
||||
in a,(iocmd) ; get status
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get status
|
||||
and %00100001 ; isolate input buf status bit
|
||||
cp %00000001 ; data ready, not mouse
|
||||
ret
|
||||
@@ -844,7 +930,9 @@ check_read_mse:
|
||||
; Check for mouse data ready to read
|
||||
; A=0 indicates data available (ZF set)
|
||||
;
|
||||
in a,(iocmd) ; get status
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get status
|
||||
and %00100001 ; isolate input buf status bit
|
||||
cp %00100001 ; data ready, is mouse
|
||||
ret
|
||||
@@ -860,8 +948,10 @@ put_cmd:
|
||||
scf ; else, signal timeout error
|
||||
ret ; and bail out
|
||||
put_cmd1:
|
||||
ld a,(iocmd) ; cmd port
|
||||
ld c,a ; ... to C
|
||||
ld a,e ; recover value to write
|
||||
out (iocmd),a ; write it
|
||||
out (c),a ; write it
|
||||
or a ; clear CF for success
|
||||
ret
|
||||
;
|
||||
@@ -889,8 +979,10 @@ put_data:
|
||||
scf ; else, signal timeout error
|
||||
ret ; and bail out
|
||||
put_data1:
|
||||
ld a,(iodat) ; data port
|
||||
ld c,a ; ... to C
|
||||
ld a,e ; recover value to write
|
||||
out (iodat),a ; write it
|
||||
out (c),a ; write it
|
||||
or a ; clear CF for success
|
||||
ret
|
||||
;
|
||||
@@ -947,7 +1039,9 @@ get_data:
|
||||
scf ; else signal timeout error
|
||||
ret ; and bail out
|
||||
get_data1:
|
||||
in a,(iodat) ; get data byte
|
||||
ld a,(iodat) ; data port
|
||||
ld c,a ; ... to C
|
||||
in a,(c) ; get data byte
|
||||
or a ; clear CF for success
|
||||
ret
|
||||
;
|
||||
@@ -1020,11 +1114,11 @@ err_ret:
|
||||
; Utility Routines
|
||||
;=======================================================================
|
||||
;
|
||||
;
|
||||
; Print character in A without destroying any registers
|
||||
;
|
||||
prtchr:
|
||||
push bc ; save registers
|
||||
push af ; save registers
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld e,a ; character to print in E
|
||||
@@ -1033,6 +1127,7 @@ prtchr:
|
||||
pop hl ; restore registers
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
prtdot:
|
||||
@@ -1044,6 +1139,16 @@ prtdot:
|
||||
pop af ; restore af
|
||||
ret ; done
|
||||
;
|
||||
; Uppercase character in A
|
||||
;
|
||||
upcase:
|
||||
cp 'a' ; below 'a'?
|
||||
ret c ; if so, nothing to do
|
||||
cp 'z'+1 ; above 'z'?
|
||||
ret nc ; if so, nothing to do
|
||||
and ~$20 ; convert character to lower
|
||||
ret ; done
|
||||
;
|
||||
; Print a zero terminated string at (de) without destroying any registers
|
||||
;
|
||||
prtstr:
|
||||
@@ -1239,7 +1344,21 @@ delay1:
|
||||
; Constants
|
||||
;=======================================================================
|
||||
;
|
||||
str_banner .db "PS/2 Keyboard/Mouse Information v0.4, 7-Jan-2022",0
|
||||
str_banner .db "PS/2 Keyboard/Mouse Information v0.6a, 2-Apr-2022",0
|
||||
str_hwmenu .db "PS/2 Controller Port Options:\r\n\r\n"
|
||||
.db " 1 - MBC\r\n"
|
||||
.db " 2 - RHYOPHYRE\r\n"
|
||||
.db " X - Exit Application\r\n"
|
||||
.db "\r\nSelection? ",0
|
||||
str_mbc .db "MBC",0
|
||||
str_rph .db "RHYOPHYRE",0
|
||||
str_menu .db "PS/2 Testing Options:\r\n\r\n"
|
||||
.db " C - Test PS/2 Controller\r\n"
|
||||
.db " K - Test PS/2 Keyboard\r\n"
|
||||
.db " M - Test PS/2 Mouse\r\n"
|
||||
.db " B - Test Both PS/2 Keyboard and Mouse Together\r\n"
|
||||
.db " X - Exit Application\r\n"
|
||||
.db "\r\nSelection? ",0
|
||||
str_exit .db "Done, Thank you for using PS/2 Keyboard/Mouse Information!",0
|
||||
str_cmdport .db "Controller Command Port: ",0
|
||||
str_dataport .db "Controller Data Port: ",0
|
||||
@@ -1312,6 +1431,11 @@ str_mse_failed .db "***** MOUSE HARDWARE ERROR *****",13,10,13,10
|
||||
.db "the completion of the full set of mouse tests.",13,10
|
||||
.db "Check your hardware and verify the port",13,10
|
||||
.db "addresses being used for the controller",0
|
||||
str_kbdmse_failed .db "***** KEYBOARD/MOUSE HARDWARE ERROR *****",13,10,13,10
|
||||
.db "A basic hardware or configuration issue prevented",13,10
|
||||
.db "the completion of the full set of keyboard/mouse tests.",13,10
|
||||
.db "Check your hardware and verify the port",13,10
|
||||
.db "addresses being used for the controller",0
|
||||
;
|
||||
;=======================================================================
|
||||
; Working data
|
||||
@@ -1321,6 +1445,9 @@ stksav .dw 0 ; stack pointer saved at start
|
||||
.fill stksiz,0 ; stack
|
||||
stack .equ $ ; stack top
|
||||
;
|
||||
iocmd .db 0
|
||||
iodat .db 0
|
||||
;
|
||||
workbuf .fill 8
|
||||
workbuf_len .db 0
|
||||
;
|
||||
|
||||
@@ -327,9 +327,9 @@ bdos_s: call bdos
|
||||
ret
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; S u b r o u t i n e
|
||||
; Search for 0 terminated string starting at HL
|
||||
|
||||
sub_476: push af
|
||||
Search0: push af
|
||||
loc_477: push bc
|
||||
xor a
|
||||
ld b,a
|
||||
@@ -361,7 +361,7 @@ text495h: .db 0,0,0
|
||||
|
||||
sub_4A4: ld de,file_fcb
|
||||
ld hl,byte_4F8
|
||||
ld (hl),3Ah
|
||||
ld (hl),':'
|
||||
inc hl
|
||||
xor a
|
||||
ld b,0Dh
|
||||
@@ -370,14 +370,14 @@ sub_4A4: ld de,file_fcb
|
||||
call sub_16C4
|
||||
dec de
|
||||
ld a,(de)
|
||||
add a,40h
|
||||
add a,'A'-1
|
||||
ld (byte_4F4),a
|
||||
dec de
|
||||
ld a,(de)
|
||||
ld de,byte_4F5
|
||||
call sub_16E7
|
||||
ld a,24h
|
||||
ld (byte_507),a
|
||||
ld a,'$'
|
||||
ld (term_fn),a
|
||||
ld de,text4F2h
|
||||
ld c,C_WRITESTR
|
||||
call bdos ; Output string
|
||||
@@ -386,13 +386,13 @@ sub_4A4: ld de,file_fcb
|
||||
or l
|
||||
ret z
|
||||
ld b,1
|
||||
call sub_476
|
||||
call Search0
|
||||
dec hl
|
||||
ld (hl),24h
|
||||
ld (hl),'$'
|
||||
ld de,(byte_2CD4)
|
||||
ld c,C_WRITESTR
|
||||
call bdos ; Output string
|
||||
ld de,text508h
|
||||
ld de,newline
|
||||
ld c,C_WRITESTR
|
||||
jp bdos ; Output string
|
||||
|
||||
@@ -418,8 +418,8 @@ byte_4F8: .db 0 ;
|
||||
.db 0 ;
|
||||
.db 0 ;
|
||||
.db 20h ;
|
||||
byte_507: .db 0
|
||||
text508h: .text "\r\n$"
|
||||
term_fn: .db 0
|
||||
newline: .text "\r\n$"
|
||||
|
||||
;----------------------------------------------------------------------------
|
||||
; S u b r o u t i n e
|
||||
@@ -1278,7 +1278,7 @@ loc_9AE: ld a,(byte_8AF)
|
||||
ret z
|
||||
push hl
|
||||
ld b,1
|
||||
call sub_476
|
||||
call Search0
|
||||
dec hl
|
||||
ld (hl),20h
|
||||
pop hl
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
; 2020-09-03 [E?B] Add support for Ed Brindley YM/AY Sound Card v6
|
||||
; 2021-08-13 [WBW] Add support for LiNC Z50 Sound Card
|
||||
; 2021-08-17 [WBW] When playing via HBIOS, call BF_SNDRESET at end
|
||||
; 2022-03-20 [DDW] Add support for MBC PSG module
|
||||
;_______________________________________________________________________________
|
||||
;
|
||||
; ToDo:
|
||||
@@ -653,7 +654,7 @@ TMP .DB 0 ; work around use of undocumented Z80
|
||||
HBIOSMD .DB 0 ; NON-ZERO IF USING HBIOS SOUND DRIVER, ZERO OTHERWISE
|
||||
OCTAVEADJ .DB 0 ; AMOUNT TO ADJUST OCTAVE UP OR DOWN
|
||||
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.4, 17-Aug-2021",0
|
||||
MSGBAN .DB "Tune Player for RomWBW v3.5, 20-Mar-2022",0
|
||||
MSGUSE .DB "Copyright (C) 2021, Wayne Warthen, GNU GPL v3",13,10
|
||||
.DB "PTxPlayer Copyright (C) 2004-2007 S.V.Bulba",13,10
|
||||
.DB "MYMPlay by Marq/Lieves!Tuore",13,10,13,10
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
;------------------------------------------------------------------------------
|
||||
; SN76489 + AY-3-8910 + YM2162 VGM player for CP/M
|
||||
; SN76489 + AY-3-8910 + YM2162 + YM2151 VGM player for CP/M
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
; Based on VGM player by J.B. Langston
|
||||
; https://github.com/jblang/SN76489
|
||||
;
|
||||
; Enhanced with multi-chip support by Marco Maccaferri
|
||||
; YM2151 support from Ed Brindley
|
||||
;
|
||||
; YM2162/YM3484, GD3 support, VGM Chip identification,
|
||||
; default file type, basic file size checking added by Phil Summers
|
||||
;
|
||||
; Bugs: YM2612 Mute not working.
|
||||
; Bugs: YM2151 playback untested & no mute.
|
||||
;
|
||||
; Assemble with:
|
||||
;
|
||||
@@ -20,84 +21,145 @@
|
||||
; Device and system specific definitions
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
P8X180 .EQU 0 ; System configuration
|
||||
P8X180 .EQU 0 ; System configuration
|
||||
RC2014 .EQU 0
|
||||
SBCECB .EQU 1
|
||||
|
||||
MBC .EQU 0
|
||||
;
|
||||
.IF P8X180
|
||||
RSEL .EQU 82H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 83H ; Primary AY-3-8910 Register data
|
||||
RSEL2 .EQU 88H ; Secondary AY-3-8910 Register selection
|
||||
RDAT2 .EQU 89H ; Secondary AY-3-8910 Register data
|
||||
PSGREG .EQU 84H ; Primary SN76489
|
||||
PSG2REG .EQU 8AH ; Secondary SN76489
|
||||
FRAME_DLY .EQU 48 ; Frame delay (~ 1/44100)
|
||||
RSEL .EQU 82H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 83H ; Primary AY-3-8910 Register data
|
||||
RSEL2 .EQU 88H ; Secondary AY-3-8910 Register selection
|
||||
RDAT2 .EQU 89H ; Secondary AY-3-8910 Register data
|
||||
PSG1REG .EQU 84H ; Primary SN76489
|
||||
PSG2REG .EQU 8AH ; Secondary SN76489
|
||||
YM2151_SEL1 .EQU 0B0H ; Primary YM2151 register selection
|
||||
YM2151_DAT1 .EQU 0B1H ; Primary YM2151 register data
|
||||
YM2151_SEL2 .EQU 0B2H ; Secondary YM2151 register selection
|
||||
YM2151_DAT2 .EQU 0B3H ; Secondary YM2151 register data
|
||||
FRAME_DLY .EQU 48 ; Frame delay (~ 1/44100)
|
||||
.ENDIF
|
||||
|
||||
;
|
||||
.IF RC2014
|
||||
RSEL .EQU 0D8H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 0D0H ; Primary AY-3-8910 Register data
|
||||
RSEL2 .EQU 0A0H ; Secondary AY-3-8910 Register selection
|
||||
RDAT2 .EQU 0A1H ; Secondary AY-3-8910 Register data
|
||||
PSGREG .EQU 0FFH ; Primary SN76489
|
||||
PSG2REG .EQU 0FBH ; Secondary SN76489
|
||||
FRAME_DLY .EQU 15 ; Frame delay (~ 1/44100)
|
||||
RSEL .EQU 0D8H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 0D0H ; Primary AY-3-8910 Register data
|
||||
RSEL2 .EQU 0A0H ; Secondary AY-3-8910 Register selection
|
||||
RDAT2 .EQU 0A1H ; Secondary AY-3-8910 Register data
|
||||
PSG1REG .EQU 0FFH ; Primary SN76489
|
||||
PSG2REG .EQU 0FBH ; Secondary SN76489
|
||||
YM2151_SEL1 .EQU 0FEH ; Primary YM2151 register selection
|
||||
YM2151_DAT1 .EQU 0FFH ; Primary YM2151 register data
|
||||
YM2151_SEL2 .EQU 0D0H ; Secondary YM2151 register selection
|
||||
YM2151_DAT2 .EQU 0D1H ; Secondary YM2151 register data
|
||||
FRAME_DLY .EQU 15 ; Frame delay (~ 1/44100)
|
||||
.ENDIF
|
||||
|
||||
;
|
||||
.IF SBCECB
|
||||
RSEL .EQU 0D8H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 0D0H ; Primary AY-3-8910 Register data
|
||||
RSEL2 .EQU 0A0H ; Secondary AY-3-8910 Register selection
|
||||
RDAT2 .EQU 0A1H ; Secondary AY-3-8910 Register data
|
||||
YMSEL .EQU 0C0H ; Primary YM2162 11000000 a1=0 a0=0
|
||||
YMDAT .EQU 0C1H ; Primary YM2162 11000001 a1=0 a0=1
|
||||
YM2SEL .EQU 0C2H ; Secondary YM2162 11000010 a1=1 a0=0
|
||||
YM2DAT .EQU 0C3H ; Secondary YM2162 11000011 a1=1 a0=1
|
||||
PSG1REG .EQU 0C6H ; Primary SN76489
|
||||
PSG2REG .EQU 0C7H ; Secondary SN76489
|
||||
YM2151_SEL1 .EQU 0FEH ; Primary YM2151 register selection
|
||||
YM2151_DAT1 .EQU 0FFH ; Primary YM2151 register data
|
||||
YM2151_SEL2 .EQU 0FEH ; Secondary YM2151 register selection
|
||||
YM2151_DAT2 .EQU 0FFH ; Secondary YM2151 register data
|
||||
FRAME_DLY .EQU 8 ; Frame delay (~ 1/44100)
|
||||
.ENDIF
|
||||
;
|
||||
.IF MBC
|
||||
RSEL .EQU 0A0H ; Primary AY-3-8910 Register selection
|
||||
RDAT .EQU 0A1H ; Primary AY-3-8910 Register data
|
||||
RSEL .EQU 0D8H ; Secondary AY-3-8910 Register selection
|
||||
RDAT .EQU 0D0H ; Secondary AY-3-8910 Register data
|
||||
YMSEL .EQU 0C0H ; 11000000 a1=0 a0=0
|
||||
YMDAT .EQU 0C1H ; 11000001 a1=0 a0=1
|
||||
YM2SEL .EQU 0C2H ; 11000010 a1=1 a0=0
|
||||
YM2DAT .EQU 0C3H ; 11000011 a1=1 a0=1
|
||||
PSGREG .EQU 0C6H ; Primary SN76489
|
||||
PSG2REG .EQU 0C7H ; Secondary SN76489
|
||||
YM2151_SEL1 .EQU 0FEH ; Primary YM2151 register selection
|
||||
YM2151_DAT1 .EQU 0FFH ; Primary YM2151 register data
|
||||
YM2151_SEL2 .EQU 0FEH ; Secondary YM2151 register selection
|
||||
YM2151_DAT2 .EQU 0FFH ; Secondary YM2151 register data
|
||||
FRAME_DLY .EQU 10 ; Frame delay (~ 1/44100)
|
||||
|
||||
#DEFINE SBCV2004
|
||||
HB_RTCVAL .EQU 0FFEEH
|
||||
RTCIO .EQU 070H
|
||||
|
||||
.ENDIF
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Your customer overrides can go in here i.e. ports
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
;RSEL .SET 09AH ; Primary AY-3-8910 Register selection
|
||||
;RDAT .SET 09BH ; Primary AY-3-8910 Register data
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Frame delay overide values for different processor speeds.
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
;FRAME_DLY .SET 10 ; 1Mhz ; not
|
||||
;FRAME_DLY .SET 10 ; 2Mhz ; implemented
|
||||
;FRAME_DLY .SET 10 ; 4Mhz ; yet
|
||||
;FRAME_DLY .SET 15 ; 8Mhz
|
||||
;FRAME_DLY .SET 10 ; 10Mhz
|
||||
;FRAME_DLY .SET 20 ; 12Mhz
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Frame delay values for pal/ntsc
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
D60 .EQU 735
|
||||
D50 .EQU 882
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Processor speed control for SBCV2004+
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
;#DEFINE SBCV2004 ; My SBC board at 12Mhz needs this to switch to
|
||||
HB_RTCVAL .EQU 0FFEEH ; 6MHz for it to work with the ECB-VGM reliably.
|
||||
RTCIO .EQU 070H
|
||||
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; YM2162 Register write macros
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
#DEFINE setreg(reg,val) \
|
||||
#DEFCONT \ ld a,reg
|
||||
#DEFCONT \ out (YMSEL),a
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ ld a,val
|
||||
#DEFCONT \ out (YMDAT),a
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ nop
|
||||
|
||||
#DEFCONT \ in a,(YMSEL)
|
||||
#DEFCONT \ rlca
|
||||
#DEFCONT \ jp c,$-3
|
||||
;
|
||||
#DEFINE setreg2(reg,val) \
|
||||
#DEFCONT \ ld a,reg
|
||||
#DEFCONT \ out (YM2SEL),a
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ ld a,val
|
||||
#DEFCONT \ out (YM2DAT),a
|
||||
#DEFCONT \ nop
|
||||
#DEFCONT \ nop
|
||||
|
||||
D50 .EQU 500 ; 900 ;735
|
||||
D60 .EQU 600 ; 1000 ;882
|
||||
#DEFCONT \ out (YM2DAT),a
|
||||
#DEFCONT \ in a,(YMSEL)
|
||||
#DEFCONT \ rlca
|
||||
#DEFCONT \ jp c,$-3
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; VGM Codes
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
VGM_GG_W .EQU 04FH ; GAME GEAR PSG STEREO. WRITE DD TO PORT 0X06
|
||||
VGM_PSG_W .EQU 050H ; PSG (SN76489/SN76496) WRITE VALUE DD
|
||||
VGM_YM2612_W .EQU 052H ; YM2612 WRITE VALUE DD
|
||||
VGM_PSG1_W .EQU 050H ; PSG (SN76489/SN76496) #1 WRITE VALUE DD
|
||||
VGM_PSG2_W .EQU 030H ; PSG (SN76489/SN76496) #2 WRITE VALUE DD
|
||||
VGM_YM26121_W .EQU 052H ; YM2612 #1 WRITE VALUE DD
|
||||
VGM_YM26122_W .EQU 053H ; YM2612 #2 WRITE VALUE DD
|
||||
VGM_WNS .EQU 061H ; WAIT N SAMPLES
|
||||
VGM_W735 .EQU 062H ; WAIT 735 SAMPLES (1/60TH SECOND)
|
||||
VGM_W882 .EQU 063H ; WAIT 882 SAMPLES (1/50TH SECOND)
|
||||
VGM_ESD .EQU 066H ; END OF SOUND DATA
|
||||
VGM_YM21511_W .EQU 054H ; YM2612 #1 WRITE VALUE DD
|
||||
VGM_YM21512_W .EQU 0A4H ; YM2612 #2WRITE VALUE DD
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; Generic CP/M definitions
|
||||
@@ -168,13 +230,12 @@ L1 LD B,FRAME_DLY
|
||||
; Program Exit
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
EXIT
|
||||
EXIT: CALL VGMDEVICES ; Display devices used
|
||||
CALL VGMMUTE ; Mute Devices
|
||||
|
||||
#IFDEF SBCV2004
|
||||
CALL FASTIO
|
||||
#ENDIF
|
||||
CALL VGMDEVICES ; Display devices used
|
||||
CALL VGMMUTE ; Mute Devices
|
||||
|
||||
LD DE,MSG_EXIT
|
||||
EXIT_ERR: CALL PRTSTR ; Generic message or error
|
||||
LD SP, (OLDSTACK) ; Exit to CP/M
|
||||
@@ -266,7 +327,7 @@ VGMINFO: LD DE,MSG_BADF ; Check valid file
|
||||
EX DE,HL
|
||||
PUSH BC
|
||||
POP DE
|
||||
; CALL PRTHEX32
|
||||
; CALL PRTHEX32 ; Debug
|
||||
|
||||
LD HL,(VGMDATA+16H) ; Is GD3 in range?
|
||||
LD A,H
|
||||
@@ -296,6 +357,9 @@ VGMINFO: LD DE,MSG_BADF ; Check valid file
|
||||
ADD HL,DE
|
||||
|
||||
CALL CRLF
|
||||
LD DE,MSG_TRACK
|
||||
CALL PRTSTR
|
||||
|
||||
GD3_NXT: LD A,(HL) ; Print English Track
|
||||
OR A
|
||||
INC HL
|
||||
@@ -311,7 +375,9 @@ GD3_NXT1: LD A,(HL) ; Skip Japanese Track
|
||||
JR NZ,GD3_NXT1
|
||||
; JR GD3_NXT1
|
||||
|
||||
CALL CRLF
|
||||
LD DE,MSG_TITLE
|
||||
CALL PRTSTR
|
||||
|
||||
GD3_NXT2: LD A,(HL) ; Print English Title
|
||||
OR A
|
||||
INC HL
|
||||
@@ -349,20 +415,22 @@ NEXT LD A, (HL)
|
||||
NEXT1 CP VGM_GG_W ; Game Gear SN76489 stereo. Ignored
|
||||
JR NZ, PSG
|
||||
LD IX,VGM_DEV
|
||||
SET 6,(IX+0)
|
||||
INC HL
|
||||
JR NEXT
|
||||
SET 0,(IX+1)
|
||||
INC HL
|
||||
JR NEXT
|
||||
|
||||
PSG CP VGM_PSG_W ; Write byte to SN76489.
|
||||
; SN76489 SECTION
|
||||
|
||||
PSG CP VGM_PSG1_W ; Write byte to SN76489.
|
||||
JR NZ, PSG2
|
||||
LD A, (HL)
|
||||
INC HL
|
||||
OUT (PSGREG), A
|
||||
OUT (PSG1REG), A
|
||||
LD IX,VGM_DEV
|
||||
SET 0,(IX+0)
|
||||
JR NEXT
|
||||
|
||||
PSG2 CP 30H ; Write byte to second SN76489.
|
||||
PSG2 CP VGM_PSG2_W ; Write byte to second SN76489.
|
||||
JR NZ, AY
|
||||
LD A, (HL)
|
||||
INC HL
|
||||
@@ -371,10 +439,10 @@ PSG2 CP 30H ; Write byte to second SN76489.
|
||||
SET 1,(IX+0)
|
||||
JR NEXT
|
||||
|
||||
; AY SECTION
|
||||
; AY-3-8910 SECTION
|
||||
|
||||
AY CP 0A0H
|
||||
JR NZ,YM
|
||||
JR NZ,YM2162_1
|
||||
LD A, (HL)
|
||||
INC HL
|
||||
BIT 7, A ; Bit 7=1 for second AY-3-8910
|
||||
@@ -395,10 +463,10 @@ AY1 OUT (RSEL), A
|
||||
SET 3,(IX+0)
|
||||
JR NEXT
|
||||
|
||||
; YM SECTION
|
||||
; YM2612 SECTION
|
||||
|
||||
YM: CP 052H
|
||||
JR NZ, YM2
|
||||
YM2162_1 CP VGM_YM26121_W
|
||||
JR NZ, YM2162_2
|
||||
LD A,(HL)
|
||||
OUT (YMSEL),A
|
||||
INC HL
|
||||
@@ -409,9 +477,8 @@ YM: CP 052H
|
||||
SET 4,(IX+0)
|
||||
JP NEXT
|
||||
;
|
||||
YM2: CP 053H
|
||||
JR NZ,WAITNN
|
||||
|
||||
YM2162_2 CP VGM_YM26122_W
|
||||
JR NZ,YM2151_1
|
||||
LD A,(HL)
|
||||
OUT (YM2SEL),A
|
||||
INC HL
|
||||
@@ -419,10 +486,36 @@ YM2: CP 053H
|
||||
OUT (YM2DAT),A
|
||||
INC HL
|
||||
LD IX,VGM_DEV
|
||||
SET 4,(IX+0)
|
||||
SET 4,(IX+0) ; 2nd channel
|
||||
JP NEXT
|
||||
|
||||
; YM2151 SECTION
|
||||
|
||||
YM2151_1 CP VGM_YM21511_W
|
||||
JR NZ,YM2151_2
|
||||
LD A,(HL)
|
||||
OUT (YM2151_SEL1),A
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
OUT (YM2151_DAT1),A
|
||||
INC HL
|
||||
LD IX,VGM_DEV
|
||||
SET 6,(IX+0)
|
||||
JP NEXT
|
||||
;
|
||||
YM2151_2 CP VGM_YM21512_W
|
||||
JR NZ,WAITNN
|
||||
LD A,(HL)
|
||||
OUT (YM2151_SEL2),A
|
||||
INC HL
|
||||
LD A,(HL)
|
||||
OUT (YM2151_DAT2),A
|
||||
INC HL
|
||||
LD IX,VGM_DEV
|
||||
SET 7,(IX+0)
|
||||
JP NEXT
|
||||
;
|
||||
WAITNN: CP 61H ; Wait nn samples
|
||||
WAITNN CP VGM_WNS ; Wait nn samples
|
||||
JR NZ, WAIT60
|
||||
LD A, (HL)
|
||||
INC HL
|
||||
@@ -437,14 +530,14 @@ WAITNN: CP 61H ; Wait nn samples
|
||||
WAIT60 CP VGM_W735 ; Wait 735 samples (60Hz)
|
||||
JR NZ, WAIT50
|
||||
LD (VGMPOS), HL
|
||||
LD HL, D50
|
||||
LD HL, D60
|
||||
LD (VGMDLY), HL
|
||||
RET
|
||||
;
|
||||
WAIT50 CP VGM_W882 ; Wait 882 samples (50Hz)
|
||||
JR NZ, WAIT1
|
||||
LD (VGMPOS), HL
|
||||
LD HL, D60
|
||||
LD HL, D50
|
||||
LD (VGMDLY), HL
|
||||
RET
|
||||
;
|
||||
@@ -458,8 +551,8 @@ WAIT1 CP 70H ; WAIT 0-15 SAMPLES
|
||||
LD (VGMDLY), HL
|
||||
RET
|
||||
;
|
||||
UNK: LD IX,VGM_DEV ; Set flag for
|
||||
SET 6,(IX+0) ; unknown device
|
||||
UNK LD IX,VGM_DEV ; Set flag for
|
||||
SET 0,(IX+1) ; unknown device
|
||||
INC HL ; Try and skip
|
||||
JP NEXT
|
||||
;
|
||||
@@ -489,24 +582,38 @@ VGMDEVICES: LD DE,MSG_PO ; Played on ...
|
||||
SRL A
|
||||
PUSH AF
|
||||
;
|
||||
LD DE,MSG_YM ; YM-2612 Devices
|
||||
LD DE,MSG_YM2612 ; YM-2612 Devices
|
||||
CALL CHKDEV
|
||||
;
|
||||
POP AF
|
||||
SRL A
|
||||
SRL A
|
||||
PUSH AF
|
||||
;
|
||||
LD DE,MSG_YM2151 ; YM-2151 Devices
|
||||
CALL CHKDEV
|
||||
;
|
||||
POP AF
|
||||
; SRL A
|
||||
; SRL A
|
||||
; PUSH AF
|
||||
;
|
||||
LD A,(IX+1)
|
||||
LD DE,MSG_UNK ; Unknown Device Code detected
|
||||
; CALL CHKDEV
|
||||
;
|
||||
CHKDEV: AND %00000011 ; Display
|
||||
SRL A ; number of
|
||||
ADC A,'0' ; devices
|
||||
CP '0'
|
||||
RET Z ; Skip if not
|
||||
CALL PRTCHR ; used.
|
||||
CALL PRTSTR
|
||||
RET Z ; number of
|
||||
SRL A ; devices
|
||||
ADC A,'0'
|
||||
CALL PRTCHR ; Skip if not
|
||||
CALL PRTSTR ; used.
|
||||
RET
|
||||
|
||||
DEBUG: PUSH AF
|
||||
LD A,'*'
|
||||
CALL PRTCHR
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
@@ -518,16 +625,16 @@ VGMMUTE: LD A,(IX+0) ; Only mute devices used.
|
||||
JR Z,SKIP1
|
||||
|
||||
LD A, 9FH ; Mute all channels on psg
|
||||
OUT (PSGREG), A
|
||||
OUT (PSG1REG), A
|
||||
OUT (PSG2REG), A
|
||||
LD A, 0BFH
|
||||
OUT (PSGREG), A
|
||||
OUT (PSG1REG), A
|
||||
OUT (PSG2REG), A
|
||||
LD A, 0DFH
|
||||
OUT (PSGREG), A
|
||||
OUT (PSG1REG), A
|
||||
OUT (PSG2REG), A
|
||||
LD A, 0FFH
|
||||
OUT (PSGREG), A
|
||||
OUT (PSG1REG), A
|
||||
OUT (PSG2REG), A
|
||||
|
||||
SKIP1: LD A,(IX+0)
|
||||
@@ -554,11 +661,12 @@ SKIP1: LD A,(IX+0)
|
||||
OUT (RDAT2), A
|
||||
CALL FASTIO
|
||||
|
||||
SKIP2: LD A,(IX+0)
|
||||
SKIP2: LD A,(IX+0) ; mute all channels on ym2612
|
||||
AND %00110000
|
||||
JP Z,SKIP3
|
||||
|
||||
setreg($22,$00) ; lfo off
|
||||
|
||||
setreg($27,$00) ; Disable independant Channel 3
|
||||
setreg($28,$00) ; note off ch 1
|
||||
setreg($28,$01) ; note off ch 2
|
||||
@@ -573,9 +681,240 @@ SKIP2: LD A,(IX+0)
|
||||
setreg($b6,$00)
|
||||
setreg2($b4,$00) ; sound off ch 4-6
|
||||
setreg2($b5,$00)
|
||||
setreg2($b6,$00)
|
||||
setreg2($b6,$00)
|
||||
|
||||
setreg($40,$7f) ; ch 1-3 total level minimum
|
||||
setreg($41,$7f)
|
||||
setreg($42,$7f)
|
||||
setreg($44,$7f)
|
||||
setreg($45,$7f)
|
||||
setreg($46,$7f)
|
||||
setreg($48,$7f)
|
||||
setreg($49,$7f)
|
||||
setreg($4a,$7f)
|
||||
setreg($4c,$7f)
|
||||
setreg($4d,$7f)
|
||||
setreg($4e,$7f)
|
||||
|
||||
setreg2($40,$7f) ; ch 4-6 total level minimum
|
||||
setreg2($41,$7f)
|
||||
setreg2($42,$7f)
|
||||
setreg2($44,$7f)
|
||||
setreg2($45,$7f)
|
||||
setreg2($46,$7f)
|
||||
setreg2($48,$7f)
|
||||
setreg2($49,$7f)
|
||||
setreg2($4a,$7f)
|
||||
setreg2($4c,$7f)
|
||||
setreg2($4d,$7f)
|
||||
setreg2($4e,$7f)
|
||||
|
||||
#if (0)
|
||||
|
||||
setreg($2a,$00) ; dac value
|
||||
|
||||
setreg($24,$00) ; timer A frequency
|
||||
setreg($25,$00) ; timer A frequency
|
||||
setreg($26,$00) ; time B frequency
|
||||
|
||||
setreg($30,$00) ; ch 1-3 multiply & detune
|
||||
setreg($31,$00)
|
||||
setreg($32,$00)
|
||||
setreg($34,$00)
|
||||
setreg($35,$00)
|
||||
setreg($36,$00)
|
||||
setreg($38,$00)
|
||||
setreg($39,$00)
|
||||
setreg($3a,$00)
|
||||
setreg($3c,$00)
|
||||
setreg($3d,$00)
|
||||
setreg($3e,$00)
|
||||
|
||||
setreg2($30,$00) ; ch 4-6 multiply & detune
|
||||
setreg2($31,$00)
|
||||
setreg2($32,$00)
|
||||
setreg2($34,$00)
|
||||
setreg2($35,$00)
|
||||
setreg2($36,$00)
|
||||
setreg2($38,$00)
|
||||
setreg2($39,$00)
|
||||
setreg2($3a,$00)
|
||||
setreg2($3c,$00)
|
||||
setreg2($3d,$00)
|
||||
setreg2($3e,$00)
|
||||
|
||||
setreg($50,$00) ; ch 1-3 attack rate and scaling
|
||||
setreg($51,$00)
|
||||
setreg($52,$00)
|
||||
setreg($54,$00)
|
||||
setreg($55,$00)
|
||||
setreg($56,$00)
|
||||
setreg($58,$00)
|
||||
setreg($59,$00)
|
||||
setreg($5a,$00)
|
||||
setreg($5c,$00)
|
||||
setreg($5d,$00)
|
||||
setreg($5e,$00)
|
||||
|
||||
setreg2($50,$00) ; ch 4-6 attack rate and scaling
|
||||
setreg2($51,$00)
|
||||
setreg2($52,$00)
|
||||
setreg2($54,$00)
|
||||
setreg2($55,$00)
|
||||
setreg2($56,$00)
|
||||
setreg2($58,$00)
|
||||
setreg2($59,$00)
|
||||
setreg2($5a,$00)
|
||||
setreg2($5c,$00)
|
||||
setreg2($5d,$00)
|
||||
setreg2($5e,$00)
|
||||
|
||||
setreg($60,$00) ; ch 1-3 decay rate and am enable
|
||||
setreg($61,$00)
|
||||
setreg($62,$00)
|
||||
setreg($64,$00)
|
||||
setreg($65,$00)
|
||||
setreg($66,$00)
|
||||
setreg($68,$00)
|
||||
setreg($69,$00)
|
||||
setreg($6a,$00)
|
||||
setreg($6c,$00)
|
||||
setreg($6d,$00)
|
||||
setreg($6e,$00)
|
||||
|
||||
setreg2($60,$00) ; ch 4-6 decay rate and am enable
|
||||
setreg2($61,$00)
|
||||
setreg2($62,$00)
|
||||
setreg2($64,$00)
|
||||
setreg2($65,$00)
|
||||
setreg2($66,$00)
|
||||
setreg2($68,$00)
|
||||
setreg2($69,$00)
|
||||
setreg2($6a,$00)
|
||||
setreg2($6c,$00)
|
||||
setreg2($6d,$00)
|
||||
setreg2($6e,$00)
|
||||
|
||||
setreg($70,$00) ; ch 1-3 sustain rate
|
||||
setreg($71,$00)
|
||||
setreg($72,$00)
|
||||
setreg($74,$00)
|
||||
setreg($75,$00)
|
||||
setreg($76,$00)
|
||||
setreg($78,$00)
|
||||
setreg($79,$00)
|
||||
setreg($7a,$00)
|
||||
setreg($7c,$00)
|
||||
setreg($7d,$00)
|
||||
setreg($7e,$00)
|
||||
|
||||
setreg2($70,$00) ; ch 4-6 sustain rate
|
||||
setreg2($71,$00)
|
||||
setreg2($72,$00)
|
||||
setreg2($74,$00)
|
||||
setreg2($75,$00)
|
||||
setreg2($76,$00)
|
||||
setreg2($78,$00)
|
||||
setreg2($79,$00)
|
||||
setreg2($7a,$00)
|
||||
setreg2($7c,$00)
|
||||
setreg2($7d,$00)
|
||||
setreg2($7e,$00)
|
||||
|
||||
setreg($80,$00) ; ch 1-3 release rate and sustain level
|
||||
setreg($81,$00)
|
||||
setreg($82,$00)
|
||||
setreg($84,$00)
|
||||
setreg($85,$00)
|
||||
setreg($86,$00)
|
||||
setreg($88,$00)
|
||||
setreg($89,$00)
|
||||
setreg($8a,$00)
|
||||
setreg($8c,$00)
|
||||
setreg($8d,$00)
|
||||
setreg($8e,$00)
|
||||
|
||||
setreg2($80,$00) ; ch 4-6 release rate and sustain level
|
||||
setreg2($81,$00)
|
||||
setreg2($82,$00)
|
||||
setreg2($84,$00)
|
||||
setreg2($85,$00)
|
||||
setreg2($86,$00)
|
||||
setreg2($88,$00)
|
||||
setreg2($89,$00)
|
||||
setreg2($8a,$00)
|
||||
setreg2($8c,$00)
|
||||
setreg2($8d,$00)
|
||||
setreg2($8e,$00)
|
||||
|
||||
setreg($90,$00) ; ch 1-3 ssg-eg
|
||||
setreg($91,$00)
|
||||
setreg($92,$00)
|
||||
setreg($94,$00)
|
||||
setreg($95,$00)
|
||||
setreg($96,$00)
|
||||
setreg($98,$00)
|
||||
setreg($99,$00)
|
||||
setreg($9a,$00)
|
||||
setreg($9c,$00)
|
||||
setreg($9d,$00)
|
||||
setreg($9e,$00)
|
||||
|
||||
setreg2($90,$00) ; ch 4-6 ssg-eg
|
||||
setreg2($91,$00)
|
||||
setreg2($92,$00)
|
||||
setreg2($94,$00)
|
||||
setreg2($95,$00)
|
||||
setreg2($96,$00)
|
||||
setreg2($98,$00)
|
||||
setreg2($99,$00)
|
||||
setreg2($9a,$00)
|
||||
setreg2($9c,$00)
|
||||
setreg2($9d,$00)
|
||||
setreg2($9e,$00)
|
||||
|
||||
setreg($a0,$00) ; ch 1-3 frequency
|
||||
setreg($a1,$00)
|
||||
setreg($a2,$00)
|
||||
setreg($a4,$00)
|
||||
setreg($a5,$00)
|
||||
setreg($a6,$00)
|
||||
; setreg($a8,$00) ; ch 3 special mode
|
||||
; setreg($a9,$00)
|
||||
; setreg($aa,$00)
|
||||
; setreg($ac,$00)
|
||||
; setreg($ad,$00)
|
||||
; setreg($ae,$00)
|
||||
|
||||
setreg2($a0,$00) ; ch 4-6 frequency
|
||||
setreg2($a1,$00)
|
||||
setreg2($a2,$00)
|
||||
setreg2($a4,$00)
|
||||
setreg2($a5,$00)
|
||||
setreg2($a6,$00)
|
||||
; setreg2($a8,$00) ; ch 3 special mode
|
||||
; setreg2($a9,$00)
|
||||
; setreg2($aa,$00)
|
||||
; setreg2($ac,$00)
|
||||
; setreg2($ad,$00)
|
||||
; setreg2($ae,$00)
|
||||
|
||||
setreg($b0,$00) ; ch 1-3 algorith + feedback
|
||||
setreg($b1,$00)
|
||||
setreg($b2,$00)
|
||||
setreg2($b0,$00) ; ch 4-6 algorith + feedback
|
||||
setreg2($b1,$00)
|
||||
setreg2($b2,$00)
|
||||
|
||||
#endif
|
||||
|
||||
SKIP3: RET
|
||||
SKIP3: LD A,(IX+0) ; For YM2151 ... Unimplemented
|
||||
AND %11000000
|
||||
JP Z,SKIP4
|
||||
|
||||
; MUTE YM2151
|
||||
|
||||
SKIP4 RET
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Hardware specific routines.
|
||||
@@ -609,18 +948,21 @@ FASTIO:
|
||||
; Strings and constants.
|
||||
;------------------------------------------------------------------------------
|
||||
;
|
||||
MSG_WELC: .DB "VGM Player for RomWBW v0.2, 27-Nov-2021",CR,LF
|
||||
MSG_WELC: .DB "VGM Player for RomWBW v0.3, 2-Jul-2022",CR,LF
|
||||
; .DB "J.B. Langston/Marco Maccaferri/Phil Summers",CR,LF
|
||||
.DB 0
|
||||
MSG_BADF: .DB "Not a VGM file",CR,LF,0
|
||||
MSG_PO .DB "Played on : ",0
|
||||
MSG_YM: .DB "xYM-2612 ",0
|
||||
MSG_YM2612: .DB "xYM-2612 ",0
|
||||
MSG_SN: .DB "xSN76489 ",0
|
||||
MSG_AY: .DB "xAY-3-8910 ",0
|
||||
MSG_UNK .DB "xUnsupported device encountered", CR, LF, 0
|
||||
MSG_YM2151: .DB "xYM-2151 ",0
|
||||
MSG_UNK: .DB "xUnsupported device encountered", CR, LF, 0
|
||||
MSG_EXIT: .DB "FINISHED.",CR,LF,0
|
||||
MSG_NOFILE: .DB "File not found", CR, LF, 0
|
||||
MSG_MEM: .DB "File to big", CR, LF, 0
|
||||
MSG_TITLE: .DB " from: ",0
|
||||
MSG_TRACK .DB "Playing: ",0
|
||||
;
|
||||
;------------------------------------------------------------------------------
|
||||
; Variables
|
||||
@@ -629,7 +971,8 @@ MSG_MEM: .DB "File to big", CR, LF, 0
|
||||
VGMPOS .DW 0
|
||||
VGMDLY .DW 0
|
||||
VGMUNK_F .DB 0 ; Flag for unknown device
|
||||
VGM_DEV .DB %00000000 ; UUYYAASS
|
||||
VGM_DEV .DB %00000000 ; yyYYAASS
|
||||
.DB %00000000 ; Unimplemented device flags
|
||||
|
||||
OLDSTACK .DW 0 ; original stack pointer
|
||||
.DS 40H ; space for stack
|
||||
|
||||
@@ -244,7 +244,7 @@ initcpm3:
|
||||
; The CP/M 3 drvtbl is in common memory, but the XDPHs are not.
|
||||
; So, here we temporarily swap the bank to the CP/M 3 system
|
||||
; bank. We cannot use the CP/M Direct BIOS call because it
|
||||
; explicitly blocks use of SELMEM, so we are foreced to use
|
||||
; explicitly blocks use of SELMEM, so we are forced to use
|
||||
; HBIOS call. The CP/M 3 system bank is always the HBIOS
|
||||
; user bank.
|
||||
;
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
;
|
||||
;[2021/07/10] v1.7 Support MBC (AJL)
|
||||
;
|
||||
;[2022/03/27] v1.8 Support RHYOPHYRE
|
||||
;
|
||||
; Constants
|
||||
;
|
||||
mask_data .EQU %10000000 ; RTC data line
|
||||
@@ -46,6 +48,7 @@ PORT_SCZ180 .EQU $0C ; RTC port for SCZ180
|
||||
PORT_DYNO .EQU $0C ; RTC port for DYNO
|
||||
PORT_RCZ280 .EQU $C0 ; RTC port for RCZ280
|
||||
PORT_MBC .EQU $70 ; RTC port for MBC
|
||||
PORT_RPH .EQU $84 ; RTC port for RHYOPHYRE
|
||||
|
||||
|
||||
BDOS .EQU 5 ; BDOS invocation vector
|
||||
@@ -1126,6 +1129,11 @@ HINIT:
|
||||
LD DE,PLT_MBC
|
||||
CP 13 ; MBC
|
||||
JR Z,RTC_INIT2
|
||||
;
|
||||
LD C,PORT_RPH
|
||||
LD DE,PLT_RPH
|
||||
CP 14 ; RHYOPHYRE
|
||||
JR Z,RTC_INIT2
|
||||
;
|
||||
; Unknown platform
|
||||
LD DE,PLTERR ; BIOS error message
|
||||
@@ -1622,7 +1630,7 @@ TESTING_BIT_DELAY_OVER:
|
||||
|
||||
RTC_HELP_MSG:
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
.TEXT "RTC: Version 1.7"
|
||||
.TEXT "RTC: Version 1.8"
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
.TEXT "Commands: E)xit T)ime st(A)rt S)et R)aw L)oop C)harge N)ocharge D)elay I)nit G)et P)ut B)oot W)arm-start H)elp"
|
||||
.DB 0Ah, 0Dh ; line feed and carriage return
|
||||
@@ -1751,6 +1759,7 @@ PLT_SCZ180 .TEXT ", SC Z180 RTC Module Latch Port 0x0C\r\n$"
|
||||
PLT_DYNO .TEXT ", DYNO RTC Module Latch Port 0x0C\r\n$"
|
||||
PLT_RCZ280 .TEXT ", RC2014 Z280 RTC Module Latch Port 0xC0\r\n$"
|
||||
PLT_MBC .TEXT ", MBC RTC Latch Port 0x70\r\n$"
|
||||
PLT_RPH .TEXT ", RHYOPHYRE RTC Latch Port 0x84\r\n$"
|
||||
|
||||
;
|
||||
; Generic FOR-NEXT loop algorithm
|
||||
|
||||
@@ -22,7 +22,7 @@ DREADF EQU 20 ; DISK READ FUNCTION
|
||||
;
|
||||
CR EQU 0DH ; CARRIAGE RETURN
|
||||
LF EQU 0AH ; LINE FEED
|
||||
STKSIZE EQU 16 ; SIZE OF LOCAL STACK
|
||||
STKSIZE EQU 32 ; SIZE OF LOCAL STACK
|
||||
;
|
||||
WBOOT EQU 1 ; ADDRESS OF WARM BOOT (OTHER PATCH ENTRY
|
||||
;
|
||||
|
||||
@@ -30,7 +30,7 @@ zcpr33n.rel zcpr33t.rel:
|
||||
|
||||
all:: $(HD0IMG)
|
||||
|
||||
clobber::
|
||||
clean::
|
||||
@rm -f $(HD0IMG)
|
||||
|
||||
%.img: zcpr33n.rel zcpr33t.rel
|
||||
|
||||
@@ -311,6 +311,7 @@ diskdef wbw_rom1024
|
||||
end
|
||||
|
||||
# RomWBW 720K floppy media
|
||||
|
||||
diskdef wbw_fd720
|
||||
seclen 512
|
||||
tracks 160
|
||||
@@ -323,6 +324,7 @@ diskdef wbw_fd720
|
||||
end
|
||||
|
||||
# RomWBW 1.44M floppy media
|
||||
|
||||
diskdef wbw_fd144
|
||||
seclen 512
|
||||
tracks 160
|
||||
@@ -335,6 +337,7 @@ diskdef wbw_fd144
|
||||
end
|
||||
|
||||
# RomWBW 360K floppy media
|
||||
|
||||
diskdef wbw_fd360
|
||||
seclen 512
|
||||
tracks 80
|
||||
@@ -347,6 +350,7 @@ diskdef wbw_fd360
|
||||
end
|
||||
|
||||
# RomWBW 1.20M floppy media
|
||||
|
||||
diskdef wbw_fd120
|
||||
seclen 512
|
||||
tracks 160
|
||||
@@ -359,7 +363,8 @@ diskdef wbw_fd120
|
||||
end
|
||||
|
||||
# RomWBW 8320KB Hard Disk Slice (512 directory entry format)
|
||||
# Legacy format, 512 dir entries, 16,630 sectors / slice
|
||||
# Legacy format: 512 dir entries, 16,630 sectors / slice
|
||||
|
||||
diskdef wbw_hd512
|
||||
seclen 512
|
||||
tracks 1040
|
||||
@@ -372,6 +377,9 @@ diskdef wbw_hd512
|
||||
end
|
||||
|
||||
# First 4 slices of wbw_hd512
|
||||
# Assumes first slice (slice 0) starts at sector 0
|
||||
# Offset of any slice (in tracks) = (1040 * <slice_num>)
|
||||
|
||||
diskdef wbw_hd512_0
|
||||
seclen 512
|
||||
tracks 1040
|
||||
@@ -380,45 +388,50 @@ diskdef wbw_hd512_0
|
||||
maxdir 512
|
||||
skew 0
|
||||
boottrk 16
|
||||
offset 0T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd512_1
|
||||
seclen 512
|
||||
tracks 2080
|
||||
tracks 1040
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
skew 0
|
||||
boottrk 1056
|
||||
boottrk 16
|
||||
offset 1040T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd512_2
|
||||
seclen 512
|
||||
tracks 3120
|
||||
tracks 1040
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
skew 0
|
||||
boottrk 2096
|
||||
boottrk 16
|
||||
offset 2080T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd512_3
|
||||
seclen 512
|
||||
tracks 4160
|
||||
tracks 1040
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
skew 0
|
||||
boottrk 3136
|
||||
boottrk 16
|
||||
offset 3120T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RomWBW 8MB Hard Disk (1024 directory entry format)
|
||||
# New format, 1024 dir entries, 16,384 sectors / slice
|
||||
# New format: 1024 dir entries, 16,384 sectors / slice
|
||||
# Pure filesystem image, no MBR prefix
|
||||
|
||||
diskdef wbw_hd1024
|
||||
seclen 512
|
||||
tracks 1024
|
||||
@@ -431,110 +444,124 @@ diskdef wbw_hd1024
|
||||
end
|
||||
|
||||
# First 4 slices of wbw_hd1024
|
||||
# Assumes 1MB prefix (2048 sectors)
|
||||
# Assumes standard 1MB prefix
|
||||
# Offset of any slice (in tracks) = 128 + (1024 * <slice_num)
|
||||
|
||||
diskdef wbw_hd1024_0
|
||||
seclen 512
|
||||
tracks 1040
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 130
|
||||
boottrk 2
|
||||
offset 128T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd1024_1
|
||||
seclen 512
|
||||
tracks 2064
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 1154
|
||||
boottrk 2
|
||||
offset 1152T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd1024_2
|
||||
seclen 512
|
||||
tracks 3112
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 2178
|
||||
boottrk 2
|
||||
offset 2176T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef wbw_hd1024_3
|
||||
seclen 512
|
||||
tracks 4136
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 3202
|
||||
boottrk 2
|
||||
offset 3200T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# SmallZ80 Hard Disk Image
|
||||
# 5 slices
|
||||
|
||||
diskdef smz80_hd0
|
||||
seclen 512
|
||||
tracks 1034
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 10
|
||||
boottrk 0
|
||||
offset 10T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef smz80_hd1
|
||||
seclen 512
|
||||
tracks 2058
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 1034
|
||||
boottrk 0
|
||||
offset 1034T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef smz80_hd2
|
||||
seclen 512
|
||||
tracks 1034
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 2058
|
||||
boottrk 0
|
||||
offset 2058T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef smz80_hd3
|
||||
seclen 512
|
||||
tracks 4106
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 3082
|
||||
boottrk 0
|
||||
offset 3082T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef smz80_hd4
|
||||
seclen 512
|
||||
tracks 5130
|
||||
tracks 1024
|
||||
sectrk 16
|
||||
blocksize 4096
|
||||
maxdir 1024
|
||||
skew 0
|
||||
boottrk 4106
|
||||
boottrk 0
|
||||
offset 4106T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
# RC2014 standard hard disk image
|
||||
# RC2014 standard (Grant Searle) hard disk image
|
||||
# Slices A-P
|
||||
# Offset of slice (in tracks) = (512 * <slice_num>)
|
||||
|
||||
diskdef rc2014a
|
||||
seclen 512
|
||||
tracks 512
|
||||
@@ -542,155 +569,171 @@ diskdef rc2014a
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 1
|
||||
offset 0T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014b
|
||||
seclen 512
|
||||
tracks 1024
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 512
|
||||
boottrk 0
|
||||
offset 512T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014c
|
||||
seclen 512
|
||||
tracks 1536
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 1024
|
||||
boottrk 0
|
||||
offset 1024T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014d
|
||||
seclen 512
|
||||
tracks 2048
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 1536
|
||||
boottrk 0
|
||||
offset 1536T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014e
|
||||
seclen 512
|
||||
tracks 2560
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 2048
|
||||
boottrk 0
|
||||
offset 2048T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014f
|
||||
seclen 512
|
||||
tracks 3072
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 2560
|
||||
boottrk 0
|
||||
offset 2560T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014g
|
||||
seclen 512
|
||||
tracks 3584
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 3072
|
||||
boottrk 0
|
||||
offset 3072T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014h
|
||||
seclen 512
|
||||
tracks 4096
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 3584
|
||||
boottrk 0
|
||||
offset 3584T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014i
|
||||
seclen 512
|
||||
tracks 4608
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 4096
|
||||
boottrk 0
|
||||
offset 4096T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014j
|
||||
seclen 512
|
||||
tracks 5120
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 4608
|
||||
boottrk 0
|
||||
offset 4608T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014k
|
||||
seclen 512
|
||||
tracks 5632
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 5120
|
||||
boottrk 0
|
||||
offset 5120T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014l
|
||||
seclen 512
|
||||
tracks 6144
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 5632
|
||||
boottrk 0
|
||||
offset 5632T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014m
|
||||
seclen 512
|
||||
tracks 6656
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 6144
|
||||
boottrk 0
|
||||
offset 6144T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014n
|
||||
seclen 512
|
||||
tracks 7168
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 6656
|
||||
boottrk 0
|
||||
offset 6656T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014o
|
||||
seclen 512
|
||||
tracks 7680
|
||||
tracks 512
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 7168
|
||||
boottrk 0
|
||||
offset 7168T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
diskdef rc2014p
|
||||
seclen 512
|
||||
tracks 7808
|
||||
tracks 128
|
||||
sectrk 32
|
||||
blocksize 4096
|
||||
maxdir 512
|
||||
boottrk 7680
|
||||
boottrk 0
|
||||
offset 7680T
|
||||
os 2.2
|
||||
end
|
||||
|
||||
@@ -144,6 +144,43 @@ CBXSIZ .EQU $ - CBX
|
||||
.ECHO " bytes.\n"
|
||||
;
|
||||
;==================================================================================================
|
||||
; TIMDAT ROUTINE FOR QP/M
|
||||
;==================================================================================================
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
#IF QPMTIMDAT
|
||||
;
|
||||
TIMDAT:
|
||||
; GET CURRENT DATE/TIME FROM RTC INTO BUFFER
|
||||
LD B,BF_RTCGETTIM ; HBIOS GET TIME FUNCTION
|
||||
LD HL,CLKDAT ; POINTER TO BUFFER
|
||||
RST 08 ; DO IT
|
||||
;
|
||||
; CONVERT ALL BYTES FROM BCD TO BINARY
|
||||
LD HL,CLKDAT ; BUFFER
|
||||
LD B,7 ; DO 7 BYTES
|
||||
TIMDAT1:
|
||||
LD A,(HL)
|
||||
CALL BCD2BYTE
|
||||
LD (HL),A
|
||||
INC HL
|
||||
DJNZ TIMDAT1
|
||||
;
|
||||
; SWAP BYTES 0 & 2 TO MAKE BUFFER INTO QP/M ORDER
|
||||
LD A,(CLKDAT+0)
|
||||
PUSH AF
|
||||
LD A,(CLKDAT+2)
|
||||
LD (CLKDAT+0),A
|
||||
POP AF
|
||||
LD (CLKDAT+2),A
|
||||
;
|
||||
LD HL,CLKDAT ; RETURN BUFFER ADDRESS
|
||||
RET
|
||||
;
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
;==================================================================================================
|
||||
; CHARACTER DEVICE MAPPING
|
||||
;==================================================================================================
|
||||
;
|
||||
@@ -302,6 +339,13 @@ BOOT:
|
||||
; STANDARD BOOT INVOCATION
|
||||
;LD SP,STACK ; STACK FOR INITIALIZATION
|
||||
LD SP,CCP_LOC ; PUT STACK JUST BELOW CCP
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nCBIOS Starting...$"
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nCopying INIT code to 0x8000...$"
|
||||
#ENDIF
|
||||
;
|
||||
; COPY INITIALIZATION CODE TO RUNNING LOCATION $8000
|
||||
LD HL,BUFPOOL
|
||||
@@ -311,6 +355,11 @@ BOOT:
|
||||
PUSH HL ; SAVE START ADR AGAIN FOR BELOW
|
||||
PUSH BC ; SAVE LENGTH FOR BELOW
|
||||
LDIR ; COPY THE CODE
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nClearing disk buffer...$"
|
||||
#ENDIF
|
||||
;
|
||||
; CLEAR BUFFER
|
||||
POP BC ; RECOVER LENGTH
|
||||
@@ -320,10 +369,32 @@ BOOT:
|
||||
INC DE ; OFFSET DEST
|
||||
DEC BC ; REDUCE LEN BY ONE
|
||||
LDIR ; USE LDIR TO FILL
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nStarting INIT routine at 0x8000$"
|
||||
#ENDIF
|
||||
;
|
||||
CALL INIT ; PERFORM COLD BOOD ROUTINE
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nResetting CP/M...$"
|
||||
#ENDIF
|
||||
CALL RESCPM ; RESET CPM
|
||||
;
|
||||
#IF AUTOSUBMIT
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nPerforming Auto Submit...$"
|
||||
#ENDIF
|
||||
CALL AUTOSUB ; PREP AUTO SUBMIT, IF APPROPRIATE
|
||||
#ENDIF
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nLaunching CP/M...$"
|
||||
#ENDIF
|
||||
;
|
||||
JR GOCPM ; THEN OFF TO CP/M WE GO...
|
||||
;
|
||||
@@ -361,6 +432,8 @@ WBOOT:
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF PLTUNA
|
||||
LD SP,STACK ; STACK FOR INITIALIZATION
|
||||
|
||||
; RESTORE COMMAND PROCESSOR FROM UNA BIOS CACHE
|
||||
LD BC,$01FB ; UNA FUNC = SET BANK
|
||||
LD DE,(BNKBIOS) ; UBIOS_PAGE (SEE PAGES.INC)
|
||||
@@ -444,6 +517,12 @@ GOCPM:
|
||||
CURDSK:
|
||||
LD A,(CDISK) ; GET CURRENT USER/DISK
|
||||
GOCCP:
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nTransfer to CCP...$"
|
||||
#ENDIF
|
||||
;
|
||||
LD C,A ; SETUP C WITH CURRENT USER/DISK, ASSUME IT IS OK
|
||||
JP CCP_LOC ; JUMP TO COMMAND PROCESSOR
|
||||
;
|
||||
@@ -1549,6 +1628,7 @@ LBA_IO:
|
||||
;
|
||||
DSK_IO2:
|
||||
PUSH BC ; SAVE INCOMING FUNCTION, UNIT
|
||||
RES 7,D ; CLEAR LBA BIT FOR UNA
|
||||
LD B,C ; UNIT TO B
|
||||
LD C,$41 ; UNA SET LBA
|
||||
RST 08 ; CALL UNA
|
||||
@@ -1680,6 +1760,12 @@ SLICE .DB 0 ; CURRENT SLICE
|
||||
SPS .DW 0 ; SECTORS PER SLICE
|
||||
STKSAV .DW 0 ; TEMP SAVED STACK POINTER
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
#IF QPMTIMDAT
|
||||
CLKDAT .FILL 7,0 ; RTC CLOCK DATA BUFFER
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
BNKBIOS .DB 0 ; BIOS BANK ID
|
||||
BNKUSER .DB 0 ; USER BANK ID
|
||||
@@ -2011,7 +2097,13 @@ BUFPOOL .EQU $ ; START OF BUFFER POOL
|
||||
HEAPEND .EQU CBIOS_END - 64 ; TOP OF HEAP MEM, END OF CBIOS LESS 32 ENTRY STACK
|
||||
;
|
||||
INIT:
|
||||
DI ; NO INTERRUPTS FOR NOW
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nStarting INIT....$"
|
||||
#ENDIF
|
||||
;
|
||||
;DI ; NO INTERRUPTS FOR NOW
|
||||
|
||||
; ADJUST BOOT VECTOR TO REBOOT ROUTINE
|
||||
LD HL,REBOOT ; GET REBOOT ADDRESS
|
||||
@@ -2068,12 +2160,21 @@ INIT:
|
||||
LD (BNKBIOS),A ; ... AND SAVE IT
|
||||
LD A,E ; GET USER BANK RETURNED IN E
|
||||
LD (BNKUSER),A ; ... AND SAVE IT
|
||||
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nReseting HBIOS....$"
|
||||
#ENDIF
|
||||
;
|
||||
; SOFT RESET HBIOS
|
||||
LD B,BF_SYSRESET ; HB FUNC: RESET
|
||||
LD C,BF_SYSRES_INT ; WARM START
|
||||
RST 08 ; DO IT
|
||||
|
||||
;
|
||||
#IF DEBUG
|
||||
CALL PRTSTRD
|
||||
.DB "\r\nCopying HCB....$"
|
||||
#ENDIF
|
||||
; CREATE A TEMP COPY OF THE HBIOS CONFIG BLOCK (HCB)
|
||||
; FOR REFERENCE USE DURING INIT
|
||||
LD B,BF_SYSSETCPY ; HBIOS FUNC: SETUP BANK COPY
|
||||
@@ -2264,6 +2365,17 @@ INIT3:
|
||||
LD DE,STR_TPA2 ; AND TPA SUFFIX
|
||||
CALL WRITESTR
|
||||
CALL NEWLINE ; FORMATTING
|
||||
;
|
||||
; SETUP QP/M TIMDAT ROUTINE VECTOR IN ZERO PAGE AT 0x0010
|
||||
;
|
||||
#IFDEF PLTWBW
|
||||
#IF QPMTIMDAT
|
||||
LD A,$C3 ; JP INSTRUCTION
|
||||
LD ($0010),A ; STORE AT 0x0008
|
||||
LD HL,TIMDAT ; ROUTINE ADDRESS
|
||||
LD ($0011),HL ; SET VECTOR
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
RET ; DONE
|
||||
;
|
||||
@@ -2275,6 +2387,9 @@ ERR_BIOMEM:
|
||||
;
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
;
|
||||
#IF AUTOSUBMIT
|
||||
;
|
||||
AUTOSUB:
|
||||
;
|
||||
; SETUP AUTO SUBMIT COMMAND (IF REQUIRED FILES EXIST)
|
||||
@@ -2306,6 +2421,8 @@ AUTOSUB:
|
||||
LDIR ; PATCH COMMAND LINE INTO CCP
|
||||
RET ; DONE
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
;
|
||||
;__________________________________________________________________________________________________
|
||||
DEV_INIT:
|
||||
|
||||
@@ -2,8 +2,11 @@
|
||||
; CBIOS BUILD CONFIGURATION OPTIONS
|
||||
;
|
||||
CLRRAMDISK .EQU CLR_AUTO ; CLR_ALWAYS, CLR_NEVER, CLR_AUTO (CLEAR IF INVALID DIR AREA)
|
||||
AUTOSUBMIT .EQU TRUE ; PROCESS PROFILE.SUB AT STARTUP
|
||||
QPMTIMDAT .EQU TRUE ; SUPPORT QP/M TIMDAT ROUTINE
|
||||
WRTCACHE .EQU TRUE ; ENABLE WRITE CACHING IN CBIOS (DE)BLOCKING ALGORITHM
|
||||
DSKTRACE .EQU FALSE ; ENABLE TRACING OF CBIOS DISK FUNCTION CALLS
|
||||
DEBUG .EQU FALSE ; MISCELLANEOUS DEBUG TRACING
|
||||
;
|
||||
CPM_LOC .EQU $D000 ; LOCATION OF START OF CCP
|
||||
;
|
||||
|
||||
@@ -105,14 +105,61 @@ WRITESTR2:
|
||||
POP AF
|
||||
RET
|
||||
;
|
||||
#IF DEBUG
|
||||
;
|
||||
; PRINT A STRING AT ADDRESS SPECIFIED IN HL
|
||||
; STRING MUST BE TERMINATED BY '$'
|
||||
; USAGE:
|
||||
; LD HL,MYSTR
|
||||
; CALL PRTSTR
|
||||
; ...
|
||||
; MYSTR: .DB "HELLO$"
|
||||
;
|
||||
TSTPT:
|
||||
PUSH DE
|
||||
LD DE,STR_TSTPT
|
||||
CALL WRITESTR
|
||||
POP DE
|
||||
JR REGDMP ; DUMP REGISTERS AND RETURN
|
||||
PRTSTR:
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
CP '$'
|
||||
RET Z
|
||||
CALL COUT
|
||||
JR PRTSTR
|
||||
;
|
||||
; PRINT A STRING DIRECT: REFERENCED BY POINTER AT TOP OF STACK
|
||||
; STRING MUST BE TERMINATED BY '$'
|
||||
; USAGE:
|
||||
; CALL PRTSTRD
|
||||
; .DB "HELLO$"
|
||||
; ...
|
||||
;
|
||||
PRTSTRD:
|
||||
EX (SP),HL
|
||||
PUSH AF
|
||||
CALL PRTSTR
|
||||
POP AF
|
||||
EX (SP),HL
|
||||
RET
|
||||
;
|
||||
; PRINT A STRING INDIRECT: REFERENCED BY INDIRECT POINTER AT TOP OF STACK
|
||||
; STRING MUST BE TERMINATED BY '$'
|
||||
; USAGE:
|
||||
; CALL PRTSTRI(MYSTRING)
|
||||
; MYSTRING .DB "HELLO$"
|
||||
;
|
||||
PRTSTRI:
|
||||
EX (SP),HL
|
||||
PUSH AF
|
||||
LD A,(HL)
|
||||
INC HL
|
||||
PUSH HL
|
||||
LD H,(HL)
|
||||
LD L,A
|
||||
CALL PRTSTR
|
||||
POP HL
|
||||
INC HL
|
||||
POP AF
|
||||
EX (SP),HL
|
||||
RET
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
; PANIC: TRY TO DUMP MACHINE STATE
|
||||
;
|
||||
@@ -413,7 +460,52 @@ HEXCONV:
|
||||
DAA
|
||||
ADC A,40H
|
||||
DAA
|
||||
RET
|
||||
RET
|
||||
;
|
||||
;****************************
|
||||
; A(BCD) => A(BIN)
|
||||
; [00H..99H] -> [0..99]
|
||||
;****************************
|
||||
;
|
||||
BCD2BYTE:
|
||||
PUSH BC
|
||||
LD C,A
|
||||
AND 0F0H
|
||||
SRL A
|
||||
LD B,A
|
||||
SRL A
|
||||
SRL A
|
||||
ADD A,B
|
||||
LD B,A
|
||||
LD A,C
|
||||
AND 0FH
|
||||
ADD A,B
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
;*****************************
|
||||
; A(BIN) => A(BCD)
|
||||
; [0..99] => [00H..99H]
|
||||
;*****************************
|
||||
;
|
||||
BYTE2BCD:
|
||||
PUSH BC
|
||||
LD B,10
|
||||
LD C,-1
|
||||
BYTE2BCD1:
|
||||
INC C
|
||||
SUB B
|
||||
JR NC,BYTE2BCD1
|
||||
ADD A,B
|
||||
LD B,A
|
||||
LD A,C
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
ADD A,A
|
||||
OR B
|
||||
POP BC
|
||||
RET
|
||||
;
|
||||
; PRINT A BYTE BUFFER IN HEX POINTED TO BY DE
|
||||
; REGISTER A HAS SIZE OF BUFFER
|
||||
|
||||
@@ -13,6 +13,7 @@ OTHERS = cpmldr.rel biosldr.rel cpm3res.sys cpm3bnk.sys loader.bin cpmldr.bin
|
||||
OTHERS += biosldrc.rel biosldrd.rel
|
||||
NODELETE = ccp.com gencpm.com genres.dat genbnk.dat bdos3.spr bnkbdos3.spr resbdos3.spr
|
||||
NODELETE += readme.1st cpm3fix.pat
|
||||
NODIFF = zpmbios3
|
||||
|
||||
DEST = ../../Binary/CPM3
|
||||
TOOLS = ../../Tools
|
||||
|
||||
@@ -223,6 +223,18 @@ initialization routine. At this point, the prior HBIOS code has been
|
||||
discarded and overwritten. Finally, the Boot Loader is invoked just like
|
||||
a ROM Boot.
|
||||
|
||||
ROM-less Boot
|
||||
-------------
|
||||
|
||||
Some hardware supported by RomWBW has a special mechanism for loading
|
||||
the initial code. These systems have no ROM chips. However, they
|
||||
have a small hardware bootstrap that loads a chunk of code from a
|
||||
disk device directlly into RAM at system startup.
|
||||
|
||||
The startup then proceeds very much like the Application Boot
|
||||
process described above. HBIOS is installed in it's operating bank
|
||||
and control is passed to the loader.
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
@@ -1387,7 +1399,7 @@ If the driver is able to generate the requested note, a success (0) is
|
||||
returned, otherwise a non-zero error state will be returned.
|
||||
|
||||
The sound chip resolution and its oscillator limit the range and
|
||||
accuracy of the notes played. The typically range of the AY-3-8910
|
||||
accuracy of the notes played. The typical range of the AY-3-8910
|
||||
is six octaves, Bb2/A#2-A7, where each value is a unique tone. Values
|
||||
above and below can still be played but each quarter tone step may not
|
||||
result in a note change.
|
||||
@@ -1397,18 +1409,18 @@ to the corresponding octave and note.
|
||||
|
||||
| Note | Oct 0 | Oct 1 | Oct 2 | Oct 3 | Oct 4 | Oct 5 | Oct 6 | Oct 7 |
|
||||
|:----- | -----:| -----:| -----:| -----:| -----:| -----:| -----:| -----:|
|
||||
| Bb/A# | 0 | 48 | 96 | 144 | 192 | 240 | 288 | 336 |
|
||||
| C | X | 8 | 56 | 104 | 152 | 200 | 248 | 296 |
|
||||
| C#/Db | X | 12 | 60 | 108 | 156 | 204 | 252 | 300 |
|
||||
| D | X | 16 | 64 | 112 | 160 | 208 | 256 | 304 |
|
||||
| D#/Eb | X | 20 | 68 | 116 | 164 | 212 | 260 | 308 |
|
||||
| E | X | 24 | 72 | 120 | 168 | 216 | 264 | 312 |
|
||||
| F | X | 28 | 76 | 124 | 172 | 220 | 268 | 316 |
|
||||
| F#/Gb | X | 32 | 80 | 128 | 176 | 224 | 272 | 320 |
|
||||
| G | X | 36 | 84 | 132 | 180 | 228 | 276 | 324 |
|
||||
| G#/Ab | X | 40 | 88 | 136 | 184 | 232 | 280 | 328 |
|
||||
| A | X | 44 | 92 | 140 | 188 | 236 | 284 | 332 |
|
||||
| A#/Bb | 0 | 48 | 96 | 144 | 192 | 240 | 288 | 336 |
|
||||
| B | 4 | 52 | 100 | 148 | 196 | 244 | 292 | 340 |
|
||||
| C | 8 | 56 | 104 | 152 | 200 | 248 | 296 | 344 |
|
||||
| C#/Db | 12 | 60 | 108 | 156 | 204 | 252 | 300 | 348 |
|
||||
| D | 16 | 64 | 112 | 160 | 208 | 256 | 304 | 352 |
|
||||
| Eb/D# | 20 | 68 | 116 | 164 | 212 | 260 | 308 | 356 |
|
||||
| E | 24 | 72 | 120 | 168 | 216 | 264 | 312 | 360 |
|
||||
| F | 28 | 76 | 124 | 172 | 220 | 268 | 316 | 364 |
|
||||
| F#/Gb | 32 | 80 | 128 | 176 | 224 | 272 | 320 | 368 |
|
||||
| G | 36 | 84 | 132 | 180 | 228 | 276 | 324 | 372 |
|
||||
| Ab/G# | 40 | 88 | 136 | 184 | 232 | 280 | 328 | 376 |
|
||||
| A | 44 | 92 | 140 | 188 | 236 | 284 | 332 | 380 |
|
||||
|
||||
### Function 0x54 -- Sound Play (SNDPLAY)
|
||||
|
||||
|
||||
@@ -1,15 +1,36 @@
|
||||
Font files for ROMWBW.
|
||||
|
||||
There are three fonts associated with ROMWBW supported hardware - ECB-SCG, ECB-CVDU and the ECB-VGA3.
|
||||
8x8: 8x8 cell, mostly IBM CGA, first 16 differ, thin font
|
||||
8x11: 8x11 cell, possibly VT-100?
|
||||
8x16: 8x16 cell, IBM MDA
|
||||
CGA: 8x16 cell, IBM CGA, normal (thick) CGA font, rows 8-15 are unused padding
|
||||
|
||||
Name Format Size Board & Display Mode
|
||||
------------------------------------------------------------------------------------
|
||||
font8x8u.bin 8x8 2048 ECB-SCG, ECB-VGA3 (80x60)
|
||||
font8x11u.bin 8x11 2816 ECB-VGA3 (80x43)
|
||||
font8x16u.bin 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30), MBC-VDC
|
||||
fontcgau.bin 8x8 4096 ECB-CVDU (80x25), MBC-VDC
|
||||
There are multiple fonts associated with ROMWBW supported hardware:
|
||||
|
||||
For inclusion in HBIOS the .bin format files must be convert to assembler .asm format.
|
||||
Board Driver Chip
|
||||
-------- -------- --------
|
||||
ECB-SCG tms.asm 9918
|
||||
ECB-VDU vdu.asm 6545
|
||||
ECB-CVDU cvdu.asm 8563
|
||||
ECB-VGA3 vga.asm 6445
|
||||
MBC-VDC cvdu.asm 8568
|
||||
MBC-VDP tms.asm 9938/9958
|
||||
|
||||
Name Font Storage Size Board & Display Mode
|
||||
--------------------------------------------------------------------------------------------
|
||||
font8x8u.bin 6x8 8x8 2048 ECB-SCG, ECB-VGA3 (80x60), MBC-VDP
|
||||
font8x11u.bin 8x11 8x11 2816 ECB-VGA3 (80x43)
|
||||
font8x16u.bin 8x14 8x16 4096 ECB-CVDU (80x25), ECB-VGA3 (80x24, 80x25, 80x30), MBC-VDC
|
||||
fontcgau.bin 8x8 8x16 4096 ECB-CVDU (80x25), MBC-VDC
|
||||
|
||||
Notes:
|
||||
|
||||
- The CGA font is roughly equivalent to the 8x8 font, but padded out to 8x16. Scan lines
|
||||
8-15 are unused. The CVDU driver (8563 chip) always uses fonts defined in an 8x16 cell.
|
||||
When the CVDU is configured for use with a CGA monitor, an 8x8 character cell is used,
|
||||
but the font definition must still be 8x16. The CGA font is used for this.
|
||||
|
||||
For inclusion in HBIOS the .bin format files must be converted to assembler .asm format.
|
||||
This is acheived using the fonttool utility and is completed automatically as part of the build process.
|
||||
i.e. fonts files are converted to .asm format and then copied to the HBIOS directory.
|
||||
|
||||
|
||||
@@ -211,5 +211,6 @@ call Build EZZ80 std 512 || exit /b
|
||||
call Build EZZ80 tz80 512 || exit /b
|
||||
call Build DYNO std 512 || exit /b
|
||||
call Build UNA std 512 || exit /b
|
||||
call Build RPH std 512 || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -28,7 +28,7 @@ $ErrorAction = 'Stop'
|
||||
#
|
||||
|
||||
$PlatformListZ80 = "SBC", "MBC", "ZETA", "ZETA2", "RCZ80", "EZZ80", "UNA"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO"
|
||||
$PlatformListZ180 = "N8", "MK4", "RCZ180", "SCZ180", "DYNO", "RPH"
|
||||
$PlatformListZ280 = "RCZ280"
|
||||
|
||||
#
|
||||
|
||||
@@ -27,6 +27,7 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="skz"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_ram"; ROMSIZE="0"; bash Build.sh
|
||||
ROM_PLATFORM="RPH"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="simh"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="MBC"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
@@ -40,16 +41,6 @@ if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
exit
|
||||
fi
|
||||
|
||||
###if [ $1 == '-d' ] ; then
|
||||
### shift
|
||||
### diffdir=$1
|
||||
### shift
|
||||
### if [ -f $diffdir/build.inc ] ; then
|
||||
### timestamp=$(grep TIMESTAMP $diffdir/build.inc | awk '{print $3}' | tr -d '\015"')
|
||||
### echo diff build using $timestamp
|
||||
### fi
|
||||
###fi
|
||||
|
||||
# prompt if no match
|
||||
platforms=($(find Config -name \*.asm -print | \
|
||||
sed -e 's,Config/,,' -e 's/_.*$//' | sort -u))
|
||||
@@ -83,6 +74,16 @@ fi
|
||||
|
||||
TIMESTAMP=$(date +%Y-%m-%d)
|
||||
|
||||
if [ "$1" = "-d" ] ; then
|
||||
shift
|
||||
diffdir=$1
|
||||
shift
|
||||
if [ -f $diffdir/build.inc ] ; then
|
||||
timestamp=$(grep TIMESTAMP $diffdir/build.inc | awk '{print $3}' | tr -d '\015"')
|
||||
echo diff build using $timestamp
|
||||
fi
|
||||
fi
|
||||
|
||||
CONFIGFILE=Config/${ROM_PLATFORM}_${ROM_CONFIG}.asm
|
||||
|
||||
echo Building $ROMNAME for $ROM_PLATFORM $ROM_CONFIG $ROMSIZE
|
||||
|
||||
41
Source/HBIOS/Config/RPH_std.asm
Normal file
41
Source/HBIOS/Config/RPH_std.asm
Normal file
@@ -0,0 +1,41 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; RHYOPHYRE STANDARD CONFIGURATION
|
||||
;==================================================================================================
|
||||
;
|
||||
; THE COMPLETE SET OF DEFAULT CONFIGURATION SETTINGS FOR THIS PLATFORM ARE FOUND IN THE
|
||||
; CFG_<PLT>.ASM INCLUDED FILE WHICH IS FOUND IN THE PARENT DIRECTORY. THIS FILE CONTAINS
|
||||
; COMMON CONFIGURATION SETTINGS THAT OVERRIDE THE DEFAULTS. IT IS INTENDED THAT YOU MAKE
|
||||
; YOUR CUSTOMIZATIONS IN THIS FILE AND JUST INHERIT ALL OTHER SETTINGS FROM THE DEFAULTS.
|
||||
; EVEN BETTER, YOU CAN MAKE A COPY OF THIS FILE WITH A NAME LIKE <PLT>_XXX.ASM AND SPECIFY
|
||||
; YOUR FILE IN THE BUILD PROCESS.
|
||||
;
|
||||
; THE SETTINGS BELOW ARE THE SETTINGS THAT ARE MOST COMMONLY MODIFIED FOR THIS PLATFORM.
|
||||
; MANY OF THEM ARE EQUAL TO THE SETTINGS IN THE INCLUDED FILE, SO THEY DON'T REALLY DO
|
||||
; ANYTHING AS IS. THEY ARE LISTED HERE TO MAKE IT EASY FOR YOU TO ADJUST THE MOST COMMON
|
||||
; SETTINGS.
|
||||
;
|
||||
; N.B., SINCE THE SETTINGS BELOW ARE REDEFINING VALUES ALREADY SET IN THE INCLUDED FILE,
|
||||
; TASM INSISTS THAT YOU USE THE .SET OPERATOR AND NOT THE .EQU OPERATOR BELOW. ATTEMPTING
|
||||
; TO REDEFINE A VALUE WITH .EQU BELOW WILL CAUSE TASM ERRORS!
|
||||
;
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_rph.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
INTMODE .SET 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
Z180_CLKDIV .SET 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .SET 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .SET 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
;
|
||||
RAMSIZE .SET 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
;
|
||||
PPIDEENABLE .SET TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
@@ -1,8 +1,7 @@
|
||||
|
||||
MOREDIFF = camel80.bin game.bin hbios_rom.bin nascom.bin prefix.bin usrrom.bin \
|
||||
MOREDIFF = game.bin hbios_rom.bin nascom.bin usrrom.bin \
|
||||
dbgmon.bin hbios_app.bin imgpad2.bin osimg1.bin osimg2.bin romldr.bin \
|
||||
eastaegg.bin hbios_img.bin osimg.bin tastybasic.bin \
|
||||
game.bin updater.bin usrrom.bin
|
||||
eastaegg.bin hbios_img.bin osimg.bin game.bin updater.bin usrrom.bin
|
||||
|
||||
SUBDIRS =
|
||||
DEST = ../../Binary
|
||||
@@ -12,7 +11,7 @@ include $(TOOLS)/Makefile.inc
|
||||
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
|
||||
|
||||
ifneq ($(findstring $(ROM_PLATFORM), N8 MK4 RCZ180 SCZ180 DYNO),)
|
||||
ifneq ($(findstring $(ROM_PLATFORM), N8 MK4 RCZ180 SCZ180 DYNO RPH),)
|
||||
TASM=$(BINDIR)/uz80as -t hd64180
|
||||
endif
|
||||
|
||||
@@ -20,11 +19,13 @@ ifneq ($(findstring $(ROM_PLATFORM), RCZ280),)
|
||||
TASM=$(BINDIR)/uz80as -t z280
|
||||
endif
|
||||
|
||||
# DIFFMAKE = 1
|
||||
|
||||
ifeq ($(DIFFMAKE),1)
|
||||
DIFFBUILD := -d $(DIFFTO)/Source/HBIOS
|
||||
endif
|
||||
|
||||
DIFFPATH = $(DIFFTO)/Binary
|
||||
# DIFFPATH = $(DIFFTO)/Binary
|
||||
|
||||
DEPS=prereq dbgmon.bin romldr.bin nascom.bin tastybasic.bin game.bin eastaegg.bin updater.bin usrrom.bin imgpad2.bin
|
||||
|
||||
@@ -47,10 +48,10 @@ ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
||||
all::
|
||||
if [ -z "$(OBJECTS)" ] ; then \
|
||||
chmod +x Build.sh ; \
|
||||
bash Build.sh ; \
|
||||
bash Build.sh $(DIFFBUILD) ; \
|
||||
fi
|
||||
|
||||
$(ROMNAME).rom $(ROMNAME).com $(ROMNAME).img &: $(ROMDEPS)
|
||||
$(ROMNAME).rom $(ROMNAME).com $(ROMNAME).img : $(ROMDEPS)
|
||||
cat romldr.bin dbgmon.bin ../ZSDOS/zsys_$(BIOS).bin ../CPM22/cpm_$(BIOS).bin >osimg.bin
|
||||
cat romldr.bin dbgmon.bin ../ZSDOS/zsys_$(BIOS).bin >osimg_small.bin
|
||||
if [ $(ROM_PLATFORM) != UNA ] ; then \
|
||||
|
||||
@@ -280,6 +280,8 @@ ANSI_STSTR: ; STATE == STRING DATA
|
||||
;==================================================================================================
|
||||
;
|
||||
ANSI_C0DISP:
|
||||
CP $07 ; BEL
|
||||
JP Z,ANSI_BEL
|
||||
CP $08 ; BS: BACKSPACE
|
||||
JP Z,ANSI_BS
|
||||
CP $09 ; HT: TAB
|
||||
@@ -615,6 +617,9 @@ ANSI_FF:
|
||||
CALL ANSI_VDADISP ; PERFORM FILL
|
||||
JP ANSI_XY ; HOME CURSOR AND RETURN
|
||||
;
|
||||
ANSI_BEL:
|
||||
JP SND_BEEP ; BEEP THE SPEAKER
|
||||
;
|
||||
ANSI_BS:
|
||||
LD A,(ANSI_COL) ; GET CURRENT COLUMN
|
||||
DEC A ; BACK IT UP BY ONE
|
||||
|
||||
@@ -75,10 +75,14 @@ ASCI1_BASE .EQU Z180_BASE + 1 ; RELATIVE TO Z180 INTERNAL IO PORTS
|
||||
;
|
||||
ASCI_RTS .EQU %00010000 ; ~RTS BIT OF CNTLA REG
|
||||
;
|
||||
#IF (INTMODE == 2)
|
||||
#IF (ASCIINTS)
|
||||
;
|
||||
#IF (INTMODE == 2)
|
||||
;
|
||||
ASCI0_IVT .EQU IVT(INT_SER0)
|
||||
ASCI1_IVT .EQU IVT(INT_SER1)
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
@@ -115,25 +119,29 @@ ASCI_PREINIT2:
|
||||
ADD IY,DE ; BUMP IY TO NEXT ENTRY
|
||||
DJNZ ASCI_PREINIT0 ; LOOP UNTIL DONE
|
||||
;
|
||||
#IF (INTMODE >= 1)
|
||||
#IF (ASCIINTS)
|
||||
;
|
||||
#IF (INTMODE >= 1)
|
||||
; SETUP INT VECTORS AS APPROPRIATE
|
||||
LD A,(ASCI_DEV) ; GET DEVICE COUNT
|
||||
OR A ; SET FLAGS
|
||||
JR Z,ASCI_PREINIT3 ; IF ZERO, NO ASCI DEVICES, ABORT
|
||||
;
|
||||
#IF (INTMODE == 1)
|
||||
#IF (INTMODE == 1)
|
||||
; ADD IM1 INT CALL LIST ENTRY
|
||||
LD HL,ASCI_INT ; GET INT VECTOR
|
||||
CALL HB_ADDIM1 ; ADD TO IM1 CALL LIST
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
#IF (INTMODE == 2)
|
||||
#IF (INTMODE == 2)
|
||||
; SETUP IM2 VECTORS
|
||||
LD HL,ASCI_INT0
|
||||
LD (ASCI0_IVT),HL ; IVT INDEX
|
||||
LD HL,ASCI_INT1
|
||||
LD (ASCI1_IVT),HL ; IVT INDEX
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
@@ -188,7 +196,9 @@ ASCI_INIT1:
|
||||
;
|
||||
; RECEIVE INTERRUPT HANDLER
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
#IF (ASCIINTS)
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
;
|
||||
; IM1 ENTRY POINT
|
||||
;
|
||||
@@ -232,10 +242,10 @@ ASCI_INTRCV1:
|
||||
ADD A,8 ; BUMP TO RDR PORT
|
||||
LD C,A ; PUT IN C, B IS STILL ZERO
|
||||
IN A,(C) ; READ PORT
|
||||
#IF (ASCIBOOT != 0)
|
||||
#IF (ASCIBOOT != 0)
|
||||
CP ASCIBOOT ; REBOOT REQUEST?
|
||||
JP Z,SYS_RESCOLD ; IF SO, DO IT, NO RETURN
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
LD B,A ; SAVE BYTE READ
|
||||
LD L,(IY+6) ; SET HL TO
|
||||
LD H,(IY+7) ; ... START OF BUFFER STRUCT
|
||||
@@ -292,6 +302,8 @@ ASCI_INTRCV3:
|
||||
ASCI_INTRCV4:
|
||||
OR $FF ; NZ SET TO INDICATE INT HANDLED
|
||||
RET ; AND RETURN
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
@@ -309,7 +321,7 @@ ASCI_FNTBL:
|
||||
.ECHO "*** INVALID ASCI FUNCTION TABLE ***\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF ((!ASCIINTS) | (INTMODE == 0))
|
||||
;
|
||||
ASCI_IN:
|
||||
CALL ASCI_IST ; CHECK FOR CHAR READY
|
||||
@@ -395,7 +407,7 @@ ASCI_OUT:
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF ((!ASCIINTS) | (INTMODE == 0))
|
||||
;
|
||||
ASCI_IST:
|
||||
CALL ASCI_ICHK ; ASCI INPUT CHECK
|
||||
@@ -522,7 +534,7 @@ ASCI_INITGO:
|
||||
OUT (C),L ; WRITE CNTLB VALUE
|
||||
INC C ; BUMP TO
|
||||
INC C ; ... STAT REG, B IS STILL 0
|
||||
#IF (INTMODE > 0)
|
||||
#IF ((ASCIINTS) & (INTMODE > 0))
|
||||
LD A,$08 ; SET RIE BIT ON
|
||||
#ELSE
|
||||
XOR A ; CLEAR RIE/TIE
|
||||
@@ -534,7 +546,7 @@ ASCI_INITGO:
|
||||
LD A,$66 ; STATIC VALUE FOR ASEXT
|
||||
OUT (C),A ; WRITE ASEXT REG
|
||||
;
|
||||
#IF (INTMODE > 0)
|
||||
#IF ((ASCIINTS) & (INTMODE > 0))
|
||||
;
|
||||
; RESET THE RECEIVE BUFFER
|
||||
LD E,(IY+6)
|
||||
@@ -609,6 +621,24 @@ ASCI_DETECT:
|
||||
; DUE TO ENCODING BAUD IS ALWAYS DIVISIBLE BY 75
|
||||
; Z180 DIVISOR IS ALWAYS A FACTOR OF 160
|
||||
;
|
||||
; CNTLB= XXPXDSSS
|
||||
; FAILSAVE = 00100000
|
||||
;
|
||||
; PS (PRESCALE): 0=/10, 1=/30
|
||||
; DR (DIVIDE RATIO): 0=/16, 1=/64
|
||||
; SS2 SS1 SS0
|
||||
; --- --- ---
|
||||
; 0 0 0 /1
|
||||
; 0 0 1 /2
|
||||
; 0 1 0 /4
|
||||
; 0 1 1 /8
|
||||
; 1 0 0 /16
|
||||
; 1 0 1 /32
|
||||
; 1 1 0 /64
|
||||
;
|
||||
; FAILSAFE: CLOCK / 30 / 16 / 1 = CLOCK / 480
|
||||
; IF CLOCK=18432000, BAUD=38400
|
||||
;
|
||||
; X := CPU_HZ / 160 / 75 ==> SIMPLIFIED ==> X := CPU_KHZ / 12
|
||||
; X := X / (BAUD / 75)
|
||||
; IF X % 3 == 0, THEN (PS := 1, X := X / 3) ELSE PS=0
|
||||
@@ -769,7 +799,7 @@ ASCI_STR_ASCIB .DB "ASCI W/BRG$"
|
||||
;
|
||||
ASCI_DEV .DB 0 ; DEVICE NUM USED DURING INIT
|
||||
;
|
||||
#IF (INTMODE == 0)
|
||||
#IF ((!ASCIINTS) | (INTMODE == 0))
|
||||
;
|
||||
ASCI0_RCVBUF .EQU 0
|
||||
ASCI1_RCVBUF .EQU 0
|
||||
|
||||
@@ -327,7 +327,8 @@ AY_NOTE:
|
||||
LD H, (HL) ; SO WE CAN UPDATE IT FOR THE REQUIRED OCTAVE
|
||||
LD L, A
|
||||
;
|
||||
LD A,AY_SCALE-1 ; THE NOTE TABLE PERIOD DATA HAS BEEN
|
||||
;LD A,AY_SCALE - 1 ; THE NOTE TABLE PERIOD DATA HAS BEEN
|
||||
LD A,AY_SCALE ; THE NOTE TABLE PERIOD DATA HAS BEEN
|
||||
ADD A,C ; PRESCALED TO MAINTAIN RANGE SO ALLOW
|
||||
LD B,A ; FOR THIS WHEN CHANGING OCTAVE
|
||||
AY_NOTE1:
|
||||
@@ -534,7 +535,7 @@ AY_EI:
|
||||
AY_WRTPSG:
|
||||
CALL AY_DI
|
||||
#IFDEF SBCV2004
|
||||
LD A,(RTCVAL) ; GET CURRENT RTC LATCH VALUE
|
||||
LD A,(HB_RTCVAL) ; GET CURRENT RTC LATCH VALUE
|
||||
OR %00001000 ; SBC-V2-004 CHANGE
|
||||
OUT (RTCIO),A ; TO HALF CLOCK SPEED
|
||||
#ENDIF
|
||||
@@ -553,7 +554,7 @@ AY_WRTPSG:
|
||||
OUT0 (Z180_DCNTL),A ; AND RESTORE IT
|
||||
#ENDIF
|
||||
#IFDEF SBCV2004
|
||||
LD A,(RTCVAL) ; SBC-V2-004 CHANGE TO
|
||||
LD A,(HB_RTCVAL) ; SBC-V2-004 CHANGE TO
|
||||
OUT (RTCIO),A ; NORMAL CLOCK SPEED
|
||||
#ENDIF
|
||||
JP AY_EI
|
||||
@@ -565,7 +566,7 @@ AY_WRTPSG:
|
||||
AY_RDPSG:
|
||||
CALL AY_DI
|
||||
#IFDEF SBCV2004
|
||||
LD A,(RTCVAL) ; GET CURRENT RTC LATCH VALUE
|
||||
LD A,(HB_RTCVAL) ; GET CURRENT RTC LATCH VALUE
|
||||
OR %00001000 ; SBC-V2-004 CHANGE
|
||||
OUT (RTCIO),A ; TO HALF CLOCK SPEED
|
||||
#ENDIF
|
||||
@@ -584,7 +585,7 @@ AY_RDPSG:
|
||||
OUT0 (Z180_DCNTL),A ; AND RESTORE IT
|
||||
#ENDIF
|
||||
#IFDEF SBCV2004
|
||||
LD A,(RTCVAL) ; SBC-V2-004 CHANGE TO
|
||||
LD A,(HB_RTCVAL) ; SBC-V2-004 CHANGE TO
|
||||
OUT (RTCIO),A ; NORMAL CLOCK SPEED
|
||||
#ENDIF
|
||||
JP AY_EI
|
||||
@@ -617,51 +618,51 @@ AYT_REGWR .DB "\r\nOUT AY-3-8910 $"
|
||||
; ASSUMING A CLOCK OF 1843200 THIS MAPS TO A0#
|
||||
;
|
||||
AY3NOTETBL:
|
||||
.DW AY_RATIO / 2913
|
||||
.DW AY_RATIO / 2956
|
||||
.DW AY_RATIO / 2999
|
||||
.DW AY_RATIO / 3042
|
||||
.DW AY_RATIO / 3086
|
||||
.DW AY_RATIO / 3131
|
||||
.DW AY_RATIO / 3177
|
||||
.DW AY_RATIO / 3223
|
||||
.DW AY_RATIO / 3270
|
||||
.DW AY_RATIO / 3318
|
||||
.DW AY_RATIO / 3366
|
||||
.DW AY_RATIO / 3415
|
||||
.DW AY_RATIO / 3464
|
||||
.DW AY_RATIO / 3515
|
||||
.DW AY_RATIO / 3566
|
||||
.DW AY_RATIO / 3618
|
||||
.DW AY_RATIO / 3670
|
||||
.DW AY_RATIO / 3724
|
||||
.DW AY_RATIO / 3778
|
||||
.DW AY_RATIO / 3833
|
||||
.DW AY_RATIO / 3889
|
||||
.DW AY_RATIO / 3945
|
||||
.DW AY_RATIO / 4003
|
||||
.DW AY_RATIO / 4061
|
||||
.DW AY_RATIO / 4120
|
||||
.DW AY_RATIO / 4180
|
||||
.DW AY_RATIO / 4241
|
||||
.DW AY_RATIO / 4302
|
||||
.DW AY_RATIO / 4365
|
||||
.DW AY_RATIO / 4428
|
||||
.DW AY_RATIO / 4493
|
||||
.DW AY_RATIO / 4558
|
||||
.DW AY_RATIO / 4624
|
||||
.DW AY_RATIO / 4692
|
||||
.DW AY_RATIO / 4760
|
||||
.DW AY_RATIO / 4829
|
||||
.DW AY_RATIO / 4899
|
||||
.DW AY_RATIO / 4971
|
||||
.DW AY_RATIO / 5043
|
||||
.DW AY_RATIO / 5116
|
||||
.DW AY_RATIO / 5191
|
||||
.DW AY_RATIO / 5266
|
||||
.DW AY_RATIO / 5343
|
||||
.DW AY_RATIO / 5421
|
||||
.DW AY_RATIO / 5499
|
||||
.DW AY_RATIO / 5579
|
||||
.DW AY_RATIO / 5661
|
||||
.DW AY_RATIO / 5743
|
||||
.DW AY_RATIO / 2913 ; A0#/B0b 178977250 / 2913 = 61440; PROOF: 61440 >> 3 = 7680, 3579545 / 7680 / 16 = 29.13
|
||||
.DW AY_RATIO / 2956 ;
|
||||
.DW AY_RATIO / 2999 ;
|
||||
.DW AY_RATIO / 3042 ;
|
||||
.DW AY_RATIO / 3086 ; B0
|
||||
.DW AY_RATIO / 3131 ;
|
||||
.DW AY_RATIO / 3177 ;
|
||||
.DW AY_RATIO / 3223 ;
|
||||
.DW AY_RATIO / 3270 ; C1
|
||||
.DW AY_RATIO / 3318 ;
|
||||
.DW AY_RATIO / 3366 ;
|
||||
.DW AY_RATIO / 3415 ;
|
||||
.DW AY_RATIO / 3464 ; C1#/D1b
|
||||
.DW AY_RATIO / 3515 ;
|
||||
.DW AY_RATIO / 3566 ;
|
||||
.DW AY_RATIO / 3618 ;
|
||||
.DW AY_RATIO / 3670 ; D1
|
||||
.DW AY_RATIO / 3724 ;
|
||||
.DW AY_RATIO / 3778 ;
|
||||
.DW AY_RATIO / 3833 ;
|
||||
.DW AY_RATIO / 3889 ; D1#/E1b
|
||||
.DW AY_RATIO / 3945 ;
|
||||
.DW AY_RATIO / 4003 ;
|
||||
.DW AY_RATIO / 4061 ;
|
||||
.DW AY_RATIO / 4120 ; E1
|
||||
.DW AY_RATIO / 4180 ;
|
||||
.DW AY_RATIO / 4241 ;
|
||||
.DW AY_RATIO / 4302 ;
|
||||
.DW AY_RATIO / 4365 ; F1
|
||||
.DW AY_RATIO / 4428 ;
|
||||
.DW AY_RATIO / 4493 ;
|
||||
.DW AY_RATIO / 4558 ;
|
||||
.DW AY_RATIO / 4624 ; F1#/G1b
|
||||
.DW AY_RATIO / 4692 ;
|
||||
.DW AY_RATIO / 4760 ;
|
||||
.DW AY_RATIO / 4829 ;
|
||||
.DW AY_RATIO / 4899 ; G1
|
||||
.DW AY_RATIO / 4971 ;
|
||||
.DW AY_RATIO / 5043 ;
|
||||
.DW AY_RATIO / 5116 ;
|
||||
.DW AY_RATIO / 5191 ; G1#/A1b
|
||||
.DW AY_RATIO / 5266 ;
|
||||
.DW AY_RATIO / 5343 ;
|
||||
.DW AY_RATIO / 5421 ;
|
||||
.DW AY_RATIO / 5499 ; A1
|
||||
.DW AY_RATIO / 5579 ;
|
||||
.DW AY_RATIO / 5661 ;
|
||||
.DW AY_RATIO / 5743 ;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_DYNO ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -100,6 +101,7 @@ DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -115,9 +117,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -181,6 +183,8 @@ HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_EZZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -153,9 +154,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -223,6 +224,11 @@ HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E4 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $E8 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -21,6 +21,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -30,7 +31,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_NONE ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -60,6 +61,11 @@ N8_ACR .EQU $94 ; N8: AUXILLARY CONTROL REGISTER (ACR) ADR
|
||||
N8_RMAP .EQU $96 ; N8: ROM PAGE REGISTER ADR
|
||||
N8_DEFACR .EQU $1B ; N8: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE)
|
||||
;
|
||||
RPH_PPI0 .EQU $88 ; RPH: FIRST PARALLEL PORT REGISTERS BASE ADR
|
||||
RPH_RTC .EQU $84 ; RPH: RTC LATCH REGISTER ADR
|
||||
RPH_ACR .EQU $80 ; RPH: AUXILLARY CONTROL REGISTER (ACR) ADR
|
||||
RPH_DEFACR .EQU $00 ; RPH: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE)
|
||||
;
|
||||
MK4_IDE .EQU $80 ; MK4: IDE REGISTERS BASE ADR
|
||||
MK4_XAR .EQU $88 ; MK4: EXTERNAL ADDRESS REGISTER (XAR) ADR
|
||||
MK4_SD .EQU $89 ; MK4: SD CARD CONTROL REGISTER ADR
|
||||
@@ -153,6 +159,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU FALSE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -205,9 +212,11 @@ VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
GDCMODE .EQU GDCMODE_RPH ; GDC: GDC MODE: GDCMODE_[NONE|ECB|RPH]
|
||||
GDCMON .EQU GDCMON_EGA ; GDC: GDC MONITOR SETUP: GDCMON_[NONE|CGA|EGA]
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
@@ -260,7 +269,7 @@ PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $44 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2BASE .EQU $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
@@ -291,6 +300,11 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_MBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_MBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_HILO ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_LOW ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_MBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_MBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
;
|
||||
@@ -141,9 +142,9 @@ VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU TRUE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_MBC ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_CGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_MBC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
@@ -197,7 +198,7 @@ PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $44 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2BASE .EQU $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
@@ -223,6 +224,11 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU TRUE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
@@ -238,9 +244,9 @@ AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4
|
||||
SNMODE .EQU SNMODE_NONE ; DRIVER MODE: SNMODE_[NONE|RC2014|VGM]
|
||||
;
|
||||
AY38910ENABLE .EQU FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4
|
||||
AYMODE .EQU AYMODE_NONE ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
AY38910ENABLE .EQU TRUE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU 3579545 / 2 ; DEFAULT TO CPUOSC / 4
|
||||
AYMODE .EQU AYMODE_MBC ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
;
|
||||
SPKENABLE .EQU TRUE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_MK4 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
@@ -122,6 +123,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -140,9 +142,9 @@ VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
@@ -189,7 +191,7 @@ IDE2B8BIT .EQU FALSE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
PPIDEENABLE .EQU FALSE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 2 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .EQU $44 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0BASE .EQU $14 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
@@ -224,6 +226,11 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_N8 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_N8 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMLOC .EQU 0 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
@@ -124,6 +125,7 @@ UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -142,9 +144,9 @@ VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU TRUE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
@@ -222,6 +224,8 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_RCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -125,6 +126,7 @@ UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -159,9 +161,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -238,6 +240,8 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ280 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_RCZ280 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z280 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -175,9 +176,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -254,6 +255,8 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_RCZ80 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -164,9 +165,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -243,6 +244,11 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E4 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $E8 ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
252
Source/HBIOS/cfg_rph.asm
Normal file
252
Source/HBIOS/cfg_rph.asm
Normal file
@@ -0,0 +1,252 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; ROMWBW 2.X CONFIGURATION FOR RHYOPHYRE
|
||||
;==================================================================================================
|
||||
;
|
||||
; THIS FILE CONTAINS THE FULL SET OF DEFAULT CONFIGURATION SETTINGS FOR THE PLATFORM
|
||||
; INDICATED ABOVE. THIS FILE SHOULD *NOT* NORMALLY BE CHANGED. INSTEAD, YOU SHOULD
|
||||
; OVERRIDE ANY SETTINGS YOU WANT USING A CONFIGURATION FILE IN THE CONFIG DIRECTORY
|
||||
; UNDER THIS DIRECTORY.
|
||||
;
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RHYOPHYRE"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_RPH ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU TRUE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
HBIOS_MUTEX .EQU FALSE ; ENABLE REENTRANT CALLS TO HBIOS (ADDS OVERHEAD)
|
||||
USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_RPH ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
RAMLOC .EQU 0 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
Z180_BASE .EQU $40 ; Z180: I/O BASE ADDRESS FOR INTERNAL REGISTERS
|
||||
Z180_CLKDIV .EQU 1 ; Z180: CHK DIV: 0=OSC/2, 1=OSC, 2=OSC*2
|
||||
Z180_MEMWAIT .EQU 0 ; Z180: MEMORY WAIT STATES (0-3)
|
||||
Z180_IOWAIT .EQU 1 ; Z180: I/O WAIT STATES TO ADD ABOVE 1 W/S BUILT-IN (0-3)
|
||||
Z180_TIMER .EQU TRUE ; Z180: ENABLE Z180 SYSTEM PERIODIC TIMER
|
||||
;
|
||||
RPH_PPI0 .EQU $88 ; RPH: FIRST PARALLEL PORT REGISTERS BASE ADR
|
||||
RPH_RTC .EQU $84 ; RPH: RTC LATCH REGISTER ADR
|
||||
RPH_ACR .EQU $80 ; RPH: AUXILLARY CONTROL REGISTER (ACR) ADR
|
||||
RPH_DEFACR .EQU $20 ; RPH: AUX CTL REGISTER DEFAULT VALUE (QUIESCIENT STATE)
|
||||
;
|
||||
RTCIO .EQU RPH_RTC ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
KIOENABLE .EQU FALSE ; ENABLE ZILOG KIO SUPPORT
|
||||
KIOBASE .EQU $80 ; KIO BASE I/O ADDRESS
|
||||
;
|
||||
CTCENABLE .EQU FALSE ; ENABLE ZILOG CTC SUPPORT
|
||||
CTCDEBUG .EQU FALSE ; ENABLE CTC DRIVER DEBUG OUTPUT
|
||||
CTCBASE .EQU $B0 ; CTC BASE I/O ADDRESS
|
||||
CTCTIMER .EQU FALSE ; ENABLE CTC PERIODIC TIMER
|
||||
;
|
||||
EIPCENABLE .EQU FALSE ; EIPC: ENABLE Z80 EIPC (Z84C15) INITIALIZATION
|
||||
;
|
||||
SKZENABLE .EQU FALSE ; ENABLE SERGEY'S Z80-512K FEATURES
|
||||
;
|
||||
WDOGMODE .EQU WDOG_NONE ; WATCHDOG MODE: WDOG_[NONE|EZZ80|SKZ]
|
||||
;
|
||||
DIAGENABLE .EQU FALSE ; ENABLES OUTPUT TO 8 BIT LED DIAGNOSTIC PORT
|
||||
DIAGPORT .EQU $00 ; DIAGNOSTIC PORT ADDRESS
|
||||
DIAGDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON DIAGNOSTIC LEDS
|
||||
;
|
||||
LEDENABLE .EQU FALSE ; ENABLES STATUS LED
|
||||
LEDMODE .EQU LEDMODE_RTC ; LEDMODE_[STD|RTC]
|
||||
LEDPORT .EQU RTCIO ; STATUS LED PORT ADDRESS
|
||||
LEDDISKIO .EQU TRUE ; ENABLES DISK I/O ACTIVITY ON STATUS LED
|
||||
;
|
||||
DSKYENABLE .EQU FALSE ; ENABLES DSKY
|
||||
DSKYMODE .EQU DSKYMODE_V1 ; DSKY VERSION: DSKYMODE_[V1|NG]
|
||||
DSKYPPIBASE .EQU RPH_PPI0 ; BASE I/O ADDRESS OF DSKY PPI
|
||||
DSKYOSC .EQU 3000000 ; OSCILLATOR FREQ FOR DSKYNG (IN HZ)
|
||||
;
|
||||
BOOTCON .EQU 0 ; BOOT CONSOLE DEVICE
|
||||
CRTACT .EQU FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
VDAEMU .EQU EMUTYP_ANSI ; VDA EMULATION: EMUTYP_[TTY|ANSI]
|
||||
ANSITRACE .EQU 1 ; ANSI DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKTRACE .EQU 1 ; PPK DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
KBDTRACE .EQU 1 ; KBD DRIVER TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPKKBLOUT .EQU KBD_US ; PPK KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
KBDKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
MKYENABLE .EQU FALSE ; MSX 5255 PPI KEYBOARD COMPATIBLE DRIVER (REQUIRES TMS VDA DRIVER)
|
||||
MKYKBLOUT .EQU KBD_US ; KBD KEYBOARD LANGUAGE: KBD_[US|DE]
|
||||
;
|
||||
DSRTCENABLE .EQU TRUE ; DSRTC: ENABLE DS-1302 CLOCK DRIVER (DSRTC.ASM)
|
||||
DSRTCMODE .EQU DSRTCMODE_STD ; DSRTC: OPERATING MODE: DSRTC_[STD|MFPIC]
|
||||
DSRTCCHG .EQU FALSE ; DSRTC: FORCE BATTERY CHARGE ON (USE WITH CAUTION!!!)
|
||||
;
|
||||
BQRTCENABLE .EQU FALSE ; BQRTC: ENABLE BQ4845 CLOCK DRIVER (BQRTC.ASM)
|
||||
BQRTC_BASE .EQU $50 ; BQRTC: I/O BASE ADDRESS
|
||||
;
|
||||
INTRTCENABLE .EQU FALSE ; ENABLE PERIODIC INTERRUPT CLOCK DRIVER (INTRTC.ASM)
|
||||
;
|
||||
RP5RTCENABLE .EQU FALSE ; RP5C01 RTC BASED CLOCK (RP5RTC.ASM)
|
||||
;
|
||||
HTIMENABLE .EQU FALSE ; ENABLE SIMH TIMER SUPPORT
|
||||
SIMRTCENABLE .EQU FALSE ; ENABLE SIMH CLOCK DRIVER (SIMRTC.ASM)
|
||||
;
|
||||
DS7RTCENABLE .EQU FALSE ; DS7RTC: ENABLE DS-1307 I2C CLOCK DRIVER (DS7RTC.ASM)
|
||||
DS7RTCMODE .EQU DS7RTCMODE_PCF ; DS7RTC: OPERATING MODE: DS7RTC_[PCF]
|
||||
;
|
||||
DUARTENABLE .EQU FALSE ; DUART: ENABLE 2681/2692 SERIAL DRIVER (DUART.ASM)
|
||||
;
|
||||
UARTENABLE .EQU FALSE ; UART: ENABLE 8250/16550-LIKE SERIAL DRIVER (UART.ASM)
|
||||
UARTOSC .EQU 1843200 ; UART: OSC FREQUENCY IN MHZ
|
||||
UARTINTS .EQU FALSE ; UART: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
UARTCFG .EQU DEFSERCFG ; UART: LINE CONFIG FOR UART PORTS
|
||||
UARTCASSPD .EQU SER_300_8N1 ; UART: ECB CASSETTE UART DEFAULT SPEED
|
||||
UARTSBC .EQU FALSE ; UART: AUTO-DETECT SBC/ZETA ONBOARD UART
|
||||
UARTSBCFORCE .EQU FALSE ; UART: FORCE DETECTION OF SBC UART (FOR SIMH)
|
||||
UARTCAS .EQU FALSE ; UART: AUTO-DETECT ECB CASSETTE UART
|
||||
UARTMFP .EQU FALSE ; UART: AUTO-DETECT MF/PIC UART
|
||||
UART4 .EQU FALSE ; UART: AUTO-DETECT 4UART UART
|
||||
UARTRC .EQU FALSE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
ASCI1CFG .EQU DEFSERCFG ; ASCI 1: SERIAL LINE CONFIG
|
||||
;
|
||||
Z2UENABLE .EQU FALSE ; Z2U: ENABLE Z280 UART SERIAL DRIVER (Z2U.ASM)
|
||||
;
|
||||
ACIAENABLE .EQU FALSE ; ACIA: ENABLE MOTOROLA 6850 ACIA DRIVER (ACIA.ASM)
|
||||
;
|
||||
SIOENABLE .EQU FALSE ; SIO: ENABLE ZILOG SIO SERIAL DRIVER (SIO.ASM)
|
||||
;
|
||||
XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
GDCENABLE .EQU TRUE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
GDCMODE .EQU GDCMODE_RPH ; GDC: GDC MODE: GDCMODE_[NONE|ECB|RPH]
|
||||
GDCMON .EQU GDCMON_EGA ; GDC: GDC MONITOR SETUP: GDCMON_[NONE|CGA|EGA]
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_N8 ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
;
|
||||
MDENABLE .EQU TRUE ; MD: ENABLE MEMORY (ROM/RAM) DISK DRIVER (MD.ASM)
|
||||
MDROM .EQU TRUE ; MD: ENABLE ROM DISK
|
||||
MDRAM .EQU TRUE ; MD: ENABLE RAM DISK
|
||||
MDTRACE .EQU 1 ; MD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
MDFFENABLE .EQU FALSE ; MD: ENABLE FLASH FILE SYSTEM
|
||||
;
|
||||
FDENABLE .EQU FALSE ; FD: ENABLE FLOPPY DISK DRIVER (FD.ASM)
|
||||
FDMODE .EQU FDMODE_N8 ; FD: DRIVER MODE: FDMODE_[DIO|ZETA|ZETA2|DIDE|N8|DIO3|RCSMC|RCWDC|DYNO|EPFDC|MBC]
|
||||
FDCNT .EQU 2 ; FD: NUMBER OF FLOPPY DRIVES ON THE INTERFACE (1-2)
|
||||
FDTRACE .EQU 1 ; FD: TRACE LEVEL (0=NO,1=FATAL,2=ERRORS,3=ALL)
|
||||
FDMEDIA .EQU FDM144 ; FD: DEFAULT MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMEDIAALT .EQU FDM720 ; FD: ALTERNATE MEDIA FORMAT FDM[720|144|360|120|111]
|
||||
FDMAUTO .EQU TRUE ; FD: AUTO SELECT DEFAULT/ALTERNATE MEDIA FORMATS
|
||||
;
|
||||
RFENABLE .EQU FALSE ; RF: ENABLE RAM FLOPPY DRIVER
|
||||
RFCNT .EQU 1 ; RF: NUMBER OF RAM FLOPPY UNITS (1-4)
|
||||
;
|
||||
IDEENABLE .EQU FALSE ; IDE: ENABLE IDE DISK DRIVER (IDE.ASM)
|
||||
IDETRACE .EQU 1 ; IDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
IDECNT .EQU 1 ; IDE: NUMBER OF IDE INTERFACES TO DETECT (1-3), 2 DRIVES EACH
|
||||
IDE0MODE .EQU IDEMODE_DIO ; IDE 0: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE0BASE .EQU $20 ; IDE 0: IO BASE ADDRESS
|
||||
IDE0DATLO .EQU $20 ; IDE 0: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE0DATHI .EQU $28 ; IDE 0: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE0A8BIT .EQU FALSE ; IDE 0A (MASTER): 8 BIT XFER
|
||||
IDE0B8BIT .EQU FALSE ; IDE 0B (MASTER): 8 BIT XFER
|
||||
IDE1MODE .EQU IDEMODE_NONE ; IDE 1: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE1BASE .EQU $00 ; IDE 1: IO BASE ADDRESS
|
||||
IDE1DATLO .EQU $00 ; IDE 1: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE1DATHI .EQU $00 ; IDE 1: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE1A8BIT .EQU TRUE ; IDE 1A (MASTER): 8 BIT XFER
|
||||
IDE1B8BIT .EQU TRUE ; IDE 1B (MASTER): 8 BIT XFER
|
||||
IDE2MODE .EQU IDEMODE_NONE ; IDE 2: DRIVER MODE: IDEMODE_[DIO|DIDE|MK4|RC]
|
||||
IDE2BASE .EQU $00 ; IDE 2: IO BASE ADDRESS
|
||||
IDE2DATLO .EQU $00 ; IDE 2: DATA LO PORT FOR 16-BIT I/O
|
||||
IDE2DATHI .EQU $00 ; IDE 2: DATA HI PORT FOR 16-BIT I/O
|
||||
IDE2A8BIT .EQU TRUE ; IDE 2A (MASTER): 8 BIT XFER
|
||||
IDE2B8BIT .EQU TRUE ; IDE 2B (MASTER): 8 BIT XFER
|
||||
;
|
||||
PPIDEENABLE .EQU TRUE ; PPIDE: ENABLE PARALLEL PORT IDE DISK DRIVER (PPIDE.ASM)
|
||||
PPIDETRACE .EQU 1 ; PPIDE: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PPIDECNT .EQU 1 ; PPIDE: NUMBER OF PPI CHIPS TO DETECT (1-3), 2 DRIVES PER CHIP
|
||||
PPIDE0BASE .EQU RPH_PPI0 ; PPIDE 0: PPI REGISTERS BASE ADR
|
||||
PPIDE0A8BIT .EQU FALSE ; PPIDE 0A (MASTER): 8 BIT XFER
|
||||
PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $00 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $00 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
SDENABLE .EQU FALSE ; SD: ENABLE SD CARD DISK DRIVER (SD.ASM)
|
||||
SDMODE .EQU SDMODE_CSIO ; SD: DRIVER MODE: SDMODE_[JUHA|N8|CSIO|PPI|UART|DSD|MK4|SC|MT]
|
||||
SDPPIBASE .EQU RPH_PPI0 ; SD: BASE I/O ADDRESS OF PPI FOR PPI MODDE
|
||||
SDCNT .EQU 1 ; SD: NUMBER OF SD CARD DEVICES (1-2), FOR DSD & SC ONLY
|
||||
SDTRACE .EQU 1 ; SD: TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
SDCSIOFAST .EQU FALSE ; SD: ENABLE TABLE-DRIVEN BIT INVERTER IN CSIO MODE
|
||||
;
|
||||
PRPENABLE .EQU FALSE ; PRP: ENABLE ECB PROPELLER IO BOARD DRIVER (PRP.ASM)
|
||||
PRPSDENABLE .EQU FALSE ; PRP: ENABLE PROPIO DRIVER SD CARD SUPPORT
|
||||
PRPSDTRACE .EQU 1 ; PRP: SD CARD TRACE LEVEL (0=NO,1=ERRORS,2=ALL)
|
||||
PRPCONENABLE .EQU FALSE ; PRP: ENABLE PROPIO DRIVER VIDEO/KBD SUPPORT
|
||||
;
|
||||
PPPENABLE .EQU FALSE ; PPP: ENABLE ZETA PARALLEL PORT PROPELLER BOARD DRIVER (PPP.ASM)
|
||||
;
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIOZBASE .EQU $88 ; PIO: PIO REGISTERS BASE ADR FOR ECB ZP BOARD
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
PIOSBASE .EQU RPH_PPI0 ; PIO: PIO REGISTERS BASE ADR FOR SBC PPI
|
||||
;
|
||||
UFENABLE .EQU FALSE ; UF: ENABLE ECB USB FIFO DRIVER (UF.ASM)
|
||||
FIFO_BASE .EQU $0C ; UF: REGISTERS BASE ADR
|
||||
;
|
||||
SN76489ENABLE .EQU FALSE ; SN76489 SOUND DRIVER
|
||||
AUDIOTRACE .EQU FALSE ; ENABLE TRACING TO CONSOLE OF SOUND DRIVER
|
||||
SN7CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4
|
||||
SNMODE .EQU SNMODE_NONE ; DRIVER MODE: SNMODE_[NONE|RC2014|VGM]
|
||||
;
|
||||
AY38910ENABLE .EQU FALSE ; AY: AY-3-8910 / YM2149 SOUND DRIVER
|
||||
AY_CLK .EQU CPUOSC / 4 ; DEFAULT TO CPUOSC / 4
|
||||
AYMODE .EQU AYMODE_N8 ; AY: DRIVER MODE: AYMODE_[SCG|N8|RCZ80|RCZ180|MSX|LINC|MBC]
|
||||
;
|
||||
SPKENABLE .EQU FALSE ; SPK: ENABLE RTC LATCH IOBIT SOUND DRIVER (SPK.ASM)
|
||||
;
|
||||
DMAENABLE .EQU FALSE ; DMA: ENABLE DMA DRIVER (DMA.ASM)
|
||||
DMABASE .EQU $E0 ; DMA: DMA BASE ADDRESS
|
||||
DMAMODE .EQU DMAMODE_Z180 ; DMA: DMA MODE (NONE|ECB|Z180|Z280|RC|MBC)
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_SBC ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
;
|
||||
@@ -141,9 +142,9 @@ VDUSIZ .EQU V80X25 ; VDU: DISPLAY FORMAT [V80X24|V80X25|V80X30]
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
CVDUMODE .EQU CVDUMODE_ECB ; CVDU: CVDU MODE: CVDUMODE_[NONE|ECB|MBC]
|
||||
CVDUMON .EQU CVDUMON_EGA ; CVDU: CVDU MONITOR SETUP: CVDUMON_[NONE|CGA|EGA]
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_SCG ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
VGASIZ .EQU V80X25 ; VGA: DISPLAY FORMAT [V80X25|V80X30|V80X43]
|
||||
@@ -197,7 +198,7 @@ PPIDE0B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE1BASE .EQU $20 ; PPIDE 1: PPI REGISTERS BASE ADR
|
||||
PPIDE1A8BIT .EQU FALSE ; PPIDE 1A (MASTER): 8 BIT XFER
|
||||
PPIDE1B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
PPIDE2BASE .EQU $44 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2BASE .EQU $14 ; PPIDE 2: PPI REGISTERS BASE ADR
|
||||
PPIDE2A8BIT .EQU FALSE ; PPIDE 2A (MASTER): 8 BIT XFER
|
||||
PPIDE2B8BIT .EQU FALSE ; PPIDE 0B (SLAVE): 8 BIT XFER
|
||||
;
|
||||
@@ -223,6 +224,11 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
LPTCNT .EQU 1 ; LPT: NUMBER OF CHIPS TO DETECT (1-2)
|
||||
LPT0BASE .EQU $E8 ; LPT 0: REGISTERS BASE ADR
|
||||
LPT1BASE .EQU $EC ; LPT 1: REGISTERS BASE ADR
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO4BASE .EQU $90 ; PIO: PIO REGISTERS BASE ADR FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_SCZ180 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z180 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_115200_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z180 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
RAMBIAS .EQU (1 << (RAMLOC - 10)) ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
;
|
||||
@@ -120,6 +121,7 @@ UARTRC .EQU TRUE ; UART: AUTO-DETECT RC UART
|
||||
UARTDUAL .EQU FALSE ; UART: AUTO-DETECT DUAL UART
|
||||
;
|
||||
ASCIENABLE .EQU TRUE ; ASCI: ENABLE Z180 ASCI SERIAL DRIVER (ASCI.ASM)
|
||||
ASCIINTS .EQU TRUE ; ASCI: INCLUDE INTERRUPT SUPPORT UNDER IM1/2/3
|
||||
ASCISWAP .EQU FALSE ; ASCI: SWAP CHANNELS
|
||||
ASCIBOOT .EQU 0 ; ASCI: REBOOT ON RCV CHAR (0=DISABLED)
|
||||
ASCI0CFG .EQU DEFSERCFG ; ASCI 0: SERIAL LINE CONFIG
|
||||
@@ -154,9 +156,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_RC ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -233,6 +235,8 @@ PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "../UBIOS/ubios.inc"
|
||||
;
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
;PLATFORM .EQU PLT_UNA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
BIOS .EQU BIOS_UNA ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_ZETA ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; BIOS_[WBW|UNA]: HARDWARE BIOS
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_SBC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
MPCL_ROM .EQU $7C ; SBC MEM MGR ROM PAGE SELECT REG (WRITE ONLY)
|
||||
;
|
||||
@@ -114,9 +115,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -163,9 +164,8 @@ PPPCONENABLE .EQU TRUE ; PPP: ENABLE PPP DRIVER VIDEO/KBD SUPPORT
|
||||
HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
PIOCNT .EQU 2 ; PIO: NUMBER OF CHIPS TO DETECT (1-2), 2 CHANNELS PER CHIP
|
||||
PIO0BASE .EQU $B8 ; PIO 0: REGISTERS BASE ADR
|
||||
PIO1BASE .EQU $BC ; PIO 1: REGISTERS BASE ADR
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC]
|
||||
PLATFORM .EQU PLT_ZETA2 ; PLT_[SBC|ZETA|ZETA2|N8|MK4|UNA|RCZ80|RCZ180|EZZ80|SCZ180|DYNO|RCZ280|MBC|RPH]
|
||||
CPUFAM .EQU CPU_Z80 ; CPU FAMILY: CPU_[Z80|Z180|Z280]
|
||||
BIOS .EQU BIOS_WBW ; HARDWARE BIOS: BIOS_[WBW|UNA]
|
||||
BATCOND .EQU FALSE ; ENABLE LOW BATTERY WARNING MESSAGE
|
||||
@@ -24,6 +24,7 @@ USELZSA2 .EQU TRUE ; ENABLE FONT COMPRESSION
|
||||
TICKFREQ .EQU 50 ; DESIRED PERIODIC TIMER INTERRUPT FREQUENCY (HZ)
|
||||
;
|
||||
BOOT_TIMEOUT .EQU -1 ; AUTO BOOT TIMEOUT IN SECONDS, -1 TO DISABLE, 0 FOR IMMEDIATE
|
||||
BOOT_DELAY .EQU 0 ; FIXED BOOT DELAY IN SECONDS PRIOR TO CONSOLE OUTPUT
|
||||
;
|
||||
CPUSPDCAP .EQU SPD_FIXED ; CPU SPEED CHANGE CAPABILITY SPD_FIXED|SPD_HILO
|
||||
CPUSPDDEF .EQU SPD_HIGH ; CPU SPEED DEFAULT SPD_UNSUP|SPD_HIGH|SPD_LOW
|
||||
@@ -33,7 +34,7 @@ DEFSERCFG .EQU SER_38400_8N1 ; DEFAULT SERIAL LINE CONFIG (SEE STD.ASM)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .EQU 0 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC]
|
||||
MEMMGR .EQU MM_Z2 ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180|Z280|MBC|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_1 .EQU $79 ; Z2 MEM MGR BANK 1 PAGE SELECT REG (WRITE ONLY)
|
||||
MPGSEL_2 .EQU $7A ; Z2 MEM MGR BANK 2 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -125,9 +126,9 @@ XIOCFG .EQU DEFSERCFG ; XIO: SERIAL LINE CONFIG
|
||||
;
|
||||
VDUENABLE .EQU FALSE ; VDU: ENABLE VDU VIDEO/KBD DRIVER (VDU.ASM)
|
||||
CVDUENABLE .EQU FALSE ; CVDU: ENABLE CVDU VIDEO/KBD DRIVER (CVDU.ASM)
|
||||
NECENABLE .EQU FALSE ; NEC: ENABLE NEC UPD7220 VIDEO/KBD DRIVER (NEC.ASM)
|
||||
GDCENABLE .EQU FALSE ; GDC: ENABLE 7220 GDC VIDEO/KBD DRIVER (GDC.ASM)
|
||||
TMSENABLE .EQU FALSE ; TMS: ENABLE TMS9918 VIDEO/KBD DRIVER (TMS.ASM)
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|RC|RCV9958|RCKBD]
|
||||
TMSMODE .EQU TMSMODE_NONE ; TMS: DRIVER MODE: TMSMODE_[SCG|N8|MBC|RC|RCV9958|RCKBD]
|
||||
TMSTIMENABLE .EQU FALSE ; TMS: ENABLE TIMER INTERRUPTS (REQUIRES IM1)
|
||||
VGAENABLE .EQU FALSE ; VGA: ENABLE VGA VIDEO/KBD DRIVER (VGA.ASM)
|
||||
;
|
||||
@@ -175,6 +176,8 @@ HDSKENABLE .EQU FALSE ; HDSK: ENABLE SIMH HDSK DISK DRIVER (HDSK.ASM)
|
||||
;
|
||||
PIOENABLE .EQU FALSE ; PIO: ENABLE ZILOG PIO DRIVER (PIO.ASM)
|
||||
;
|
||||
LPTENABLE .EQU FALSE ; LPT: ENABLE CENTRONICS PRINTER DRIVER (LPT.ASM)
|
||||
;
|
||||
PIO_4P .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB 4P BOARD
|
||||
PIO_ZP .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR ECB ZILOG PERIPHERALS BOARD (PIO.ASM)
|
||||
PIO_SBC .EQU FALSE ; PIO: ENABLE PARALLEL PORT DRIVER FOR 8255 CHIP
|
||||
|
||||
@@ -38,6 +38,8 @@ ENA_XM .EQU FALSE ; NO ROOM FOR BOTH DSKY+XMODEM
|
||||
ENA_XM .EQU TRUE ; INCLUDE XMODEM IF SPACE AVAILABLE
|
||||
#ENDIF
|
||||
;
|
||||
ENA_MBC6502 .EQU FALSE ; ENABLE OR DISABLE MBC6502 OPTION
|
||||
;
|
||||
#INCLUDE "util.asm"
|
||||
;
|
||||
;__UART_ENTRY_________________________________________________________________
|
||||
@@ -69,6 +71,8 @@ UART_ENTRY:
|
||||
; R XXXX - RUN A PROGRAM AT ADDRESS XXXX
|
||||
; S XX - SET ACTIVE BANK TO XX
|
||||
; T XXXX - X-MODEM TRANSFER TO MEMORY LOCATION XXXX
|
||||
; U - SET BANK TO PREVIOUS BANK
|
||||
; 6 XX - TRANSFER CONTROL TO MBC6502 UNIT XX
|
||||
; X - EXIT MONITOR
|
||||
;
|
||||
;__COMMAND_PARSE______________________________________________________________
|
||||
@@ -126,6 +130,12 @@ SERIALCMDLOOP:
|
||||
#IF (BIOS == BIOS_WBW)
|
||||
CP 'S' ; IS IT A "S" (Y/N)
|
||||
JP Z,SETBNK ; SET BANK COMMAND
|
||||
CP 'U' ; IS IT A "U" (Y/N)
|
||||
JP Z,UNSETBNK ; UNSET (REVERT) BANK COMMAND
|
||||
#IF ((PLATFORM = PLT_MBC) & ENA_MBC6502)
|
||||
CP '6' ; IS IT A "6" (Y/N)
|
||||
JP Z,MBC6502 ; TRANSFER TO MBC6502 COMMAND
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
CP 'X' ; IS IT A "X" (Y/N)
|
||||
JP Z,EXIT ; EXIT COMMAND
|
||||
@@ -218,6 +228,8 @@ SETBNK:
|
||||
LD HL,TXT_IMERR
|
||||
CALL PRTSTR
|
||||
#ELSE
|
||||
LD A,($FFE0) ; GET AND SAVE
|
||||
LD (BNKSAV),A ; CURRENT BANK
|
||||
CALL BYTEPARM ; GET BANK NUMBER
|
||||
JP C,ERR ; HANDLE DATA ENTRY ERROR
|
||||
LD C,A ; PUT IN C FOR FOR FUNC CALL
|
||||
@@ -226,6 +238,25 @@ SETBNK:
|
||||
#ENDIF
|
||||
JP SERIALCMDLOOP ; NEXT COMMAND
|
||||
;
|
||||
;__UNSETBNK___________________________________________________________________
|
||||
;
|
||||
; PERFORM UNSET BANK ACTION - REVERT TO BANK BEFORE PREVIOUS SET
|
||||
;_____________________________________________________________________________
|
||||
;
|
||||
UNSETBNK:
|
||||
#IF (INTMODE == 1)
|
||||
LD HL,TXT_IMERR
|
||||
CALL PRTSTR
|
||||
#ELSE
|
||||
LD A,(BNKSAV)
|
||||
LD C,A ; PUT IN C FOR FOR FUNC CALL
|
||||
LD B,BF_SYSSETBNK ; SET BANK FUNCTION
|
||||
CALL $FFF0 ; C HAS BANK, DO IT
|
||||
#ENDIF
|
||||
JP SERIALCMDLOOP ; NEXT COMMAND
|
||||
;
|
||||
BNKSAV .DB 00H ; OLD BANK FROM BEFORE SET
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
;__RUN________________________________________________________________________
|
||||
@@ -358,7 +389,8 @@ XMLOAD: CALL WORDPARM ; GET STARTING LOCATION
|
||||
CALL NEWLINE
|
||||
;
|
||||
LD BC,$F8F0 ; GET CPU SPEED
|
||||
RST 08 ; AND MULTIPLY
|
||||
CALL $FFF0 ; CALL HBIOS
|
||||
; RST 08 ; AND MULTIPLY
|
||||
LD A,L ; BY 4
|
||||
PUSH AF
|
||||
ADD A,A ; TO CREATE
|
||||
@@ -769,6 +801,30 @@ HELP:
|
||||
CALL PRTSTR ; DISPLAY IT
|
||||
JP SERIALCMDLOOP ; AND BACK TO COMMAND LOOP
|
||||
;
|
||||
;__MBC6502____________________________________________________________________
|
||||
;
|
||||
; TRANSFER CONTROL TO MBC6502
|
||||
;_____________________________________________________________________________
|
||||
;
|
||||
;
|
||||
#IF (BIOS == BIOS_WBW)
|
||||
#IF ((PLATFORM = PLT_MBC) & ENA_MBC6502)
|
||||
MBC6502:
|
||||
CALL BYTEPARM ; GET BYTE VALUE (FILL VALUE) INTO A
|
||||
CPL ; UNIT 0 = FFH, 1 = FEH ETC
|
||||
LD C,A
|
||||
;
|
||||
IN A,(C) ; EXECUTE
|
||||
NOP ; TRANSFER
|
||||
;
|
||||
LD A,($FFE0) ; GET PREVIOUS BANK
|
||||
OUT (MPCL_RAM),A ; SET RAM PAGE SELECTOR
|
||||
OUT (MPCL_ROM),A ; SET ROM PAGE SELECTOR
|
||||
;
|
||||
JP SERIALCMDLOOP ; AND BACK TO COMMAND LOOP
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
;__ERR________________________________________________________________________
|
||||
;
|
||||
; SYNTAX ERROR
|
||||
@@ -1205,9 +1261,17 @@ TXT_HELP .TEXT "\r\nMonitor Commands (all values in hex):"
|
||||
.TEXT "\r\nP xxxx - Program RAM at address xxxx"
|
||||
.TEXT "\r\nR xxxx [[yy] [zzzz]] - Run code at address xxxx"
|
||||
.TEXT "\r\n Pass yy and zzzz to register A and BC"
|
||||
#IF (BIOS == BIOS_WBW)
|
||||
.TEXT "\r\nS xx - Set bank to xx"
|
||||
.TEXT "\r\nU - Set bank to previous bank"
|
||||
#ENDIF
|
||||
#IF (ENA_XM)
|
||||
.TEXT "\r\nT xxxx - X-modem transfer to memory location xxxx"
|
||||
#ENDIF
|
||||
#IF (BIOS == BIOS_WBW)
|
||||
#IF ((PLATFORM == PLT_MBC) & ENA_MBC6502)
|
||||
.TEXT "\r\n6 xx - Transfer control to MBC6502 unit xx"
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
.TEXT "\r\nX - Exit monitor"
|
||||
.TEXT "$"
|
||||
|
||||
@@ -66,28 +66,28 @@
|
||||
; RTC LATCH WRITE
|
||||
; ---------------
|
||||
;
|
||||
; BIT SBC SBC-004 MFPIC N8 N8-CSIO MK4 SC130 SC131 SC126 MBC
|
||||
; ----- ------- ------- ------- ------- ------- ------- ------- ------- --------------- -------
|
||||
; D7 RTC_OUT RTC_OUT -- RTC_OUT RTC_OUT RTC_OUT -- -- RTC_OUT,I2C_SDA RTC_OUT
|
||||
; D6 RTC_CLK RTC_CLK -- RTC_CLK RTC_CLK RTC_CLK -- -- RTC_CLK RTC_CLK
|
||||
; D5 /RTC_WE /RTC_WE -- /RTC_WE /RTC_WE /RTC_WE -- -- /RTC_WE /RTC_WE
|
||||
; D4 RTC_CE RTC_CE -- RTC_CE RTC_CE RTC_CE -- -- RTC_CE RTC_CE
|
||||
; D3 NC CLKSEL /RTC_CE NC NC NC -- -- /SPI_CS2 CLKSEL
|
||||
; D2 NC SPK RTC_CLK SPI_CS SPI_CS NC /SPI_CS1/SPI_CS1/SPI_CS1 SPK
|
||||
; D1 -- -- RTC_WE SPI_CLK NC NC -- -- FS LED1
|
||||
; D0 -- -- RTC_OUT SPI_DI NC NC -- -- I2C_SCL LED0
|
||||
; BIT SBC SBC-004 MFPIC N8 N8-CSIO MK4 SC130 SC131 SC126 MBC RPH
|
||||
; ----- ------- ------- ------- ------- ------- ------- ------- ------- --------------- ------- -------
|
||||
; D7 RTC_OUT RTC_OUT -- RTC_OUT RTC_OUT RTC_OUT -- -- RTC_OUT,I2C_SDA RTC_OUT RTC_OUT
|
||||
; D6 RTC_CLK RTC_CLK -- RTC_CLK RTC_CLK RTC_CLK -- -- RTC_CLK RTC_CLK RTC_CLK
|
||||
; D5 /RTC_WE /RTC_WE -- /RTC_WE /RTC_WE /RTC_WE -- -- /RTC_WE /RTC_WE /RTC_WE
|
||||
; D4 RTC_CE RTC_CE -- RTC_CE RTC_CE RTC_CE -- -- RTC_CE RTC_CE RTC_CE
|
||||
; D3 NC CLKSEL /RTC_CE NC NC NC -- -- /SPI_CS2 CLKSEL --
|
||||
; D2 NC SPK RTC_CLK SPI_CS SPI_CS NC /SPI_CS1/SPI_CS1/SPI_CS1 SPK --
|
||||
; D1 -- -- RTC_WE SPI_CLK NC NC -- -- FS LED1 --
|
||||
; D0 -- -- RTC_OUT SPI_DI NC NC -- -- I2C_SCL LED0 --
|
||||
;
|
||||
; RTC LATCH READ
|
||||
; --------------
|
||||
;
|
||||
; D7 -- -- -- -- -- -- -- -- I2C_SDA --
|
||||
; D6 CFG CFG -- SPI_DO CFG -- -- -- -- CFG
|
||||
; D5 -- -- -- -- -- -- -- -- -- --
|
||||
; D4 -- -- -- -- -- -- -- -- -- --
|
||||
; D3 -- -- -- -- -- -- -- -- -- --
|
||||
; D2 -- -- -- -- -- -- -- -- -- --
|
||||
; D1 ---- -- -- -- -- -- -- -- -- CLKSEL
|
||||
; D0 RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN -- -- RTC_IN RTC_IN
|
||||
; D7 -- -- -- -- -- -- -- -- I2C_SDA -- --
|
||||
; D6 CFG CFG -- SPI_DO CFG -- -- -- -- CFG --
|
||||
; D5 -- -- -- -- -- -- -- -- -- -- --
|
||||
; D4 -- -- -- -- -- -- -- -- -- -- --
|
||||
; D3 -- -- -- -- -- -- -- -- -- -- --
|
||||
; D2 -- -- -- -- -- -- -- -- -- -- --
|
||||
; D1 ---- -- -- -- -- -- -- -- -- CLKSEL --
|
||||
; D0 RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN RTC_IN -- -- RTC_IN RTC_IN RTC_IN
|
||||
;
|
||||
#IF (DSRTCMODE == DSRTCMODE_STD)
|
||||
;
|
||||
@@ -118,7 +118,7 @@ DS2d8k .EQU %10101011 ; 2 DIODES 8K RESISTOR
|
||||
;
|
||||
#IF (DSRTCMODE == DSRTCMODE_MFPIC)
|
||||
;
|
||||
DSRTC_IO .EQU $43 ; RTC PORT ON MF/PIC
|
||||
DSRTC_IO .EQU $13 ; RTC PORT ON MF/PIC
|
||||
;
|
||||
DSRTC_DATA .EQU %00000001 ; BIT 0 IS RTC DATA OUT
|
||||
DSRTC_CLK .EQU %00000100 ; BIT 2 IS RTC CLOCK (CLK)
|
||||
|
||||
331
Source/HBIOS/gdc.asm
Normal file
331
Source/HBIOS/gdc.asm
Normal file
@@ -0,0 +1,331 @@
|
||||
;======================================================================
|
||||
; UPD7220 GRAPHICS DEVICE CONTROLLER
|
||||
;======================================================================
|
||||
;
|
||||
;======================================================================
|
||||
; GDC DRIVER - CONSTANTS
|
||||
;======================================================================
|
||||
;
|
||||
#IF (GDCMODE == GDCMODE_ECB)
|
||||
GDC_BASE .EQU $?? ; GDC BASE I/O PORT
|
||||
GDC_DAC_BASE .EQU $?? ; RAMDAC BASE I/O PORT
|
||||
#ENDIF
|
||||
;
|
||||
#IF (GDCMODE == GDCMODE_RPH)
|
||||
GDC_KBDDATA .EQU $8C ; KBD CTLR DATA PORT
|
||||
GDC_KBDST .EQU $8D ; KBD CTLR STATUS/CMD PORT
|
||||
GDC_BASE .EQU $90 ; GDC BASE I/O PORT
|
||||
GDC_DAC_BASE .EQU $98 ; RAMDAC BASE I/O PORT
|
||||
#ENDIF
|
||||
;
|
||||
GDC_STAT .EQU GDC_BASE + 0 ; STATUS PORT
|
||||
GDC_CMD .EQU GDC_BASE + 1 ; COMMAND PORT
|
||||
GDC_PARAM .EQU GDC_BASE + 0 ; PARAM PORT
|
||||
GDC_READ .EQU GDC_BASE + 1 ; READ PORT
|
||||
GDC_DAC_WR .EQU GDC_DAC_BASE + 0 ; RAMDAC ADR WRITE
|
||||
GDC_DAC_RD .EQU GDC_DAC_BASE + 3 ; RAMDAC ADR READ
|
||||
GDC_DAC_PALRAM .EQU GDC_DAC_BASE + 1 ; RAMDAC PALETTE RAM
|
||||
GDC_DAC_PIXMSK .EQU GDC_DAC_BASE + 2 ; RAMDAC PIXEL READ MASK
|
||||
GDC_DAC_OVL_WR .EQU GDC_DAC_BASE + 4 ; RAMDAC OVERLAY WRITE
|
||||
GDC_DAC_OVL_RD .EQU GDC_DAC_BASE + 7 ; RAMDAC OVERLAY READ
|
||||
GDC_DAC_OVL_RAM .EQU GDC_DAC_BASE + 5 ; RAMDAC OVERLAY RAM
|
||||
;
|
||||
GDC_ROWS .EQU 25
|
||||
GDC_COLS .EQU 80
|
||||
;
|
||||
; *** TODO: CGA AND EGA ARE PLACEHOLDERS. THESE EQUATES SHOULD
|
||||
; BE USED TO ALLOW FOR MULTIPLE MONITOR TIMINGS AND/OR FONT
|
||||
; DEFINITIONS.
|
||||
;
|
||||
#IF (GDCMON == GDCMON_CGA)
|
||||
#DEFINE USEFONTCGA
|
||||
#DEFINE GDC_FONT FONTCGA
|
||||
#ENDIF
|
||||
;
|
||||
#IF (GDCMON == GDCMON_EGA)
|
||||
#DEFINE USEFONT8X16
|
||||
#DEFINE GDC_FONT FONT8X16
|
||||
#ENDIF
|
||||
;
|
||||
TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
;
|
||||
;======================================================================
|
||||
; GDC DRIVER - INITIALIZATION
|
||||
;======================================================================
|
||||
;
|
||||
GDC_INIT:
|
||||
LD IY,GDC_IDAT ; POINTER TO INSTANCE DATA
|
||||
|
||||
CALL NEWLINE
|
||||
PRTS("GDC: MODE=$")
|
||||
#IF (GDCMODE == GDCMODE_ECB)
|
||||
PRTS("ECB$")
|
||||
#ENDIF
|
||||
#IF (GDCMODE == GDCMODE_RPH)
|
||||
PRTS("RPH$")
|
||||
#ENDIF
|
||||
;
|
||||
#IF (GDCMON == GDCMON_CGA)
|
||||
PRTS(" CGA$")
|
||||
#ENDIF
|
||||
#IF (GDCMON == GDCMON_EGA)
|
||||
PRTS(" EGA$")
|
||||
#ENDIF
|
||||
;
|
||||
PRTS(" IO=0x$")
|
||||
LD A,GDC_BASE
|
||||
CALL PRTHEXBYTE
|
||||
CALL GDC_PROBE ; CHECK FOR HW PRESENCE
|
||||
JR Z,GDC_INIT1 ; CONTINUE IF HW PRESENT
|
||||
;
|
||||
; HARDWARE NOT PRESENT
|
||||
PRTS(" NOT PRESENT$")
|
||||
OR $FF ; SIGNAL FAILURE
|
||||
RET
|
||||
;
|
||||
GDC_INIT1:
|
||||
CALL GDC_CRTINIT ; SETUP THE GDC CHIP REGISTERS
|
||||
CALL GDC_VDARES ; RESET GDC
|
||||
CALL KBD_INIT ; INITIALIZE KEYBOARD DRIVER
|
||||
|
||||
; ADD OURSELVES TO VDA DISPATCH TABLE
|
||||
LD BC,GDC_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
LD DE,GDC_IDAT ; DE := GDC INSTANCE DATA PTR
|
||||
CALL VDA_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
|
||||
|
||||
; INITIALIZE EMULATION
|
||||
LD C,A ; C := ASSIGNED VIDEO DEVICE NUM
|
||||
LD DE,GDC_FNTBL ; DE := FUNCTION TABLE ADDRESS
|
||||
LD HL,GDC_IDAT ; HL := GDC INSTANCE DATA PTR
|
||||
CALL TERM_ATTACH ; DO IT
|
||||
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; GDC DRIVER - VIDEO DISPLAY ADAPTER (VDA) FUNCTIONS
|
||||
;======================================================================
|
||||
;
|
||||
GDC_FNTBL:
|
||||
.DW GDC_VDAINI
|
||||
.DW GDC_VDAQRY
|
||||
.DW GDC_VDARES
|
||||
.DW GDC_VDADEV
|
||||
.DW GDC_VDASCS
|
||||
.DW GDC_VDASCP
|
||||
.DW GDC_VDASAT
|
||||
.DW GDC_VDASCO
|
||||
.DW GDC_VDAWRC
|
||||
.DW GDC_VDAFIL
|
||||
.DW GDC_VDACPY
|
||||
.DW GDC_VDASCR
|
||||
.DW KBD_STAT
|
||||
.DW KBD_FLUSH
|
||||
.DW KBD_READ
|
||||
.DW GDC_VDARDC
|
||||
#IF (($ - GDC_FNTBL) != (VDA_FNCNT * 2))
|
||||
.ECHO "*** INVALID GDC FUNCTION TABLE ***\n"
|
||||
!!!!!
|
||||
#ENDIF
|
||||
;
|
||||
GDC_VDAINI:
|
||||
; RESET VDA
|
||||
CALL GDC_VDARES ; RESET VDA
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
GDC_VDAQRY: ; VIDEO INFORMATION QUERY
|
||||
LD C,$00 ; MODE ZERO IS ALL WE KNOW
|
||||
LD D,GDC_ROWS ; ROWS
|
||||
LD E,GDC_COLS ; COLS
|
||||
LD HL,0 ; EXTRACTION OF CURRENT BITMAP DATA NOT SUPPORTED YET
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
GDC_VDARES: ; VIDEO SYSTEM RESET
|
||||
; *** TODO: RESET VIDEO SYSTEM HERE, CLEAR SCREEN,
|
||||
; CURSOR TO TOP LEFT, CLEAR ATTRIBUTES
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
GDC_VDADEV: ; VIDEO DEVICE INFORMATION
|
||||
LD D,VDADEV_GDC ; D := DEVICE TYPE
|
||||
LD E,0 ; E := PHYSICAL UNIT IS ALWAYS ZERO
|
||||
LD H,0 ; H := 0, DRIVER HAS NO MODES
|
||||
LD L,GDC_BASE ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
GDC_VDASCS: ; SET CURSOR STYLE
|
||||
CALL SYSCHK ; NOT IMPLEMENTED (YET)
|
||||
LD A,ERR_NOTIMPL
|
||||
OR A
|
||||
RET
|
||||
|
||||
GDC_VDASCP: ; SET CURSOR POSITION
|
||||
CALL GDC_XY ; SET CURSOR POSITION
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
GDC_VDASAT: ; SET ATTRIBUTES
|
||||
LD A,E ; GET THE INCOMING ATTRIBUTE
|
||||
LD (GDC_ATTR),A ; AND SAVE FOR LATER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
GDC_VDASCO: ; SET COLOR
|
||||
LD A,E ; GET THE INCOMING COLOR
|
||||
LD (GDC_COLOR),A ; AND SAVE FOR LATER
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
GDC_VDAWRC: ; WRITE CHARACTER
|
||||
LD A,E ; CHARACTER TO WRITE GOES IN A
|
||||
CALL GDC_PUTCHAR ; PUT IT ON THE SCREEN
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
GDC_VDAFIL: ; FILL WITH CHARACTER
|
||||
LD A,E ; FILL CHARACTER GOES IN A
|
||||
EX DE,HL ; FILL LENGTH GOES IN DE
|
||||
CALL GDC_FILL ; DO THE FILL
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
|
||||
GDC_VDACPY: ; COPY CHARACTERS/ATTRIBUTES
|
||||
; LENGTH IN HL, SOURCE ROW/COL IN DE, DEST IS GDC_POS
|
||||
; BLKCPY USES: HL=SOURCE, DE=DEST, BC=COUNT
|
||||
PUSH HL ; SAVE LENGTH
|
||||
CALL GDC_XY2IDX ; ROW/COL IN DE -> SOURCE ADR IN HL
|
||||
POP BC ; RECOVER LENGTH IN BC
|
||||
LD DE,(GDC_POS) ; PUT DEST IN DE
|
||||
JP GDC_BLKCPY ; DO A BLOCK COPY
|
||||
|
||||
GDC_VDASCR: ; SCROLL ENTIRE SCREEN
|
||||
LD A,E ; LOAD E INTO A
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; IF ZERO, WE ARE DONE
|
||||
PUSH DE ; SAVE E
|
||||
JP M,GDC_VDASCR1 ; E IS NEGATIVE, REVERSE SCROLL
|
||||
CALL GDC_SCROLL ; SCROLL FORWARD ONE LINE
|
||||
POP DE ; RECOVER E
|
||||
DEC E ; DECREMENT IT
|
||||
JR GDC_VDASCR ; LOOP
|
||||
GDC_VDASCR1:
|
||||
CALL GDC_RSCROLL ; SCROLL REVERSE ONE LINE
|
||||
POP DE ; RECOVER E
|
||||
INC E ; INCREMENT IT
|
||||
JR GDC_VDASCR ; LOOP
|
||||
;
|
||||
GDC_VDARDC: ; READ CHAR/ATTR VALUE FROM VIDEO BUFFER
|
||||
OR $FF ; UNSUPPORTED FUNCTION
|
||||
RET
|
||||
;
|
||||
;======================================================================
|
||||
; GDC DRIVER - PRIVATE DRIVER FUNCTIONS
|
||||
;======================================================================
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; PROBE FOR GDC HARDWARE
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
; ON RETURN, ZF SET INDICATES HARDWARE FOUND
|
||||
;
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
;
|
||||
GDC_PROBE:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; RETURN WITH ZF SET BASED ON CP
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; DISPLAY CONTROLLER CHIP INITIALIZATION
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
;
|
||||
GDC_CRTINIT:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; SET CURSOR POSITION TO ROW IN D AND COLUMN IN E
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_XY:
|
||||
CALL GDC_XY2IDX ; CONVERT ROW/COL TO BUF IDX
|
||||
LD (GDC_POS),HL ; SAVE THE RESULT (DISPLAY POSITION)
|
||||
; *** TODO: MOVE THE CURSOR
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; CONVERT XY COORDINATES IN DE INTO LINEAR INDEX IN HL
|
||||
; D=ROW, E=COL
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_XY2IDX:
|
||||
LD A,E ; SAVE COLUMN NUMBER IN A
|
||||
LD H,D ; SET H TO ROW NUMBER
|
||||
LD E,GDC_COLS ; SET E TO ROW LENGTH
|
||||
CALL MULT8 ; MULTIPLY TO GET ROW OFFSET
|
||||
LD E,A ; GET COLUMN BACK
|
||||
ADD HL,DE ; ADD IT IN
|
||||
RET ; RETURN
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; WRITE VALUE IN A TO CURRENT VDU BUFFER POSITION, ADVANCE CURSOR
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_PUTCHAR:
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; FILL AREA IN BUFFER WITH SPECIFIED CHARACTER AND CURRENT COLOR/ATTRIBUTE
|
||||
; STARTING AT THE CURRENT FRAME BUFFER POSITION
|
||||
; A: FILL CHARACTER
|
||||
; DE: NUMBER OF CHARACTERS TO FILL
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_FILL:
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; SCROLL ENTIRE SCREEN FORWARD BY ONE LINE (CURSOR POSITION UNCHANGED)
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_SCROLL:
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; REVERSE SCROLL ENTIRE SCREEN BY ONE LINE (CURSOR POSITION UNCHANGED)
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_RSCROLL:
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
RET
|
||||
;
|
||||
;----------------------------------------------------------------------
|
||||
; BLOCK COPY BC BYTES FROM HL TO DE
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
GDC_BLKCPY:
|
||||
; *** TODO: IMPLEMENT THIS
|
||||
RET
|
||||
;
|
||||
;==================================================================================================
|
||||
; GDC DRIVER - DATA
|
||||
;==================================================================================================
|
||||
;
|
||||
GDC_ATTR .DB 0 ; CURRENT ATTRIBUTES
|
||||
GDC_COLOR .DB 0 ; CURRENT COLOR
|
||||
GDC_POS .DW 0 ; CURRENT DISPLAY POSITION
|
||||
;
|
||||
;==================================================================================================
|
||||
; GDC DRIVER - INSTANCE DATA
|
||||
;==================================================================================================
|
||||
;
|
||||
GDC_IDAT:
|
||||
.DB GDC_KBDST
|
||||
.DB GDC_KBDDATA
|
||||
@@ -556,6 +556,28 @@ HBX_RAMX:
|
||||
HBX_MMA .DB 0 ; TEMPORARY STORAGE FOR REG A
|
||||
#ENDIF
|
||||
;
|
||||
#IF (MEMMGR == MM_RPH)
|
||||
BIT 7,A ; TEST BIT 7 FOR RAM VS. ROM
|
||||
JR Z,HBX_ROM ; IF NOT SET, SELECT ROM PAGE
|
||||
;
|
||||
HBX_RAM:
|
||||
AND %00011111 ; AVOID WRAPPING BITS
|
||||
RLCA ; SCALE SELECTOR TO
|
||||
RLCA ; ... GO FROM Z180 4K PAGE SIZE
|
||||
RLCA ; ... TO DESIRED 32K PAGE SIZE
|
||||
OUT0 (Z180_BBR),A ; WRITE TO BANK BASE
|
||||
LD A,RPH_DEFACR | 80H ; SELECT RAM BY SETTING BIT 7
|
||||
OUT0 (RPH_ACR),A ; ... IN RPH ACR REGISTER
|
||||
RET ; DONE
|
||||
;
|
||||
HBX_ROM:
|
||||
OR RPH_DEFACR ; COMBINE WITH DEFAULT BITS
|
||||
OUT0 (RPH_ACR),A ; BANK INDEX TO RPH ACR REGISTER
|
||||
XOR A ; ZERO ACCUM
|
||||
OUT0 (Z180_BBR),A ; ZERO BANK BASE
|
||||
RET ; DONE
|
||||
#ENDIF
|
||||
;
|
||||
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
; Copy Data - Possibly between banks. This resembles CP/M 3, but
|
||||
; usage of the HL and DE registers is reversed.
|
||||
@@ -1101,6 +1123,11 @@ Z280_BOOTERR .TEXT "\r\n\r\n*** Application mode boot not supported under Z280 n
|
||||
OUT0 (N8_ACR),A ; ... REGISTER IS INITIALIZED
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PLATFORM == PLT_RPH)
|
||||
LD A,RPH_DEFACR ; ENSURE RPH ACR
|
||||
OUT0 (RPH_ACR),A ; ... REGISTER IS INITIALIZED
|
||||
#ENDIF
|
||||
;
|
||||
#IF (DIAGENABLE)
|
||||
LD A,%00000001
|
||||
OUT (DIAGPORT),A
|
||||
@@ -1238,7 +1265,7 @@ Z280_INITZ:
|
||||
LD A,$F0
|
||||
OUT0 (Z180_DCNTL),A
|
||||
|
||||
#IF ((MEMMGR == MM_Z180) | (MEMMGR == MM_N8))
|
||||
#IF ((MEMMGR == MM_Z180) | (MEMMGR == MM_N8) | (MEMMGR == MM_RPH))
|
||||
; Z180 MMU SETUP
|
||||
LD A,$80
|
||||
OUT0 (Z180_CBAR),A ; SETUP FOR 32K/32K BANK CONFIG
|
||||
@@ -1530,21 +1557,51 @@ MBC_SINGLE:
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
; IF THIS IS A ROM-LESS SYSTEM, THEN WE NEED TO COPY THE "APP" BANK TO
|
||||
; TPA. IT IS DONE PRIOR TO COPYING HBIOS TO IT'S FINAL BANK BECAUSE
|
||||
; THE SOURCE OF THE APP BANK CODE MAY BE THE BANK THAT HBIOS WANTS TO
|
||||
; USE AS IT'S FINAL LOCATION (PRIMARILY IN CASE OF RAMBOOT WHERE THE
|
||||
; SYSTEM HAS THE MINIMUM 128KB OF RAM).
|
||||
; IF THIS IS A ROM-LESS SYSTEM, THEN WE NEED TO COPY THE PAYLOAD
|
||||
; (LOADER, MONITOR, ZSDOS) THAT HAS BEEN LOADED TO PHYSICAL RAM
|
||||
; BANKS 0 AND 1 TO THE USER TPA BANK TO RUN AFTER BOOT.
|
||||
; IT IS DONE PRIOR TO COPYING HBIOS TO IT'S FINAL BANK BECAUSE
|
||||
; THE PAYLOAD MAY EXTEND INTO THE HBIOS OPERATING BANK. THIS
|
||||
; HAPPENS PRIMARILY IN THE CASE WHERE THE
|
||||
; SYSTEM HAS THE MINIMUM 128KB OF RAM.
|
||||
;
|
||||
#IFDEF ROMBOOT
|
||||
#IF (ROMSIZE == 0)
|
||||
LD A,(HB_CURBNK)
|
||||
;
|
||||
; THE PAYLOAD IS LIKELY TO CROSS OVER THE RAM BANK 0/1
|
||||
; BOUNDARY. BNKCPY DOES NOT HANDLE THIS BECAUSE IT ASSUMES
|
||||
; THE COMMON BANK IS USED AFTER PASSING OVER THE BANK
|
||||
; BOUNDARY. WE WORK AROUND THAT HERE BY DOING TWO COPIES.
|
||||
; THE FIRST ONE HANDLES THE PORTION OF THE PAYLOAD FROM THE
|
||||
; END OF HBIOS TO THE BANK BOUNDARY ($8000). THE SECOND
|
||||
; ONE HANDLES THE PORTION THAT EXTENDS INTO THE SECOND
|
||||
; PHYSICAL RAM BANK.
|
||||
;
|
||||
; COPY PORTION OF PAYLOAD FOLLOWING HBIOS TO THE BANK
|
||||
; BOUNDARY AT $8000 INTO START OF TPA.
|
||||
LD A,BID_RAM0
|
||||
LD (HB_SRCBNK),A
|
||||
LD A,BID_USR
|
||||
LD (HB_DSTBNK),A
|
||||
LD HL,HB_END
|
||||
LD DE,0
|
||||
LD BC,$8000
|
||||
LD BC,$8000-HB_END
|
||||
;
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
CALL Z280_BNKCPY
|
||||
#ELSE
|
||||
CALL HBX_BNKCPY
|
||||
#ENDIF
|
||||
;
|
||||
; COPY REMAINDER OF PAYLOAD EXTENDING INTO THE SECOND PHYSICAL
|
||||
; RAM BANK. NOTE THAT THE DESTINATION ADDRESS (DE) IS
|
||||
; ALREADY CORRECT FROM THE PRIOR COPY.
|
||||
LD A,BID_RAM0+1
|
||||
LD (HB_SRCBNK),A
|
||||
LD HL,$0000
|
||||
; DE IS ALREADY CORRECT
|
||||
LD BC,$8000-($8000-HB_END)
|
||||
;
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
CALL Z280_BNKCPY
|
||||
#ELSE
|
||||
@@ -1889,20 +1946,20 @@ HB_CPUSPD2:
|
||||
;
|
||||
LD HL,(HB_CPUOSC) ; INIT HL TO CPU OSC FREQ (KHZ)
|
||||
;
|
||||
#IF (Z180_CLKDIV == 0)
|
||||
; ADJUST HL TO REFLECT HALF SPEED OPERATION
|
||||
SRL H ; ADJUST HL ASSUMING
|
||||
RR L ; HALF SPEED OPERATION
|
||||
#ENDIF
|
||||
;
|
||||
#IF (Z180_CLKDIV == 1)
|
||||
#IF (Z180_CLKDIV >= 1)
|
||||
LD A,(HB_CPUTYPE) ; GET CPU TYPE
|
||||
CP 2 ; Z8S180 REV K OR BETTER?
|
||||
JR C,HB_CPU3 ; IF NOT, NOT POSSIBLE!
|
||||
; SET CLOCK DIVIDE TO 1 RESULTING IN FULL XTAL SPEED
|
||||
LD A,$80
|
||||
OUT0 (Z180_CCR),A
|
||||
; HL ALREADY REFLECTS FULL SPEED OPERATION
|
||||
; ADJUST HL TO REFLECT FULL SPEED OPERATION
|
||||
SLA L
|
||||
RL H
|
||||
#ENDIF
|
||||
;
|
||||
#IF (Z180_CLKDIV >= 2)
|
||||
@@ -2170,6 +2227,21 @@ NOT_REC_M0:
|
||||
DIAG(%01111111)
|
||||
LED(%00000011)
|
||||
;
|
||||
;
|
||||
;
|
||||
;
|
||||
#IF (BOOT_DELAY > 100)
|
||||
.ECHO "*** ERROR: INVALID BOOT_DELAY (BOOT_DELAY > 100)!!!\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#ENDIF
|
||||
;
|
||||
#IF (BOOT_DELAY > 0)
|
||||
LD B,BOOT_DELAY * 2 ; SCALE TO 1/2 SEC
|
||||
HB_BOOTDLY:
|
||||
CALL LDELAY ; 1/2 SECOND DELAY
|
||||
DJNZ HB_BOOTDLY ; LOOP TILL DONE
|
||||
#ENDIF
|
||||
;
|
||||
; PRIOR TO THIS POINT, CONSOLE I/O WAS NOT AVAILABLE UNLESS DIRECTED TO DEBUG OUTPUT I.E. XIO
|
||||
; NOW THAT HBIOS IS READY, SET THE CONSOLE UNIT TO ACTIVATE CONSOLE I/O
|
||||
; VIA HBIOS.
|
||||
@@ -2227,6 +2299,18 @@ NXTMIO: LD A,(HL)
|
||||
CALL PRTSTRD
|
||||
.TEXT "HBIOS MUTEX ENABLED$"
|
||||
#ENDIF
|
||||
;
|
||||
; DISPLAY RECOVERY MODE MESSAGE
|
||||
;
|
||||
#IF (BT_REC_TYPE != BT_REC_NONE)
|
||||
LD A,(HB_BOOT_REC) ; IF WE ARE IN RECOVERY MODE
|
||||
OR A ; DISPLAY RECOVERY MODE MESSAGE
|
||||
JR Z,NOT_REC_M2
|
||||
CALL NEWLINE
|
||||
CALL PRTSTRD
|
||||
.TEXT "RECOVERY MODE$"
|
||||
#ENDIF
|
||||
NOT_REC_M2:
|
||||
;
|
||||
DIAG(%11111111)
|
||||
;
|
||||
@@ -2389,6 +2473,9 @@ HB_Z280BUS1:
|
||||
#ENDIF
|
||||
#IF (MEMMGR == MM_MBC)
|
||||
.TEXT "MBC$"
|
||||
#ENDIF
|
||||
#IF (MEMMGR == MM_RPH)
|
||||
.TEXT "RPH$"
|
||||
#ENDIF
|
||||
CALL PRTSTRD
|
||||
.TEXT " MMU$"
|
||||
@@ -2739,6 +2826,10 @@ INITSYS4:
|
||||
LDCTL (C),HL
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF TESTING
|
||||
CALL SND_BEEP
|
||||
#ENDIF
|
||||
;
|
||||
#IFNDEF ROMBOOT
|
||||
;
|
||||
; COPY OS IMAGE: BID_USR:<IMG START> --> BID_USR:0
|
||||
@@ -2844,6 +2935,9 @@ HB_PCINITTBL:
|
||||
#IF (PIOENABLE)
|
||||
.DW PIO_PREINIT
|
||||
#ENDIF
|
||||
#IF LPTENABLE)
|
||||
.DW LPT_PREINIT
|
||||
#ENDIF
|
||||
#IF (PIO_4P | PIO_ZP)
|
||||
.DW PIO_PREINIT
|
||||
#ENDIF
|
||||
@@ -2896,6 +2990,18 @@ HB_INITTBL:
|
||||
#IF (ACIAENABLE)
|
||||
.DW ACIA_INIT
|
||||
#ENDIF
|
||||
#IF (PIOENABLE)
|
||||
.DW PIO_INIT
|
||||
#ENDIF
|
||||
#IF (LPTENABLE)
|
||||
.DW LPT_INIT
|
||||
#ENDIF
|
||||
#IF (PIO_4P | PIO_ZP)
|
||||
.DW PIO_INIT
|
||||
#ENDIF
|
||||
#IF (UFENABLE)
|
||||
.DW UF_INIT
|
||||
#ENDIF
|
||||
#IF (DSRTCENABLE)
|
||||
.DW DSRTC_INIT
|
||||
#ENDIF
|
||||
@@ -2924,8 +3030,8 @@ HB_INITTBL:
|
||||
#IF (VGAENABLE)
|
||||
.DW VGA_INIT
|
||||
#ENDIF
|
||||
#IF (NECENABLE)
|
||||
.DW NEC_INIT
|
||||
#IF (GDCENABLE)
|
||||
.DW GDC_INIT
|
||||
#ENDIF
|
||||
#IF (TMSENABLE)
|
||||
.DW TMS_INIT
|
||||
@@ -2963,15 +3069,6 @@ HB_INITTBL:
|
||||
#IF (PPPENABLE)
|
||||
.DW PPP_INIT
|
||||
#ENDIF
|
||||
#IF (PIOENABLE)
|
||||
.DW PIO_INIT
|
||||
#ENDIF
|
||||
#IF (PIO_4P | PIO_ZP)
|
||||
.DW PIO_INIT
|
||||
#ENDIF
|
||||
#IF (UFENABLE)
|
||||
.DW UF_INIT
|
||||
#ENDIF
|
||||
|
||||
;
|
||||
HB_INITTBLLEN .EQU (($ - HB_INITTBL) / 2)
|
||||
@@ -3617,7 +3714,7 @@ SND_ADDENT:
|
||||
; WORD UNIT SPECIFIC DATA (TYPICALLY A DEVICE INSTANCE DATA ADDRESS)
|
||||
;
|
||||
SND_FNCNT .EQU 8 ; NUMBER OF SND FUNCS (FOR RANGE CHECK)
|
||||
SND_MAX .EQU 3 ; UP TO 2 UNITS
|
||||
SND_MAX .EQU 4 ; UP TO 4 UNITS
|
||||
SND_SIZ .EQU SND_MAX * 4 ; EACH ENTRY IS 4 BYTES
|
||||
;
|
||||
.DB SND_FNCNT ; SND FUNCTION COUNT (FOR RANGE CHECK)
|
||||
@@ -3626,6 +3723,49 @@ SND_CNT .DB 0 ; ENTRY COUNT PREFIX
|
||||
SND_TBL .FILL SND_SIZ,0 ; SPACE FOR ENTRIES
|
||||
;
|
||||
;==================================================================================================
|
||||
; SPEAKER BEEP ROUTINE
|
||||
;==================================================================================================
|
||||
;
|
||||
; ROUTINE TO BEEP THE DEAULT SOUND UNIT
|
||||
; NEED TO CHECK FOR EXISTENCE OF SOUND UNIT
|
||||
; WHICH CHANNEL SHOULD BE USED? IS THERE A GOOD DEFAULT CHANNEL?
|
||||
;
|
||||
SND_BEEP:
|
||||
; CHECK FOR AT LEAST 1 SOUND DEVICE
|
||||
LD A,(SND_CNT) ; GET SOUND UNIT COUNT
|
||||
OR A ; CHECK FOR ZERO
|
||||
RET Z ; BAIL OUT IF NO SOUND UNITS
|
||||
|
||||
; PLAY A BEEP ON SOUND DEVICE UNIT 0
|
||||
LD B,$50 ; SOUND RESET FUNCTION
|
||||
LD C,0 ; SOUND UNIT NUMBER
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD B,$51 ; VOLUME
|
||||
LD C,0 ; SOUND UNIT NUMBER
|
||||
LD L,$FF ; MAX
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD B,$53 ; SELECT NOTE
|
||||
LD C,0 ; SOUND UNIT NUMBER
|
||||
;LD HL,0 ; A0#
|
||||
LD HL,244 ; B5 (CLOSE TO 1 KHZ)
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
;LD B,$56 ; DURATION
|
||||
;LD C,0 ; SOUND UNIT NUMBER
|
||||
;LD HL,500 ; 1/2 SECOND
|
||||
;CALL SND_DISPATCH ; DO IT
|
||||
LD B,$54 ; PLAY SOUND
|
||||
LD C,0 ; SOUND UNIT NUMBER
|
||||
LD D,0 ; CHANNEL 0
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD DE,15625 ; PLAY FOR 1/4 SECOND
|
||||
CALL VDELAY ; WAIT WHILE TONE IS PLAYED
|
||||
;CALL LDELAY ; LET SOUND PLAY 1/2 SECOND
|
||||
LD B,$50 ; SOUND RESET FUNCTION
|
||||
LD C,0 ; SOUND UNIT NUMBER
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
RET ; DONE
|
||||
;
|
||||
;==================================================================================================
|
||||
; SYSTEM FUNCTION DISPATCHER
|
||||
;==================================================================================================
|
||||
;
|
||||
@@ -3697,6 +3837,11 @@ SYS_RESINT:
|
||||
; GO BACK TO ROM BOOT LOADER
|
||||
;
|
||||
SYS_RESWARM:
|
||||
;
|
||||
#IF (ROMSIZE == 0)
|
||||
JR SYS_RESCOLD
|
||||
#ENDIF
|
||||
;
|
||||
CALL SYS_RESINT
|
||||
;
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
@@ -3713,6 +3858,14 @@ SYS_RESWARM:
|
||||
; RESTART SYSTEM AS THOUGH POWER HAD JUST BEEN TURNED ON
|
||||
;
|
||||
SYS_RESCOLD:
|
||||
;
|
||||
#IF (ROMSIZE == 0)
|
||||
LD DE,STR_RESTART
|
||||
CALL Z,WRITESTR
|
||||
DI
|
||||
HALT
|
||||
#ENDIF
|
||||
;
|
||||
#IF (MEMMGR == MM_Z280)
|
||||
JP Z280_RESTART
|
||||
#ELSE
|
||||
@@ -4008,10 +4161,10 @@ SYS_GETCPUSPD:
|
||||
;
|
||||
#IF (((PLATFORM == PLT_SBC) | (PLATFORM == PLT_MBC)) & (CPUSPDCAP==SPD_HILO))
|
||||
LD A,(HB_RTCVAL)
|
||||
BIT 3,A
|
||||
#IF (PLATFORM == PLT_SBC)
|
||||
XOR %00001000 ; SBC SPEED BIT IS INVERTED
|
||||
#ENDIF
|
||||
BIT 3,A
|
||||
LD L,0 ; ASSUME HALF SPEED
|
||||
JR Z,SYS_GETCPUSPD1
|
||||
LD L,1
|
||||
@@ -4023,19 +4176,33 @@ SYS_GETCPUSPD1:
|
||||
#ENDIF
|
||||
;
|
||||
#IF (CPUFAM == CPU_Z180)
|
||||
IN0 A,(Z180_CMR) ; GET CLOCK MULTIPLIER
|
||||
RLCA ; ROTATE BIT TO BIT 0
|
||||
AND %00000001 ; ISOLATE IT
|
||||
LD H,A ; SAVE IN H
|
||||
LD HL,0 ; INIT CPU SPEED TO HALF
|
||||
LD A,(HB_CPUTYPE) ; LOAD CPUTYPE
|
||||
CP 2 ; S-CLASS OR ABOVE?
|
||||
JR C,SYS_GETCPUSPD1 ; IF NOT, NO CCR/CMR
|
||||
;
|
||||
; GET CCR BIT
|
||||
IN0 A,(Z180_CCR) ; GET CLOCK CONTROL
|
||||
RLCA ; ROTATE BIT TO BIT 0
|
||||
AND %00000001 ; ISOLATE IT
|
||||
LD L,A ; SAVE IN L
|
||||
;
|
||||
LD A,(HB_CPUTYPE) ; LOAD CPUTYPE
|
||||
CP 3 ; REV. N?
|
||||
JR C,SYS_GETCPUSPD1 ; IF NOT, NO CMR
|
||||
;
|
||||
; GET CMR BIT
|
||||
IN0 A,(Z180_CMR) ; GET CLOCK MULTIPLIER
|
||||
RLCA ; ROTATE BIT TO BIT 0
|
||||
AND %00000001 ; ISOLATE IT
|
||||
LD H,A ; SAVE IN H
|
||||
;
|
||||
SYS_GETCPUSPD1:
|
||||
; CALC FINAL MULTIPLIER TO L
|
||||
XOR A ; CLEAR ACCUM
|
||||
ADD A,H ; ADD IN CMR BIT
|
||||
ADD A,L ; ADD IN CCR BIT
|
||||
LD L,A ; SAVE RESULT IN L
|
||||
;
|
||||
; DCNTL = MMII????
|
||||
IN0 A,(Z180_DCNTL) ; GET WAIT STATES
|
||||
RLCA ; ROTATE MEM WS BITS
|
||||
@@ -4299,6 +4466,29 @@ SYS_SETCPUSPD3:
|
||||
#ENDIF
|
||||
;
|
||||
#IF (CPUFAM == CPU_Z180)
|
||||
; VERIFY THAT REQUESTED SETTINGS ARE ALLOWED BY HARDWARE
|
||||
LD A,L ; GET SPEED REQUESTED
|
||||
CP $FF ; NO CHANGE?
|
||||
JR Z,SYS_SETCPUSPD0A ; SKIP CHECK
|
||||
LD A,(HB_CPUTYPE) ; 1=ORIG, 2=REVK, 3=REVN
|
||||
INC L ; 1=HALF,2=FULL,3=DOUBLE
|
||||
CP L ; TOO HIGH FOR CPU TYPE?
|
||||
JP C,SYS_SETCPUSPD_ERR ; CPU CAN'T DO SPD MULT
|
||||
DEC L ; RESTORE ORIG REQUEST
|
||||
SYS_SETCPUSPD0A:
|
||||
LD A,D ; MEM WS
|
||||
CP $FF ; NO CHANGE?
|
||||
JR Z,SYS_SETCPUSPD0B ; SKIP CHECK
|
||||
CP 4 ; TOO HIGH?
|
||||
JP NC,SYS_SETCPUSPD_ERR ; >3 IS TOO HIGH
|
||||
SYS_SETCPUSPD0B:
|
||||
LD A,D ; I/O WS
|
||||
CP $FF ; NO CHANGE?
|
||||
JR Z,SYS_SETCPUSPD0C ; SKIP CHECK
|
||||
CP 4 ; TOO HIGH?
|
||||
JP NC,SYS_SETCPUSPD_ERR ; >3 IS TOO HIGH
|
||||
SYS_SETCPUSPD0C:
|
||||
;
|
||||
PUSH DE ; SAVE WAIT STATES FOR NOW
|
||||
; BEFORE IMPLEMENTING THE NEW CPU SPEED, WE SWITCH THE
|
||||
; WAIT STATES TO MAXIMUM BECAUSE WE MAY BE IMPLEMENTING
|
||||
@@ -4325,11 +4515,11 @@ SYS_SETCPUSPD1:
|
||||
LD C,%10000000 ; SET CCR BIT
|
||||
SYS_SETCPUSPD2:
|
||||
;
|
||||
; IMPLEMENT THE NEW CPU SPEED
|
||||
IN0 A,(Z180_CMR)
|
||||
AND ~%10000000
|
||||
OR B
|
||||
OUT0 (Z180_CMR),A
|
||||
;
|
||||
IN0 A,(Z180_CCR)
|
||||
AND ~%10000000
|
||||
OR C
|
||||
@@ -5102,7 +5292,7 @@ HB_ADDENT:
|
||||
; ALL OTHER REGISTERS PRESERVED
|
||||
;
|
||||
; A 4 BYTE HEADER IS PLACED IN FRONT OF THE ALLOCATED MEMORY
|
||||
; - DWORD: SIZE OF MEMROY ALLOCATED (DOES NOT INCLUDE 4 BYTE HEADER)
|
||||
; - DWORD: SIZE OF MEMORY ALLOCATED (DOES NOT INCLUDE 4 BYTE HEADER)
|
||||
; - DWORD: ADDRESS WHERE ALLOC WAS CALLED (VALUE ON TOP OF STACK AT CALL)
|
||||
;
|
||||
HB_ALLOC:
|
||||
@@ -5642,6 +5832,15 @@ SIZ_ASCI .EQU $ - ORG_ASCI
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (Z2UENABLE)
|
||||
ORG_Z2U .EQU $
|
||||
#INCLUDE "z2u.asm"
|
||||
SIZ_Z2U .EQU $ - ORG_Z2U
|
||||
.ECHO "Z2U occupies "
|
||||
.ECHO SIZ_Z2U
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (UARTENABLE)
|
||||
ORG_UART .EQU $
|
||||
#INCLUDE "uart.asm"
|
||||
@@ -5678,12 +5877,39 @@ SIZ_ACIA .EQU $ - ORG_ACIA
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (Z2UENABLE)
|
||||
ORG_Z2U .EQU $
|
||||
#INCLUDE "z2u.asm"
|
||||
SIZ_Z2U .EQU $ - ORG_Z2U
|
||||
.ECHO "Z2U occupies "
|
||||
.ECHO SIZ_Z2U
|
||||
#IF (PIOENABLE)
|
||||
ORG_PIO .EQU $
|
||||
#INCLUDE "pio.asm"
|
||||
SIZ_PIO .EQU $ - ORG_PIO
|
||||
.ECHO "PIO occupies "
|
||||
.ECHO SIZ_PIO
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (LPTENABLE)
|
||||
ORG_LPT .EQU $
|
||||
#INCLUDE "lpt.asm"
|
||||
SIZ_LPT .EQU $ - ORG_LPT
|
||||
.ECHO "LPT occupies "
|
||||
.ECHO SIZ_LPT
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PIO_4P | PIO_ZP | PIO_SBC)
|
||||
ORG_PIO .EQU $
|
||||
#INCLUDE "pio.asm"
|
||||
SIZ_PIO .EQU $ - ORG_PIO
|
||||
.ECHO "PIO occupies "
|
||||
.ECHO SIZ_PIO
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (UFENABLE)
|
||||
ORG_UF .EQU $
|
||||
#INCLUDE "uf.asm"
|
||||
SIZ_UF .EQU $ - ORG_UF
|
||||
.ECHO "UF occupies "
|
||||
.ECHO SIZ_UF
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
@@ -5723,12 +5949,12 @@ SIZ_TMS .EQU $ - ORG_TMS
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (NECENABLE)
|
||||
ORG_NEC .EQU $
|
||||
;#INCLUDE "nec.asm"
|
||||
SIZ_NEC .EQU $ - ORG_NEC
|
||||
.ECHO "NEC occupies "
|
||||
.ECHO SIZ_NEC
|
||||
#IF (GDCENABLE)
|
||||
ORG_GDC .EQU $
|
||||
#INCLUDE "gdc.asm"
|
||||
SIZ_GDC .EQU $ - ORG_GDC
|
||||
.ECHO "GDC occupies "
|
||||
.ECHO SIZ_GDC
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
@@ -5792,7 +6018,7 @@ SIZ_FONTS .EQU $ - ORG_FONTS
|
||||
.ECHO SIZ_FONTS
|
||||
.ECHO " bytes.\n"
|
||||
;
|
||||
#IF (CVDUENABLE | VGAENABLE) | (TMSENABLE & (TMSMODE == TMSMODE_RCKBD))
|
||||
#IF (CVDUENABLE | VGAENABLE) | GDCENABLE | (TMSENABLE & ((TMSMODE == TMSMODE_RCKBD) | (TMSMODE == TMSMODE_MBC)))
|
||||
ORG_KBD .EQU $
|
||||
#INCLUDE "kbd.asm"
|
||||
SIZ_KBD .EQU $ - ORG_KBD
|
||||
@@ -5918,33 +6144,6 @@ SIZ_SPK .EQU $ - ORG_SPK
|
||||
.ECHO SIZ_SPK
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PIOENABLE)
|
||||
ORG_PIO .EQU $
|
||||
#INCLUDE "pio.asm"
|
||||
SIZ_PIO .EQU $ - ORG_PIO
|
||||
.ECHO "PIO occupies "
|
||||
.ECHO SIZ_PIO
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (PIO_4P | PIO_ZP | PIO_SBC)
|
||||
ORG_PIO .EQU $
|
||||
#INCLUDE "pio.asm"
|
||||
SIZ_PIO .EQU $ - ORG_PIO
|
||||
.ECHO "PIO occupies "
|
||||
.ECHO SIZ_PIO
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
;
|
||||
#IF (UFENABLE)
|
||||
ORG_UF .EQU $
|
||||
#INCLUDE "uf.asm"
|
||||
SIZ_UF .EQU $ - ORG_UF
|
||||
.ECHO "UF occupies "
|
||||
.ECHO SIZ_UF
|
||||
.ECHO " bytes.\n"
|
||||
#ENDIF
|
||||
#IF (KIOENABLE)
|
||||
ORG_KIO .EQU $
|
||||
#INCLUDE "kio.asm"
|
||||
@@ -6008,7 +6207,7 @@ SIZ_AY38910 .EQU $ - ORG_AY38910
|
||||
;
|
||||
; INCLUDE LZSA2 decompression engine if required.
|
||||
;
|
||||
#IF ((VGAENABLE | CVDUENABLE | TMSENABLE) & USELZSA2)
|
||||
#IF ((VGAENABLE | CVDUENABLE | TMSENABLE | GDCENABLE) & USELZSA2)
|
||||
#INCLUDE "unlzsa2s.asm"
|
||||
#ENDIF
|
||||
;
|
||||
@@ -6769,7 +6968,7 @@ PS_FLP_DSTR: .TEXT "SD$" ; PS_FLPSD
|
||||
;
|
||||
PS_SDSTRREF:
|
||||
.DW PS_SDUART, PS_SDASCI, PS_SDTERM, PS_SDPRPCON, PS_SDPPPCON
|
||||
.DW PS_SDSIO, PS_SDACIA, PS_SDPIO, PS_SDUF, PS_SDDUART, PS_SDZ2U
|
||||
.DW PS_SDSIO, PS_SDACIA, PS_SDPIO, PS_SDUF, PS_SDDUART, PS_SDZ2U, PS_SDLPT
|
||||
;
|
||||
PS_SDUART .TEXT "UART$"
|
||||
PS_SDASCI .TEXT "ASCI$"
|
||||
@@ -6782,6 +6981,7 @@ PS_SDPIO .TEXT "PIO$"
|
||||
PS_SDUF .TEXT "UF$"
|
||||
PS_SDDUART .TEXT "DUART$"
|
||||
PS_SDZ2U .TEXT "Z2U$"
|
||||
PS_SDLPT .TEXT "LPT$"
|
||||
;
|
||||
; CHARACTER SUB TYPE STRINGS
|
||||
;
|
||||
@@ -6801,11 +7001,11 @@ PIO_MODE_STR: .TEXT "Output$"
|
||||
; VIDEO DEVICE STRINGS
|
||||
;
|
||||
PS_VDSTRREF:
|
||||
.DW PS_VDVDU, PS_VDCVDU, PS_VDNEC, PS_VDTMS, PS_VDVGA
|
||||
.DW PS_VDVDU, PS_VDCVDU, PS_VDGDC, PS_VDTMS, PS_VDVGA
|
||||
;
|
||||
PS_VDVDU .TEXT "VDU$"
|
||||
PS_VDCVDU .TEXT "CVDU$"
|
||||
PS_VDNEC .TEXT "NEC$"
|
||||
PS_VDGDC .TEXT "GDC$"
|
||||
PS_VDTMS .TEXT "TMS$"
|
||||
PS_VDVGA .TEXT "VGA$"
|
||||
;
|
||||
@@ -7015,6 +7215,7 @@ STR_LOWBAT .DB "\r\n\r\n+++ LOW BATTERY +++$"
|
||||
STR_PANIC .TEXT "\r\n>>> PANIC: $"
|
||||
STR_SYSCHK .TEXT "\r\n>>> SYSCHK: $"
|
||||
STR_CONTINUE .TEXT "\r\nContinue (Y/N)? $"
|
||||
STR_RESTART .TEXT "\r\n\r\n>>> Press hardware reset button to restart system\r\n\r\n$"
|
||||
;
|
||||
#IF (DSKYENABLE) ; 'H','B','I','O',' ',' ',' ',' '
|
||||
#IF (DSKYMODE == DSKYMODE_V1)
|
||||
|
||||
@@ -136,6 +136,7 @@ PLT_SCZ180 .EQU 10 ; SCZ180
|
||||
PLT_DYNO .EQU 11 ; DYNO MICRO-ATX MOTHERBOARD
|
||||
PLT_RCZ280 .EQU 12 ; RC2014 W/ Z280
|
||||
PLT_MBC .EQU 13 ; MULTI BOARD COMPUTER
|
||||
PLT_RPH .EQU 14 ; RHYOPHYRE GRAPHICS COMPUTER
|
||||
;
|
||||
; HBIOS GLOBAL ERROR RETURN VALUES
|
||||
;
|
||||
@@ -182,6 +183,7 @@ CIODEV_PIO .EQU $70
|
||||
CIODEV_UF .EQU $80
|
||||
CIODEV_DUART .EQU $90
|
||||
CIODEV_Z2U .EQU $A0
|
||||
CIODEV_LPT .EQU $B0
|
||||
;
|
||||
; SUB TYPES OF CHAR DEVICES
|
||||
;
|
||||
@@ -216,7 +218,7 @@ RTCDEV_RP5 .EQU $50 ; RP5C01
|
||||
;
|
||||
VDADEV_VDU .EQU $00 ; ECB VDU - MOTOROLA 6545
|
||||
VDADEV_CVDU .EQU $10 ; ECB COLOR VDU - MOS 8563
|
||||
VDADEV_NEC .EQU $20 ; ECB UPD7220 - NEC UPD7220
|
||||
VDADEV_GDC .EQU $20 ; GRAPHICS DISPLAY CTLR - UPD7220
|
||||
VDADEV_TMS .EQU $30 ; N8 ONBOARD VDA SUBSYSTEM - TMS 9918
|
||||
VDADEV_VGA .EQU $40 ; ECB VGA3 - HITACHI HD6445
|
||||
;VDADEV_V9958 .EQU $50 ; V9958 VDU
|
||||
|
||||
@@ -1246,19 +1246,31 @@ IDE_INITDEV00:
|
||||
CALL DUMP_BUFFER ; DUMP IT IF DEBUGGING
|
||||
#ENDIF
|
||||
;
|
||||
XOR A
|
||||
LD (IY+IDE_MED),0 ; CLEAR FLAGS
|
||||
|
||||
; DETERMINE IF CF DEVICE
|
||||
LD HL,HB_WRKBUF ; FIRST WORD OF IDENTIFY DATA HAS CF FLAG
|
||||
LD A,$8A ; FIRST BYTE OF MARKER IS $8A
|
||||
CP (HL) ; COMPARE
|
||||
JR NZ,IDE_INITDEV1 ; IF NO MATCH, NOT CF
|
||||
INC HL
|
||||
LD A,$84 ; SECOND BYTE OF MARKER IS $84
|
||||
CP (HL) ; COMPARE
|
||||
JR NZ,IDE_INITDEV1 ; IF NOT MATCH, NOT CF
|
||||
SET 0,(IY+IDE_MED) ; SET FLAGS BIT FOR CF MEDIA
|
||||
;
|
||||
; DETERMINE IF CF DEVICE BY TESTING FOR CF CARD SIGNATURES
|
||||
; IN THEORY, THERE ARE SOME OTHER POSSIBLE VARIATIONS, BUT
|
||||
; THEY ARE NOT RECOMMENDED BY THE CF CARD SPEC AND MIGHT
|
||||
; OVERLAP WITH "REAL" HARD DISK SIGNATURES. I HAVE NEVER
|
||||
; SEEN A CF CARD THAT DID NOT USE ONE OF THE BELOW.
|
||||
; CREDIT TO LASZLO SZOLNOKI
|
||||
LD BC,$848A ; STANDARD CF CARD SIGNATURE
|
||||
CALL IDE_INITDEV000 ; TEST & SET
|
||||
LD BC,$044A ; ALT SIG FOR NON-REMOVABLE
|
||||
CALL IDE_INITDEV000 ; TEST & SET
|
||||
LD BC,$0040 ; ALT SIG FOR NON-REMOVABLE
|
||||
CALL IDE_INITDEV000 ; TEST & SET
|
||||
JR IDE_INITDEV1 ; CONTINUE INIT
|
||||
;
|
||||
IDE_INITDEV000:
|
||||
; CHECK IF FIRST WORD OF IDENTIFY DATA MATCHES VALUE IN BC
|
||||
; AND SET CF FLAG IF SO
|
||||
LD HL,(HB_WRKBUF) ; FIRST WORD OF IDENTIFY DATA
|
||||
OR A ; CLEAR CARRY
|
||||
SBC HL,BC ; COMPARE
|
||||
RET NZ ; ABORT IF NOT EQUAL
|
||||
SET 0,(IY+IDE_MED) ; ELSE SET FLAGS BIT FOR CF MEDIA
|
||||
RET ; AND RETURN
|
||||
;
|
||||
IDE_INITDEV1:
|
||||
; DETERMINE IF LBA CAPABLE
|
||||
|
||||
328
Source/HBIOS/lpt.asm
Normal file
328
Source/HBIOS/lpt.asm
Normal file
@@ -0,0 +1,328 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; CENTRONICS (LPT) INTERFACE DRIVER
|
||||
;==================================================================================================
|
||||
;
|
||||
; CENTRONICS-STYLE PARALLEL PRINTER DRIVER. ASSUMES IBM STYLE
|
||||
; HARDWARE INTERFACE AS DESCRIBED BELOW.
|
||||
;
|
||||
; IMPLEMENTED AS A ROMWBW CHARACTER DEVICE. CURRENTLY HANDLES OUPUT
|
||||
; ONLY.
|
||||
;
|
||||
; PORT 0 (INPUT/OUTPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | PD7 | PD6 | PD5 | PD4 | PD3 | PD2 | PD1 | PD0 |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
; PORT 1 (INPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | BUSY | ACK | POUT | SEL | ERR | 0 | 0 | 0 |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
; PORT 2 (INPUT/OUTPUT):
|
||||
;
|
||||
; D7 D6 D5 D4 D3 D2 D1 D0
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
; | STAT1 | STAT0 | ENBL | PINT | SEL | RES | LF | STB |
|
||||
; +-------+-------+-------+-------+-------+-------+-------+-------+
|
||||
;
|
||||
LPT_NONE .EQU 0 ; NOT PRESENT
|
||||
LPT_IBM .EQU 1 ; IBM PC STYLE INTERFACE
|
||||
;
|
||||
; PRE-CONSOLE INITIALIZATION - DETECT AND INIT HARDWARE
|
||||
;
|
||||
LPT_PREINIT:
|
||||
;
|
||||
; SETUP THE DISPATCH TABLE ENTRIES
|
||||
; NOTE: INTS WILL BE DISABLED WHEN PREINIT IS CALLED AND THEY MUST REMIAIN
|
||||
; DISABLED.
|
||||
;
|
||||
LD B,LPT_CFGCNT ; LOOP CONTROL
|
||||
XOR A ; ZERO TO ACCUM
|
||||
LD (LPT_DEV),A ; CURRENT DEVICE NUMBER
|
||||
LD IY,LPT_CFG ; POINT TO START OF CFG TABLE
|
||||
LPT_PREINIT0:
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
CALL LPT_INITUNIT ; HAND OFF TO UNIT INIT CODE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
;
|
||||
LD A,(IY+1) ; GET THE LPT TYPE DETECTED
|
||||
OR A ; SET FLAGS
|
||||
JR Z,LPT_PREINIT2 ; SKIP IT IF NOTHING FOUND
|
||||
;
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
PUSH IY ; CFG ENTRY ADDRESS
|
||||
POP DE ; ... TO DE
|
||||
LD BC,LPT_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
CALL NZ,CIO_ADDENT ; ADD ENTRY IF LPT FOUND, BC:DE
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
;
|
||||
LPT_PREINIT2:
|
||||
LD DE,LPT_CFGSIZ ; SIZE OF CFG ENTRY
|
||||
ADD IY,DE ; BUMP IY TO NEXT ENTRY
|
||||
DJNZ LPT_PREINIT0 ; LOOP UNTIL DONE
|
||||
;
|
||||
LPT_PREINIT3:
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; AND RETURN
|
||||
;
|
||||
; LPT INITIALIZATION ROUTINE
|
||||
;
|
||||
LPT_INITUNIT:
|
||||
CALL LPT_DETECT ; DETERMINE LPT TYPE
|
||||
LD (IY+1),A ; SAVE IN CONFIG TABLE
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; ABORT IF NOTHING THERE
|
||||
;
|
||||
; UPDATE WORKING LPT DEVICE NUM
|
||||
LD HL,LPT_DEV ; POINT TO CURRENT DEVICE NUM
|
||||
LD A,(HL) ; PUT IN ACCUM
|
||||
INC (HL) ; INCREMENT IT (FOR NEXT LOOP)
|
||||
LD (IY),A ; UPDATE UNIT NUM
|
||||
;
|
||||
; SET DEFAULT CONFIG
|
||||
LD DE,-1 ; LEAVE CONFIG ALONE
|
||||
; CALL INITDEV TO IMPLEMENT CONFIG, BUT NOTE THAT WE CALL
|
||||
; THE INITDEV ENTRY POINT THAT DOES NOT ENABLE/DISABLE INTS!
|
||||
JP LPT_INITDEVX ; IMPLEMENT IT AND RETURN
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_INIT:
|
||||
LD B,LPT_CFGCNT ; COUNT OF POSSIBLE LPT UNITS
|
||||
LD IY,LPT_CFG ; POINT TO START OF CFG TABLE
|
||||
LPT_INIT1:
|
||||
PUSH BC ; SAVE LOOP CONTROL
|
||||
LD A,(IY+1) ; GET LPT TYPE
|
||||
OR A ; SET FLAGS
|
||||
CALL NZ,LPT_PRTCFG ; PRINT IF NOT ZERO
|
||||
POP BC ; RESTORE LOOP CONTROL
|
||||
LD DE,LPT_CFGSIZ ; SIZE OF CFG ENTRY
|
||||
ADD IY,DE ; BUMP IY TO NEXT ENTRY
|
||||
DJNZ LPT_INIT1 ; LOOP TILL DONE
|
||||
;
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
; DRIVER FUNCTION TABLE
|
||||
;
|
||||
LPT_FNTBL:
|
||||
.DW LPT_IN
|
||||
.DW LPT_OUT
|
||||
.DW LPT_IST
|
||||
.DW LPT_OST
|
||||
.DW LPT_INITDEV
|
||||
.DW LPT_QUERY
|
||||
.DW LPT_DEVICE
|
||||
#IF (($ - LPT_FNTBL) != (CIO_FNCNT * 2))
|
||||
.ECHO "*** INVALID LPT FUNCTION TABLE ***\n"
|
||||
!!! ; FORCE AN ASSEMBLY ERROR
|
||||
#ENDIF
|
||||
;
|
||||
; BYTE INTPUT
|
||||
;
|
||||
LPT_IN:
|
||||
; INPUT NOT SUPPORTED - RETURN NULL BYTE
|
||||
LD E,0 ; NULL BYTE
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; BYTE OUTPUT
|
||||
;
|
||||
LPT_OUT:
|
||||
CALL LPT_OST ; READY TO SEND?
|
||||
JR Z,LPT_OUT ; LOOP IF NOT
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
OUT (C),E ; OUTPUT DATA TO PORT
|
||||
CALL DELAY ; IGNORE ANYTHING BACK AFTER A RESET
|
||||
LD A,%00001101 ; SELECT & STROBE, LEDS OFF
|
||||
INC C ; PUT CONTROL PORT IN C
|
||||
INC C
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
CALL DELAY ; IGNORE ANYTHING BACK AFTER A RESET
|
||||
LD A,%00001100 ; SELECT, LEDS OFF
|
||||
OUT (C),A ; OUTPUT DATA TO PORT
|
||||
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; INPUT STATUS
|
||||
;
|
||||
LPT_IST:
|
||||
; INPUT NOT SUPPORTED - RETURN NOT READY
|
||||
XOR A ; ZERO BYTES AVAILABLE
|
||||
RET ; DONE
|
||||
;
|
||||
; OUTPUT STATUS
|
||||
;
|
||||
LPT_OST:
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
INC C ; SELECT STATUS PORT
|
||||
IN A,(C) ; GET STATUS INFO
|
||||
AND %10000000 ; ONLY INTERESTED IN BUSY FLAG
|
||||
RET ; DONE
|
||||
;
|
||||
; INITIALIZE DEVICE
|
||||
;
|
||||
LPT_INITDEV:
|
||||
HB_DI ; AVOID CONFLICTS
|
||||
CALL LPT_INITDEVX ; DO THE REAL WORK
|
||||
HB_EI ; INTS BACK ON
|
||||
RET ; DONE
|
||||
;
|
||||
; THIS ENTRY POINT BYPASSES DISABLING/ENABLING INTS WHICH IS REQUIRED BY
|
||||
; PREINIT ABOVE. PREINIT IS NOT ALLOWED TO ENABLE INTS!
|
||||
;
|
||||
LPT_INITDEVX:
|
||||
LD A,(IY+3)
|
||||
LD C,A ; PORT 0 (DATA)
|
||||
XOR A ; CLEAR ACCUM
|
||||
OUT (C),A ; SEND IT
|
||||
INC C ; BUMP TO
|
||||
INC C ; ... PORT 2
|
||||
LD A,%00001000 ; SELECT AND ASSERT RESET, LEDS OFF
|
||||
OUT (C),A ; SEND IT
|
||||
CALL LDELAY ; HALF SECOND DELAY
|
||||
LD A,%00001100 ; SELECT AND DEASSERT RESET, LEDS OFF
|
||||
OUT (C),A ; SEND IT
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; RETURN
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_QUERY:
|
||||
LD E,(IY+4) ; FIRST CONFIG BYTE TO E
|
||||
LD D,(IY+5) ; SECOND CONFIG BYTE TO D
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET ; DONE
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_DEVICE:
|
||||
LD D,CIODEV_LPT ; D := DEVICE TYPE
|
||||
LD E,(IY) ; E := PHYSICAL UNIT
|
||||
LD C,$40 ; C := DEVICE TYPE, 0x40 IS PIO
|
||||
LD H,(IY+1) ; H := MODE
|
||||
LD L,(IY+3) ; L := BASE I/O ADDRESS
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
RET
|
||||
;
|
||||
; LPT DETECTION ROUTINE
|
||||
;
|
||||
LPT_DETECT:
|
||||
LD A,(IY+3) ; BASE PORT ADDRESS
|
||||
LD C,A ; PUT IN C FOR I/O
|
||||
CALL LPT_DETECT2 ; CHECK IT
|
||||
JR Z,LPT_DETECT1 ; FOUND IT, RECORD IT
|
||||
LD A,LPT_NONE ; NOTHING FOUND
|
||||
RET ; DONE
|
||||
;
|
||||
LPT_DETECT1:
|
||||
; LPT FOUND, RECORD IT
|
||||
LD A,LPT_IBM ; RETURN CHIP TYPE
|
||||
RET ; DONE
|
||||
;
|
||||
LPT_DETECT2:
|
||||
; LOOK FOR LPT AT BASE PORT ADDRESS IN C
|
||||
INC C ; PORT C FOR I/O
|
||||
INC C ; ...
|
||||
XOR A ; DEFAULT VALUE (TRI-STATE OFF)
|
||||
OUT (C),A ; SEND IT
|
||||
;
|
||||
;IN A,(C) ; READ IT
|
||||
;AND %11000000 ; ISOLATE STATUS BITS
|
||||
;CP %00000000 ; CORRECT VALUE?
|
||||
;RET NZ ; IF NOT, RETURN
|
||||
;LD A,%11000000 ; STATUS BITS ON (LEDS OFF)
|
||||
;OUT (C),A ; SEND IT
|
||||
;IN A,(C) ; READ IT
|
||||
;AND %11000000 ; ISOLATE STATUS BITS
|
||||
;CP %11000000 ; CORRECT VALUE?
|
||||
;
|
||||
DEC C ; BACK TO BASE PORT
|
||||
DEC C ; ...
|
||||
LD A,$A5 ; TEST VALUE
|
||||
OUT (C),A ; SEND IT
|
||||
IN A,(C) ; READ IT BACK
|
||||
CP $A5 ; CORRECT?
|
||||
RET ; RETURN (ZF SET CORRECTLY)
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_PRTCFG:
|
||||
; ANNOUNCE PORT
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("LPT$") ; FORMATTING
|
||||
LD A,(IY) ; DEVICE NUM
|
||||
CALL PRTDECB ; PRINT DEVICE NUM
|
||||
PRTS(": IO=0x$") ; FORMATTING
|
||||
LD A,(IY+3) ; GET BASE PORT
|
||||
CALL PRTHEXBYTE ; PRINT BASE PORT
|
||||
|
||||
; PRINT THE LPT TYPE
|
||||
CALL PC_SPACE ; FORMATTING
|
||||
LD A,(IY+1) ; GET LPT TYPE BYTE
|
||||
RLCA ; MAKE IT A WORD OFFSET
|
||||
LD HL,LPT_TYPE_MAP ; POINT HL TO TYPE MAP TABLE
|
||||
CALL ADDHLA ; HL := ENTRY
|
||||
LD E,(HL) ; DEREFERENCE
|
||||
INC HL ; ...
|
||||
LD D,(HL) ; ... TO GET STRING POINTER
|
||||
CALL WRITESTR ; PRINT IT
|
||||
;
|
||||
; ALL DONE IF NO LPT WAS DETECTED
|
||||
LD A,(IY+1) ; GET LPT TYPE BYTE
|
||||
OR A ; SET FLAGS
|
||||
RET Z ; IF ZERO, NOT PRESENT
|
||||
;
|
||||
; *** ADD MORE DEVICE INFO??? ***
|
||||
;
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
;
|
||||
;
|
||||
LPT_TYPE_MAP:
|
||||
.DW LPT_STR_NONE
|
||||
.DW LPT_STR_IBM
|
||||
;
|
||||
LPT_STR_NONE .DB "<NOT PRESENT>$"
|
||||
LPT_STR_IBM .DB "IBM$"
|
||||
;
|
||||
; WORKING VARIABLES
|
||||
;
|
||||
LPT_DEV .DB 0 ; DEVICE NUM USED DURING INIT
|
||||
;
|
||||
; LPT DEVICE CONFIGURATION TABLE
|
||||
;
|
||||
LPT_CFG:
|
||||
;
|
||||
LPT0_CFG:
|
||||
; LPT MODULE A CONFIG
|
||||
.DB 0 ; DEVICE NUMBER (SET DURING INIT)
|
||||
.DB 0 ; LPT TYPE (SET DURING INIT)
|
||||
.DB 0 ; MODULE ID
|
||||
.DB LPT0BASE ; BASE PORT
|
||||
.DW 0 ; LINE CONFIGURATION
|
||||
;
|
||||
LPT_CFGSIZ .EQU $ - LPT_CFG ; SIZE OF ONE CFG TABLE ENTRY
|
||||
;
|
||||
#IF (LPTCNT >= 2)
|
||||
;
|
||||
LPT1_CFG:
|
||||
; LPT MODULE B CONFIG
|
||||
.DB 0 ; DEVICE NUMBER (SET DURING INIT)
|
||||
.DB 0 ; LPT TYPE (SET DURING INIT)
|
||||
.DB 1 ; MODULE ID
|
||||
.DB LPT1BASE ; BASE PORT
|
||||
.DW 0 ; LINE CONFIGURATION
|
||||
;
|
||||
#ENDIF
|
||||
;
|
||||
LPT_CFGCNT .EQU ($ - LPT_CFG) / LPT_CFGSIZ
|
||||
@@ -221,7 +221,7 @@ PIO_PROBE2:
|
||||
RET
|
||||
;
|
||||
PIO_PROBECHIP:
|
||||
; PIO IS HRD TO DETECT DEFINITIVELY. BEST I CAN THINK
|
||||
; PIO IS HARD TO DETECT DEFINITIVELY. BEST I CAN THINK
|
||||
; OF IS TO CHECK THE VALUE READ FROM THE CONTROL PORT.
|
||||
; IT APPEARS TO BE ZERO CONSISTENTLY IF CHIP EXISTS.
|
||||
IN A,(C) ; GET VALUE
|
||||
|
||||
@@ -1273,16 +1273,29 @@ PPIDE_INITDEV00:
|
||||
;
|
||||
LD (IY+PPIDE_MED),0 ; CLEAR MEDIA FLAGS
|
||||
;
|
||||
; DETERMINE IF CF DEVICE
|
||||
LD HL,HB_WRKBUF ; FIRST WORD OF IDENTIFY DATA HAS CF FLAG
|
||||
LD A,$8A ; FIRST BYTE OF MARKER IS $8A
|
||||
CP (HL) ; COMPARE
|
||||
JR NZ,PPIDE_INITDEV1 ; IF NO MATCH, NOT CF
|
||||
INC HL
|
||||
LD A,$84 ; SECOND BYTE OF MARKER IS $84
|
||||
CP (HL) ; COMPARE
|
||||
JR NZ,PPIDE_INITDEV1 ; IF NOT MATCH, NOT CF
|
||||
SET 0,(IY+PPIDE_MED) ; SET FLAGS BIT FOR CF MEDIA
|
||||
; DETERMINE IF CF DEVICE BY TESTING FOR CF CARD SIGNATURES
|
||||
; IN THEORY, THERE ARE SOME OTHER POSSIBLE VARIATIONS, BUT
|
||||
; THEY ARE NOT RECOMMENDED BY THE CF CARD SPEC AND MIGHT
|
||||
; OVERLAP WITH "REAL" HARD DISK SIGNATURES. I HAVE NEVER
|
||||
; SEEN A CF CARD THAT DID NOT USE ONE OF THE BELOW.
|
||||
; CREDIT TO LASZLO SZOLNOKI
|
||||
LD BC,$848A ; STANDARD CF CARD SIGNATURE
|
||||
CALL PPIDE_INITDEV000 ; TEST & SET
|
||||
LD BC,$044A ; ALT SIG FOR NON-REMOVABLE
|
||||
CALL PPIDE_INITDEV000 ; TEST & SET
|
||||
LD BC,$0040 ; ALT SIG FOR NON-REMOVABLE
|
||||
CALL PPIDE_INITDEV000 ; TEST & SET
|
||||
JR PPIDE_INITDEV1 ; CONTINUE INIT
|
||||
;
|
||||
PPIDE_INITDEV000:
|
||||
; CHECK IF FIRST WORD OF IDENTIFY DATA MATCHES VALUE IN BC
|
||||
; AND SET CF FLAG IF SO
|
||||
LD HL,(HB_WRKBUF) ; FIRST WORD OF IDENTIFY DATA
|
||||
OR A ; CLEAR CARRY
|
||||
SBC HL,BC ; COMPARE
|
||||
RET NZ ; ABORT IF NOT EQUAL
|
||||
SET 0,(IY+PPIDE_MED) ; ELSE SET FLAGS BIT FOR CF MEDIA
|
||||
RET ; AND RETURN
|
||||
;
|
||||
PPIDE_INITDEV1:
|
||||
; DETERMINE IF LBA CAPABLE
|
||||
|
||||
@@ -43,6 +43,9 @@ SN7RATIO .EQU SN7CLK * 100 / 32
|
||||
|
||||
SN76489_INIT:
|
||||
LD IY, SN7_IDAT ; POINTER TO INSTANCE DATA
|
||||
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
LD DE, SN7_IDAT ; DE := SN7 INSTANCE DATA PTR
|
||||
CALL SND_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
|
||||
|
||||
LD DE,STR_MESSAGELT
|
||||
CALL WRITESTR
|
||||
@@ -53,11 +56,6 @@ SN76489_INIT:
|
||||
CALL WRITESTR
|
||||
LD A, SN76489_PORT_RIGHT
|
||||
CALL PRTHEXBYTE
|
||||
;
|
||||
SN7_INIT1:
|
||||
LD BC, SN7_FNTBL ; BC := FUNCTION TABLE ADDRESS
|
||||
LD DE, SN7_IDAT ; DE := SN7 INSTANCE DATA PTR
|
||||
CALL SND_ADDENT ; ADD ENTRY, A := UNIT ASSIGNED
|
||||
|
||||
CALL SN7_VOLUME_OFF
|
||||
XOR A ; SIGNAL SUCCESS
|
||||
@@ -67,7 +65,6 @@ SN7_INIT1:
|
||||
; SN76489 DRIVER - SOUND ADAPTER (SND) FUNCTIONS
|
||||
;======================================================================
|
||||
;
|
||||
|
||||
SN7_RESET:
|
||||
AUDTRACE(SNT_INIT)
|
||||
CALL SN7_VOLUME_OFF
|
||||
@@ -412,58 +409,57 @@ SNT_PLAY .DB "\r\nSN7_PLAY CH: $"
|
||||
SNT_REGWR .DB "\r\nOUT SN76489, $"
|
||||
#ENDIF
|
||||
|
||||
; THE FREQUENCY BY QUARTER TONE STARTING AT A0# OCTAVE 0
|
||||
; THE FREQUENCY BY QUARTER TONE STARTING AT A0#
|
||||
; USED TO MAP EACH OCTAVE (DIV BY 2 TO JUMP AN OCTAVE UP)
|
||||
; FIRST PLAYABLE NOTE WILL BE $2E
|
||||
; ASSUMING A CLOCK OF 1843200 THIS MAPS TO
|
||||
; 2 QUATER TONES BELOW A1#, WITH A1# AT $30
|
||||
; ASSUMING A CLOCK OF 3575950 HZ, THE FIRST PLAYABLE
|
||||
; NOTE WILL BE A2 (HBIOS NOTE CODE 92).
|
||||
|
||||
SN7NOTETBL:
|
||||
.DW SN7RATIO / 2913
|
||||
.DW SN7RATIO / 2956
|
||||
.DW SN7RATIO / 2999
|
||||
.DW SN7RATIO / 3042
|
||||
.DW SN7RATIO / 3086
|
||||
.DW SN7RATIO / 3131
|
||||
.DW SN7RATIO / 3177
|
||||
.DW SN7RATIO / 3223
|
||||
.DW SN7RATIO / 3270
|
||||
.DW SN7RATIO / 3318
|
||||
.DW SN7RATIO / 3366
|
||||
.DW SN7RATIO / 3415
|
||||
.DW SN7RATIO / 3464
|
||||
.DW SN7RATIO / 3515
|
||||
.DW SN7RATIO / 3566
|
||||
.DW SN7RATIO / 3618
|
||||
.DW SN7RATIO / 3670
|
||||
.DW SN7RATIO / 3724
|
||||
.DW SN7RATIO / 3778
|
||||
.DW SN7RATIO / 3833
|
||||
.DW SN7RATIO / 3889
|
||||
.DW SN7RATIO / 3945
|
||||
.DW SN7RATIO / 4003
|
||||
.DW SN7RATIO / 4061
|
||||
.DW SN7RATIO / 4120
|
||||
.DW SN7RATIO / 4180
|
||||
.DW SN7RATIO / 4241
|
||||
.DW SN7RATIO / 4302
|
||||
.DW SN7RATIO / 4365
|
||||
.DW SN7RATIO / 4428
|
||||
.DW SN7RATIO / 4493
|
||||
.DW SN7RATIO / 4558
|
||||
.DW SN7RATIO / 4624
|
||||
.DW SN7RATIO / 4692
|
||||
.DW SN7RATIO / 4760
|
||||
.DW SN7RATIO / 4829
|
||||
.DW SN7RATIO / 4899
|
||||
.DW SN7RATIO / 4971
|
||||
.DW SN7RATIO / 5043
|
||||
.DW SN7RATIO / 5116
|
||||
.DW SN7RATIO / 5191
|
||||
.DW SN7RATIO / 5266
|
||||
.DW SN7RATIO / 5343
|
||||
.DW SN7RATIO / 5421
|
||||
.DW SN7RATIO / 5499
|
||||
.DW SN7RATIO / 5579
|
||||
.DW SN7RATIO / 5661
|
||||
.DW SN7RATIO / 5743
|
||||
.DW SN7RATIO / 2913 ; A0#/B0b
|
||||
.DW SN7RATIO / 2956 ;
|
||||
.DW SN7RATIO / 2999 ;
|
||||
.DW SN7RATIO / 3042 ;
|
||||
.DW SN7RATIO / 3086 ; B0
|
||||
.DW SN7RATIO / 3131 ;
|
||||
.DW SN7RATIO / 3177 ;
|
||||
.DW SN7RATIO / 3223 ;
|
||||
.DW SN7RATIO / 3270 ; C1
|
||||
.DW SN7RATIO / 3318 ;
|
||||
.DW SN7RATIO / 3366 ;
|
||||
.DW SN7RATIO / 3415 ;
|
||||
.DW SN7RATIO / 3464 ; C1#/D1b
|
||||
.DW SN7RATIO / 3515 ;
|
||||
.DW SN7RATIO / 3566 ;
|
||||
.DW SN7RATIO / 3618 ;
|
||||
.DW SN7RATIO / 3670 ; D1
|
||||
.DW SN7RATIO / 3724 ;
|
||||
.DW SN7RATIO / 3778 ;
|
||||
.DW SN7RATIO / 3833 ;
|
||||
.DW SN7RATIO / 3889 ; D1#/E1b
|
||||
.DW SN7RATIO / 3945 ;
|
||||
.DW SN7RATIO / 4003 ;
|
||||
.DW SN7RATIO / 4061 ;
|
||||
.DW SN7RATIO / 4120 ; E1
|
||||
.DW SN7RATIO / 4180 ;
|
||||
.DW SN7RATIO / 4241 ;
|
||||
.DW SN7RATIO / 4302 ;
|
||||
.DW SN7RATIO / 4365 ; F1
|
||||
.DW SN7RATIO / 4428 ;
|
||||
.DW SN7RATIO / 4493 ;
|
||||
.DW SN7RATIO / 4558 ;
|
||||
.DW SN7RATIO / 4624 ; F1#/G1b
|
||||
.DW SN7RATIO / 4692 ;
|
||||
.DW SN7RATIO / 4760 ;
|
||||
.DW SN7RATIO / 4829 ;
|
||||
.DW SN7RATIO / 4899 ; G1
|
||||
.DW SN7RATIO / 4971 ;
|
||||
.DW SN7RATIO / 5043 ;
|
||||
.DW SN7RATIO / 5116 ;
|
||||
.DW SN7RATIO / 5191 ; G1#/A1b
|
||||
.DW SN7RATIO / 5266 ;
|
||||
.DW SN7RATIO / 5343 ;
|
||||
.DW SN7RATIO / 5421 ;
|
||||
.DW SN7RATIO / 5499 ; A1
|
||||
.DW SN7RATIO / 5579 ;
|
||||
.DW SN7RATIO / 5661 ;
|
||||
.DW SN7RATIO / 5743 ;
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
; 11. DYNO Steve Garcia's Dyno Micro-ATX Motherboard
|
||||
; 12. RCZ280 Z280 CPU on RC2014 or ZZ80MB
|
||||
; 13. MBC Andrew Lynch's Multi Board Computer
|
||||
; 14. RPH Andrew Lynch's RHYOPHYRE Graphics Computer
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;
|
||||
@@ -70,6 +71,7 @@ MM_Z180 .EQU 4 ; Z180 NATIVE MEMORY MANAGER
|
||||
MM_Z280 .EQU 5 ; Z280 NATIVE MEMORY MANAGER
|
||||
MM_ZRC .EQU 6 ; ZRC BANK SWITCHING
|
||||
MM_MBC .EQU 7 ; MBC MEMORY MANAGER
|
||||
MM_RPH .EQU 8 ; Z180 WITH RPH EXTENSIONS
|
||||
;
|
||||
; BOOT STYLE
|
||||
;
|
||||
@@ -170,6 +172,7 @@ PPIDEMODE_MFP .EQU 3 ; MULTIFUNCTION / PIC
|
||||
PPIDEMODE_N8 .EQU 4 ; MULTIFUNCTION / PIC
|
||||
PPIDEMODE_RC .EQU 5 ; RC2014 PPIDE MODULE @ $20 (ED BRINDLEY)
|
||||
PPIDEMODE_DYNO .EQU 6 ; DYNO PPIDE @ $4C
|
||||
PPIDEMODE_RPH .EQU 7 ; RHYOPHYRE (RPH)
|
||||
;
|
||||
; SD MODE SELECTIONS
|
||||
;
|
||||
@@ -196,7 +199,7 @@ AYMODE_LINC .EQU 6 ; LINC Z50 AY SOUND CARD
|
||||
AYMODE_MBC .EQU 7 ; MBC SOUND BOARD
|
||||
;
|
||||
; SN SOUND CHIP MODE SELECTIONS
|
||||
;
|
||||
;
|
||||
SNMODE_NONE .EQU 0
|
||||
SNMODE_RCZ80 .EQU 1 ; RC2014 SOUND MODULE
|
||||
SNMODE_VGM .EQU 2 ; VGM ECB BOARD
|
||||
@@ -209,6 +212,7 @@ TMSMODE_N8 .EQU 2 ; N8 BUILT-IN VIDEO
|
||||
TMSMODE_RC .EQU 3 ; RC2014 TMS9918 VIDEO BOARD
|
||||
TMSMODE_RCV9958 .EQU 4 ; RC2014 V9958 VIDEO BOARD
|
||||
TMSMODE_RCKBD .EQU 5 ; RC2014 TMS9918 + PS2 KEYBOARD
|
||||
TMSMODE_MBC .EQU 6 ; MBC V9938/58 VIDEO BOARD
|
||||
;
|
||||
; CVDU VIDEO MODE SELECTIONS
|
||||
;
|
||||
@@ -222,6 +226,18 @@ CVDUMON_NONE .EQU 0
|
||||
CVDUMON_CGA .EQU 1 ; CGA MONITOR TIMING (16.000 MHZ OSC)
|
||||
CVDUMON_EGA .EQU 2 ; EGA MONITOR TIMING (16.257 MHZ OSC)
|
||||
;
|
||||
; GDC VIDEO MODE SELECTIONS
|
||||
;
|
||||
GDCMODE_NONE .EQU 0
|
||||
GDCMODE_ECB .EQU 1 ; ECB GDC
|
||||
GDCMODE_RPH .EQU 2 ; RPH GDC
|
||||
;
|
||||
; GDC MONITOR SELECTIONS
|
||||
;
|
||||
GDCMON_NONE .EQU 0
|
||||
GDCMON_CGA .EQU 1 ; CGA MONITOR TIMING (16.000 MHZ OSC)
|
||||
GDCMON_EGA .EQU 2 ; EGA MONITOR TIMING (16.257 MHZ OSC)
|
||||
;
|
||||
; DMA MODE SELECTIONS
|
||||
;
|
||||
DMAMODE_NONE .EQU 0
|
||||
@@ -552,22 +568,22 @@ BID_ROMDN .SET $FF ; ROM DRIVE DISABLED
|
||||
.ECHO "BID_BIOS: " \ .ECHO BID_BIOS \ .ECHO "\n"
|
||||
.ECHO "BID_USR: " \ .ECHO BID_USR \ .ECHO "\n"
|
||||
.ECHO "BID_COM: " \ .ECHO BID_COM \ .ECHO "\n"
|
||||
|
||||
|
||||
.ECHO "BID_BOOT: " \ .ECHO BID_BOOT \ .ECHO "\n"
|
||||
.ECHO "BID_IMG0: " \ .ECHO BID_IMG0 \ .ECHO "\n"
|
||||
.ECHO "BID_IMG1: " \ .ECHO BID_IMG1 \ .ECHO "\n"
|
||||
.ECHO "BID_IMG2: " \ .ECHO BID_IMG2 \ .ECHO "\n"
|
||||
|
||||
|
||||
.ECHO "BID_ROMD0: " \ .ECHO BID_ROMD0 \ .ECHO "\n"
|
||||
.ECHO "BID_ROMDN: " \ .ECHO BID_ROMDN \ .ECHO "\n"
|
||||
.ECHO "BID_RAMD0: " \ .ECHO BID_RAMD0 \ .ECHO "\n"
|
||||
.ECHO "BID_RAMDN: " \ .ECHO BID_RAMDN \ .ECHO "\n"
|
||||
|
||||
|
||||
.ECHO "BID_ROM0: " \ .ECHO BID_ROM0 \ .ECHO "\n"
|
||||
.ECHO "BID_ROMN: " \ .ECHO BID_ROMN \ .ECHO "\n"
|
||||
.ECHO "BID_RAM0: " \ .ECHO BID_RAM0 \ .ECHO "\n"
|
||||
.ECHO "BID_RAMN: " \ .ECHO BID_RAMN \ .ECHO "\n"
|
||||
#ENDIF
|
||||
#ENDIF
|
||||
;
|
||||
; MEMORY LAYOUT
|
||||
;
|
||||
@@ -705,7 +721,7 @@ INT_CTC0D .EQU 15 ; ZILOG CTC 0, CHANNEL D
|
||||
;INT_PIO0B .EQU 10 ; ZILOG PIO 0, CHANNEL B
|
||||
;INT_PIO1A .EQU 11 ; ZILOG PIO 1, CHANNEL A
|
||||
;INT_PIO1B .EQU 12 ; ZILOG PIO 1, CHANNEL B
|
||||
|
||||
|
||||
#ELSE
|
||||
|
||||
INT_CTC0A .EQU 0 ; ZILOG CTC 0, CHANNEL A
|
||||
|
||||
@@ -63,9 +63,22 @@ TMS_PPIX .EQU 0 ; PPI CONTROL PORT
|
||||
|
||||
#ENDIF
|
||||
;
|
||||
#IF (TMSMODE == TMSMODE_MBC)
|
||||
|
||||
TMS_DATREG .EQU $98 ; READ/WRITE DATA
|
||||
TMS_CMDREG .EQU $99 ; READ STATUS / WRITE REG SEL
|
||||
TMS_ACR .EQU $9C ; AUX CONTROL REGISTER
|
||||
TMS_PPIA .EQU 0 ; PPI PORT A
|
||||
TMS_PPIB .EQU 0 ; PPI PORT B
|
||||
TMS_PPIC .EQU 0 ; PPI PORT C
|
||||
TMS_PPIX .EQU 0 ; PPI CONTROL PORT
|
||||
TMS_KBDDATA .EQU $E2 ; KBD CTLR DATA PORT
|
||||
TMS_KBDST .EQU $E3 ; KBD CTLR STATUS/CMD PORT
|
||||
#ENDIF
|
||||
|
||||
TMS_ROWS .EQU 24
|
||||
|
||||
#IF (TMSMODE == TMSMODE_RCV9958)
|
||||
#IF ((TMSMODE == TMSMODE_RCV9958) | (TMSMODE == TMSMODE_MBC))
|
||||
TMS_FNTVADDR .EQU $1000 ; VRAM ADDRESS OF FONT DATA
|
||||
TMS_COLS .EQU 80
|
||||
#ELSE
|
||||
@@ -86,7 +99,7 @@ TERMENABLE .SET TRUE ; INCLUDE TERMINAL PSEUDODEVICE DRIVER
|
||||
#DEFINE TMS_IODELAY EX (SP),HL \ EX (SP),HL ; 38 W/S
|
||||
#ELSE
|
||||
; BELOW WAS TUNED FOR SBC AT 8MHZ
|
||||
#IF (TMSMODE == TMSMODE_RCV9958)
|
||||
#IF ((TMSMODE == TMSMODE_RCV9958) | (TMSMODE == TMSMODE_MBC))
|
||||
#DEFINE TMS_IODELAY NOP \ NOP \ NOP \ NOP \ NOP \ NOP \ NOP ; V9958 NEEDS AT WORST CASE, APPROX 4us (28T) DELAY BETWEEN I/O (WHEN IN TEXT MODE)
|
||||
#ELSE
|
||||
#DEFINE TMS_IODELAY NOP \ NOP ; 8 W/S
|
||||
@@ -110,18 +123,28 @@ TMS_INIT:
|
||||
CALL TMS_Z180IO
|
||||
#ENDIF
|
||||
;
|
||||
#IF (TMSMODE == TMSMODE_SCG)
|
||||
#IF ((TMSMODE == TMSMODE_SCG) | (TMSMODE == TMSMODE_MBC))
|
||||
LD A,$FF
|
||||
OUT (TMS_ACR),A ; INIT AUX CONTROL REG
|
||||
#ENDIF
|
||||
;
|
||||
LD IY,TMS_IDAT ; POINTER TO INSTANCE DATA
|
||||
;
|
||||
CALL NEWLINE ; FORMATTING
|
||||
PRTS("TMS: MODE=$")
|
||||
|
||||
#IF ((TMSMODE == TMSMODE_MBC))
|
||||
LD A,$FE
|
||||
OUT (TMS_ACR),A ; INIT AUX CONTROL REG
|
||||
#ENDIF
|
||||
|
||||
|
||||
LD IY,TMS_IDAT ; POINTER TO INSTANCE DATA
|
||||
;
|
||||
#IF (TMSMODE == TMSMODE_SCG)
|
||||
PRTS("SCG$")
|
||||
#ENDIF
|
||||
#IF (TMSMODE == TMSMODE_MBC)
|
||||
PRTS("MBC$")
|
||||
#ENDIF
|
||||
#IF (TMSMODE == TMSMODE_N8)
|
||||
PRTS("N8$")
|
||||
#ENDIF
|
||||
@@ -153,7 +176,7 @@ TMS_INIT1:
|
||||
#IF (TMSMODE == TMSMODE_N8)
|
||||
CALL PPK_INIT ; INITIALIZE PPI KEYBOARD DRIVER
|
||||
#ENDIF
|
||||
#IF (TMSMODE == TMSMODE_RCKBD)
|
||||
#IF ((TMSMODE == TMSMODE_RCKBD) | (TMSMODE == TMSMODE_MBC))
|
||||
CALL KBD_INIT ; INITIALIZE 8242 KEYBOARD DRIVER
|
||||
#ENDIF
|
||||
#IF MKYENABLE
|
||||
@@ -208,7 +231,7 @@ TMS_FNTBL:
|
||||
.DW PPK_FLUSH
|
||||
.DW PPK_READ
|
||||
#ELSE
|
||||
#IF (TMSMODE == TMSMODE_RCKBD)
|
||||
#IF ((TMSMODE == TMSMODE_RCKBD) | (TMSMODE == TMSMODE_MBC))
|
||||
.DW KBD_STAT
|
||||
.DW KBD_FLUSH
|
||||
.DW KBD_READ
|
||||
@@ -217,7 +240,7 @@ TMS_FNTBL:
|
||||
.DW MKY_STAT
|
||||
.DW MKY_FLUSH
|
||||
.DW MKY_READ
|
||||
|
||||
|
||||
#ELSE
|
||||
.DW TMS_STAT
|
||||
.DW TMS_FLUSH
|
||||
@@ -412,7 +435,7 @@ TMS_SET:
|
||||
;----------------------------------------------------------------------
|
||||
;
|
||||
TMS_WR:
|
||||
#IF (TMSMODE == TMSMODE_RCV9958)
|
||||
#IF ((TMSMODE == TMSMODE_RCV9958) | (TMSMODE == TMSMODE_MBC))
|
||||
; CLEAR R#14 FOR V9958
|
||||
XOR A
|
||||
OUT (TMS_CMDREG), A
|
||||
@@ -903,12 +926,13 @@ TMS_IDAT:
|
||||
.DB TMS_PPIC ; PPI PORT C
|
||||
.DB TMS_PPIX ; PPI CONTROL PORT
|
||||
#ENDIF
|
||||
#IF (TMSMODE == TMSMODE_RCKBD)
|
||||
#IF ((TMSMODE == TMSMODE_RCKBD) | (TMSMODE == TMSMODE_MBC))
|
||||
.DB TMS_KBDST ; 8242 CMD/STATUS PORT
|
||||
.DB TMS_KBDDATA ; 8242 DATA PORT
|
||||
.DB 0 ; FILLER
|
||||
.DB 0 ; FILER
|
||||
#ENDIF
|
||||
|
||||
TMS_PORTS:
|
||||
;
|
||||
.DB TMS_DATREG
|
||||
.DB TMS_CMDREG
|
||||
;
|
||||
@@ -954,7 +978,7 @@ TMS_PORTS:
|
||||
; 5S Fifth sprite (not displayed) detected. Value in FS* is valid.
|
||||
; INT Set at each screen update, used for interrupts.
|
||||
;
|
||||
#IF (TMSMODE == TMSMODE_RCV9958)
|
||||
#IF ((TMSMODE == TMSMODE_RCV9958) | (TMSMODE == TMSMODE_MBC))
|
||||
TMS_INITVDU:
|
||||
.DB $04 ; REG 0 - NO EXTERNAL VID, SET M4 = 1
|
||||
TMS_INITVDU_REG_1:
|
||||
@@ -989,7 +1013,3 @@ TMS_INITVDULEN .EQU $ - TMS_INITVDU
|
||||
#IF (CPUFAM == CPU_Z180)
|
||||
TMS_DCNTL .DB $00 ; SAVE Z180 DCNTL AS NEEDED
|
||||
#ENDIF
|
||||
;
|
||||
.ECHO "TMS instance data occupies "
|
||||
.ECHO $ - TMS_IDAT
|
||||
.ECHO " bytes\n"
|
||||
|
||||
@@ -131,6 +131,8 @@ TTY_DEVICE:
|
||||
;
|
||||
TTY_DOCHAR:
|
||||
LD A,E ; CHARACTER TO PROCESS
|
||||
CP 7 ; BEL
|
||||
JP Z,SND_BEEP
|
||||
CP 8 ; BACKSPACE
|
||||
JR Z,TTY_BS
|
||||
CP 12 ; FORMFEED
|
||||
|
||||
@@ -55,7 +55,7 @@ UART_AFCACT .EQU 5 ; AUTO FLOW CONTROL ACTIVE BIT
|
||||
;
|
||||
UARTSBASE .EQU $68
|
||||
UARTCBASE .EQU $80
|
||||
UARTMBASE .EQU $48
|
||||
UARTMBASE .EQU $18
|
||||
UART4BASE .EQU $C0
|
||||
UARTRBASE .EQU $A0
|
||||
UARTDBASE .EQU $80
|
||||
|
||||
@@ -13,6 +13,7 @@ call BuildDisk.cmd nzcom fd wbw_fd144 ..\zsdos\zsys_wbw.sys || exit /b
|
||||
call BuildDisk.cmd cpm3 fd wbw_fd144 ..\cpm3\cpmldr.sys || exit /b
|
||||
call BuildDisk.cmd zpm3 fd wbw_fd144 ..\zpm3\zpmldr.sys || exit /b
|
||||
call BuildDisk.cmd ws4 fd wbw_fd144 || exit /b
|
||||
call BuildDisk.cmd qpm fd wbw_fd144 d_qpm\u0\qpm.sys || exit /b
|
||||
|
||||
echo.
|
||||
echo Building Hard Disk Images (512 directory entry format)...
|
||||
@@ -24,6 +25,7 @@ call BuildDisk.cmd cpm3 hd wbw_hd512 ..\cpm3\cpmldr.sys || exit /b
|
||||
call BuildDisk.cmd zpm3 hd wbw_hd512 ..\zpm3\zpmldr.sys || exit /b
|
||||
call BuildDisk.cmd ws4 hd wbw_hd512 || exit /b
|
||||
call BuildDisk.cmd dos65 hd wbw_hd512 ..\zsdos\zsys_wbw.sys || exit /b
|
||||
call BuildDisk.cmd qpm hd wbw_hd512 d_qpm\u0\qpm.sys || exit /b
|
||||
|
||||
if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp hd wbw_hd512 || exit /b
|
||||
|
||||
@@ -40,6 +42,7 @@ call BuildDisk.cmd nzcom hd wbw_hd1024 ..\zsdos\zsys_wbw.sys || exit /b
|
||||
call BuildDisk.cmd cpm3 hd wbw_hd1024 ..\cpm3\cpmldr.sys || exit /b
|
||||
call BuildDisk.cmd zpm3 hd wbw_hd1024 ..\zpm3\zpmldr.sys || exit /b
|
||||
call BuildDisk.cmd ws4 hd wbw_hd1024 || exit /b
|
||||
call BuildDisk.cmd qpm hd wbw_hd1024 d_qpm\u0\qpm.sys || exit /b
|
||||
|
||||
if exist ..\BPBIOS\bpbio-ww.rel call BuildDisk.cmd bp hd wbw_hd1024 || exit /b
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
SYSTEMS = ../CPM22/cpm_wbw.sys ../ZSDOS/zsys_wbw.sys ../CPM3/cpmldr.sys ../ZPM3/zpmldr.sys
|
||||
|
||||
FDIMGS = fd144_cpm22.img fd144_zsdos.img fd144_nzcom.img \
|
||||
fd144_cpm3.img fd144_zpm3.img fd144_ws4.img
|
||||
fd144_cpm3.img fd144_zpm3.img fd144_ws4.img fd144_qpm.img
|
||||
HD512IMGS = hd512_cpm22.img hd512_zsdos.img hd512_nzcom.img \
|
||||
hd512_cpm3.img hd512_zpm3.img hd512_ws4.img
|
||||
# HDIMGS += hd512_bp.img
|
||||
@@ -16,8 +16,8 @@ HD512PREFIX =
|
||||
HD1024PREFIX = hd1024_prefix.dat
|
||||
|
||||
OBJECTS = $(FDIMGS)
|
||||
OBJECTS += $(HD512IMGS) hd512_dos65.img hd512_combo.img $(HD512PREFIX)
|
||||
OBJECTS += $(HD1024IMGS) hd1024_combo.img $(HD1024PREFIX)
|
||||
OBJECTS += $(HD512IMGS) hd512_combo.img hd512_dos65.img hd512_qpm.img$(HD512PREFIX)
|
||||
OBJECTS += $(HD1024IMGS) hd1024_combo.img hd1024_qpm.img $(HD1024PREFIX)
|
||||
|
||||
OTHERS = blank144 blankhd512 blankhd1024
|
||||
|
||||
@@ -71,6 +71,7 @@ blankhd1024:
|
||||
@sys= ; \
|
||||
case $@ in \
|
||||
(*cpm22*) sys=../CPM22/cpm_wbw.sys;; \
|
||||
(*qpm*) sys=d_qpm/u0/qpm.sys;; \
|
||||
(*zsdos* | *nzcom* | *dos65*) sys=../ZSDOS/zsys_wbw.sys;; \
|
||||
(*cpm3*) sys=../CPM3/cpmldr.sys;; \
|
||||
(*zpm3*) sys=../ZPM3/zpmldr.sys;; \
|
||||
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,321 +1,129 @@
|
||||
:203800004C21CED84820FCBB682000BCAD92CC4A4A4A4A8DF6BFAD43BFD03CA2FF9AD8A946
|
||||
:203820001120F0BB2069BCA93E20F0BBAD8BBEAC8CBE20F4BBA000AE43BFF0DFB944BFC956
|
||||
:20384000619009C97BB005295F9944BFC8CAD0EC8A9944BF8DE7BF20A4BD202BBC8DE8BFEE
|
||||
:2038600020A5BCD064ADE9BFF004A915D02EA900AA8DECBFA001BD1DBFF01AD9C3BFD00490
|
||||
:20388000E8C8D0F2E8BD1DBFD0FAE8EEECBFADECBFC907D0DFADECBF0A6DECBFAAE8BD96B4
|
||||
:2038A000BEBC97BE8DEABF8CEBBFAD8FBE48AD8EBE486CEABF2034BC20A5BCADC4BF38E953
|
||||
:2038C000200DE9BFD0034C1BB820E1BBACEDBFB944BFF00AC920F0062072BCC8D0F1A93FB9
|
||||
:2038E00020F0BB4C1BB820A5BC20ABBDA920CDC4BFD00FCDCCBFD00AA93FA00B99C3BF8875
|
||||
:20390000D0FA205FBC3058ADF6BF8DF5BF20E1BB206CBCA93A20F0BBADEEBF0A0A0A0A0A39
|
||||
:203920002960A8C8A201B92801297F2072BCC8E8E00CF00CE009D0EEA92E2072BC4C26B984
|
||||
:2039400020F8BBD0192097BC2010BC8DEEBF300ECEF5BFF0B220EEBB20EEBB4C10B960A009
|
||||
:20396000344CC0BD20A5BCD057209EBC20ABBD205FBC304F20E0BDACE7BFB944BFC920D062
|
||||
:203980003C20A5BCD037ADE9BFF012CDF2BFF00D38E901CDE8BFD025ADF2BFD020ADF2BF5A
|
||||
:2039A0008DE9BFA9008DD3BF20ABBD205FBC100920E0BD2097BC4C27BCA03ED0082034BC09
|
||||
:2039C0004CC9B8A0344CC0BDA900A0088DFCBF8CFDBF2005BED07A8DF1BF0DF1BFF07220F3
|
||||
:2039E000A5BCD06D20E0BD209EBC2005BEAEC4BFE020F00A8DFCBF8CFDBFC002905320F39C
|
||||
:203A0000BD20ABBD2014BC2097BC2023BC3045204ABC304418ADFDBF6DF1BF8DF1BFADFC6C
|
||||
:203A2000BFACFDBF8DF3BF8CF4BF20CACA2097BC201FBCD02718ADF3BFACF4BF6980900376
|
||||
:203A4000C8F005CCF1BFD0DC2097BC2008BC3010604CC9B8A001D00AA055D006A062D002A3
|
||||
:203A6000A00A4CC0BD20A5BCC90BD013A01820C0BD20EABB4820E1BB68295FC959D0D120AA
|
||||
:203A8000ABBD4C14BC20A5BCD0302047BC303220E1BB2059BCF00410203022A200BD2801AD
|
||||
:203AA000C91AF0152072BC20F8BBD008AEEFBFE810EB30DEA206200301604CC9B8A029D046
|
||||
:203AC00002A0344CC0BD20D5BD20A5BCD0EC20E0BD209EBC2005BEAEC4BFE020F00320D921
|
||||
:203AE000BD20F3BD2047BC30D8ADF3BFACF4BF202FBC2059BCD00620B7CA4CEFBA30BE4C6A
|
||||
:203B0000A4BD2005BEAEC4BFE020F0034C76BB4C72BBADC4BFC920D011ADE9BFF00938E9DE
|
||||
:203B2000018DE8BF2000BC4CB8B8ADCCBFC920F0034CD9BBA202BDE4BF9DCCBFCA10F720A7
|
||||
:203B400047BC10034CD6BB20D5BD202FBC2059BCD01E20B7CACD91BE9007CC92BE90EBB0F7
|
||||
:203B600007CC92BE90E4F0E220A4BD2059BCF06C306AA900A0088DCBBB8CCCBB2034BC2089
|
||||
:203B8000A5BCADE9BF8DC3BFA21020A7BCADE9BF8DD3BFA0008CE3BFA220BDC3BF9D070143
|
||||
:203BA000CA10F7E8B944BFF007C920F003C8D0F4A9008D2801B944BF9D2901F007E8C8EEBA
|
||||
:203BC0002801D0F120E1BB20A4BD200008ADE8BF2000BC4C1BB82034BC4CC9B8A04A4CC074
|
||||
:203BE000BDA90D20F0BBA90AD006A201D043A920A202D03DA20AD039A20BD035A20DD031B7
|
||||
:203C0000A20ED02DA20FD029A210D025A211D021A212D01D2097BCA213D016A214D012A219
|
||||
:203C200015D00EA216D00AA217D006A219D002A21A4C0301ADE9BFF01F38E901CDE8BFF0ED
|
||||
:203C400017ADE8BF4C00BC20ABBDA9008DE3BF2097BC2004BC8DEEBF602097BC4C1BBC20EE
|
||||
:203C600097BC200CBC8DEEBF6020E1BB202BBC1869418EEFBF8CF0BF20C1C8B01048AD9085
|
||||
:203C8000CC20F0BB68094020F0BBAD8FCC20F0BBACF0BFAEEFBF60AD94BEAC95BE60ADE933
|
||||
:203CA000BF8DF2BF60A2008A48A9008DE9BFACE7BF2072BD8CEDBFF00D290F48C8B944BF7B
|
||||
:203CC000C93AF00A6888ADE8BF9DC3BF1008688DE9BF9DC3BFC8A9088DECBF207FBDF01D96
|
||||
:203CE000E8C92AD007A93F9DC3BFD0049DC3BFC8CEECBFD0E6207FBDF011C8D0F8E8A92083
|
||||
:203D00009DC3BFCEECBFD0F5B944BF48A9038DECBF68C92ED023C8207FBDF01DE8C92AD030
|
||||
:203D200007A93F9DC3BFD0049DC3BFC8CEECBFD0E6207FBDF00EC8D0F8E8A9209DC3BFCE03
|
||||
:203D4000ECBFD0F5A9038DECBFE8A9009DC3BFCEECBFD0F58CE7BFA9008DECBF68A8A20B51
|
||||
:203D6000C8B9C3BFC93FD003EEECBFCAD0F2ADECBF60B944BFF007C920D003C8D0F460B974
|
||||
:203D800044BFF01CC9209019F016C93DF012C92EF00EC93AF00AC93BF006C93CF002C93E8A
|
||||
:203DA000604CC9B8A928A0014C2FBCA9008DC3BFADE9BFF01F38E901CDE8BFF0174C00BC6C
|
||||
:203DC0008CF0BF20E1BBACF0BFB9AFBEF0062072BCC8D0F560A900A0088DF3BF8CF4BF600B
|
||||
:203DE000A20FBDC3BFBCD3BF9DD3BF989DC3BFCA10F060A20FBDD3BF9DC3BFCA10F7ADF2E6
|
||||
:203E0000BF8DE9BF60A9098DF7BF20A5BCADE9BFD0678DF8BF8DF9BFA8B9C4BFC924D0061C
|
||||
:203E2000A90F8DF7BFC8C8B9C3BFC920F04E20A1CA900E20ABCAB041E906A20FECF7BFD0D4
|
||||
:203E400038290F48ADF8BF8DFABFADF9BF8DFBBFAEF7BF18ADF8BF6DFABF8DF8BFADF9BFA5
|
||||
:203E60006DFBBF8DF9BFB011CAD0E9686DF8BF8DF8BF90B2EEF9BFD0AD4CC9B8ADCCBFC98F
|
||||
:203E800020D0F6ADF8BFACF9BF604C42BF4CB4B84C03B84CC3BF4CE6B84CC8B94C65BA4CCC
|
||||
:203EA00085BA4C64B94C02BB4CC6BA4C12BBFF004E4F2053504143450043414E204E4F5461
|
||||
:203EC00020434C4F534500414C4C2046494C45532028592F4E293F00524541442045525235
|
||||
:203EE0004F52004E4F5420464F554E440046494C4520455849535453004C4F41442045529D
|
||||
:203F0000524F520043414E204E4F54204F50454E005752495445204552524F520044495265
|
||||
:203F20002000534156452000455241200054595045200052454E2000474F20004C4F4144DD
|
||||
:203F400020007F0000000000000000000000000000000000000000000000000000000000C2
|
||||
:203F6000000000000000000000000000000000000000000000000000000000000000000041
|
||||
:203F8000000000000000000000000000000000000000000000000000000000000000000021
|
||||
:203FA000000000000000000000000000000000000000000000000000000000000000000001
|
||||
:203FC0000000000000000000000000000000000000000000000000000000000000000000E1
|
||||
:203FE00000000000434F360000000000000000000000000008000009000000000008D88D7B
|
||||
:2040000098CB8DDCCB8C99CB8CDDCB8E9ACBE024B050BD54CBF008A9FF8D97CB20E9C2A90F
|
||||
:20402000008D9FCBAD9ACB0A6D9ACBAAE8BD76C0BC77C08DA0CB8CA1CBADE4CA48ADE3CA36
|
||||
:2040400048AD98CBAC99CB6CA0CB8D9BCB8C9CCBAD9FCBF00DA0009102ADA9CB8D98CB20C3
|
||||
:2040600004C32C97CB100820E9C2A9008D97CBAC9CCBAD9BCB604CEAC04CDBC24C19C94C91
|
||||
:204080006BCC4C68CC4C65CC4C8BC84C1FC14C2AC14CD0C84C85C94C9BC84C83CC4C32C3E1
|
||||
:2040A0004C04C34CAFC54CEAC54C0EC64C3AC14CA2C14C42C14CC7C14CB7C64C80C14C3225
|
||||
:2040C000C14C2EC14CF9C24C23C14C6DC54C36C14CE2C04CE6C04CFAC04C0EC14C18C14C7A
|
||||
:2040E00089CC8D95CB60AD95CB602C97CB100820E9C2A9008D97CB4C59CC2086CC8DC5CBA8
|
||||
:204100008CC6CB8EC7CB8A2980A8ADC5CB60ADC7CB297FA8ADC6CB60AD6CC3AC6DC360ADF8
|
||||
:20412000060160ADD4CBACD5CB608D060160ADAACB60ADABCB60ADACCB602012C3A90D4CAC
|
||||
:204140001BC62012C3208FC5ADB5CBCDB6CB9013C980F003A90160A20120F3C6C900D0F4A8
|
||||
:204160008DB5CB2084C7ADB0CB0DB1CBD003A902602066C620ACC4203DC8209EC5A90060AB
|
||||
:204180002012C3201AC8A90C2013C63014A900A0109102A90CA2102086C6A90C201BC610B1
|
||||
:2041A000EC602012C3201AC8A90C2013C63017A20020EAC7ACAFCBAD53CB91042043C8A9FA
|
||||
:2041C0000C201BC610E9602012C3201AC8208FC5ADB5CBC9809003A901602084C7A9008D5A
|
||||
:2041E000D9CBADB0CB0DB1CBF0034CAAC2A9028DD9CBAD91CB48C910F01AA8882CC0CB10B8
|
||||
:204200000188B1028DB0CBC8A9002CC0CB1002B1028DB1CBADB0CB8DA5CB8DA7CBADB1CB17
|
||||
:204220008DA6CB8DA8CBADA7CBCDCBCBD008ACA8CBCCCCCBF012EEA7CBD003EEA8CBADA5BC
|
||||
:20424000CB0DA6CBF018D00BADA5CB0DA6CBD003A8F030ADA5CBD003CEA6CBCEA5CBADA53D
|
||||
:20426000CBACA6CB2051C5D009ADA5CBACA6CB4C83C2ADA7CBACA8CB2051C5D0A9ADA7CB70
|
||||
:20428000ACA8CB8DB0CB8CB1CB0DB1CBD00468A90260ADB0CB2065C568A8ADB0CB9102AD35
|
||||
:2042A000B1CBC82CC0CB100291022066C620ACC42049C8AEB5CBECB6CB9005E88EB6CBCA60
|
||||
:2042C000E07FD011209EC5A20020F3C6C900D00AA9FF8DB5CB209EC5A90060208BC820C168
|
||||
:2042E000C89005482019C96860A207B502BCDCCB9DDCCB9402CA10F360A502A4038504842A
|
||||
:20430000054C7ACCAD98CBCDAACBF0EC8DAACB4C45C3A000B102F01938E90129078D98CBE4
|
||||
:20432000ADAACB8DA9CBB1028D9FCB9891022004C360A9028DAACB8DABCBA928A001850295
|
||||
:20434000840320F9C2ADAACBC908900F206CC8ADE6CAACE7CA20D0C84CEAC02071CC8D6C57
|
||||
:20436000C38C6DC30D6DC3F0E3A00DB9FFFF99CBCB8810F7ADD1CBA81869038DC4CBB98BB7
|
||||
:20438000CB8DC3CBADD2CB8DC1CBADD3CB4A6EC1CB4A6EC1CB8DC2CBA9008DC0CBADCCCBE2
|
||||
:2043A000F00588386EC0CBB988CB8DDACB38A91FF988CB8DDBCBAEAACBBD80CB2DABCBD0F4
|
||||
:2043C0000CBD80CB0DABCB8DABCB4CCEC360202EC8ADCBCB8DC8CBADCCCBA2034A6EC8CB59
|
||||
:2043E000CAD0F98DC9CBEEC8CBD003EEC9CBADD4CBACD5CB85068407A000A9009106E606B9
|
||||
:20440000D002E607ADC8CBD003CEC9CBCEC8CBADC8CB0DC9CBD0E3ADC1CB8DC8CBADC2CBE0
|
||||
:20442000AEC4CB4A6EC8CBCAD0F98DC9CBEEC8CBD003EEC9CB8EB0CB8EB1CBADB0CBACB1D2
|
||||
:20444000CB2065C5EEB0CBD003EEB1CBADC8CBD003CEC9CBCEC8CBADC8CB0DC9CBD0DC201E
|
||||
:204460007EC420DEC7A2012026C73011ACAFCBB104C9E5F0F0A20120EAC74C65C460206E04
|
||||
:20448000CCADCFCBACD0CB4C74CCADAECB8DB1CBADADCB4EB1CB6A4EB1CB6A8DB7CB8DB02E
|
||||
:2044A000CBADB1CB8DB8CBA9008DB2CBA2008ECACB8EA2CB8EA3CB8EA4CBADB0CBCDA2CB2A
|
||||
:2044C000ADB1CBEDA3CBADB2CBEDA4CB902118ADA2CB6DCDCB8DA2CBADA3CB6DCECB8DA39F
|
||||
:2044E000CB9003EEA4CBE8D0D1EECACB4CBAC4CAE0FFD003CECACB8A186DCFCBAAADCACBB7
|
||||
:204500006DD0CBA88A2074CC38ADA2CBEDCDCB8DA2CBADA3CBEDCECB8DA3CB38ADB0CBED47
|
||||
:20452000A2CBAAADB1CBEDA3CBA88A2089CC4C77CC488407A00346076A88D0FA186DD4CB07
|
||||
:204540008506A5076DD5CB8507682907AABD78CB602031C5310660E001F00A2031C549FF03
|
||||
:2045600031069106602031C51106910660AEAACBBD80CB0DACCB8DACCB60A900A07F187185
|
||||
:20458000048810FA60AEAACBBD80CB2DACCB60A020B1028DB5CBA00FB1028DB6CB60AEB543
|
||||
:2045A000CBE88AA0209102ADB6CBA00F9102602012C32011C63032A90C0DAFCBA8B104AA0A
|
||||
:2045C00098291FA88A9102980DAFCBA8C898291FD0EBA00CAD92CBD102F00B9102A980903C
|
||||
:2045E000010AA00F9102ADB9CB602012C32011C6301B2085C5D013A00CB10248980DAFCB93
|
||||
:20460000A868D1046E90CB2082C6ADB9CB602012C3A90D4820DEC7207EC4688DB3CBA200C4
|
||||
:204620008EB4CB2026C7303DAEB3CBACB4CBEEB4CBB102C00CD0138D92CB48980DAFCBA8D4
|
||||
:204640006851042DDBCBF017D0D4C93FF01148980DAFCBA868851CB104297FC51CD0BFCA67
|
||||
:20466000D0C9ADB9CB60AEC4CB0EB0CB2EB1CB2EB2CBCAD0F4ADC3CB2DB5CB0DB0CB8DB0BA
|
||||
:20468000CB60A920A2008DB3CBCEB3CB188A6DB3CBA8C00CF004C00FD0052C90CB100DB13F
|
||||
:2046A0000248ADB3CB0DAFCBA8689104CEB3CB10DB208AC44C43C82012C3201AC8A5024877
|
||||
:2046C000A50348ADE9CAACEACA85028403A9012013C6688503688502ADB9CB3015A00DA9CE
|
||||
:2046E000009102C8C021D0F9386E90CB2082C6ADB9CB608E9ECB20EDC5302AA00CB1021821
|
||||
:204700006901291FF01791022011C6100BAD9ECBD01320BAC64C1BC720B2C51003A90160C0
|
||||
:20472000208FC5A900608A48EEADCBD003EEAECBADD2CBCDADCBADD3CBEDAECBB00568AA83
|
||||
:204740004CDEC7ADADCB29038DB9CB0A0A0A0A0A8DAFCBF00568AA4C62C7208AC4203DC8BE
|
||||
:2047600068AAADB9CB602CD6CB30FACAD009207AC520C8C7910860207AC520C8C7D108F01E
|
||||
:20478000E44C6DC5AEC4CBADB5CB4ACAD0FC8DB0CB38A908EDC4CBAAA00CB1022DDACB4ADB
|
||||
:2047A0002ACAD0FC186DB0CB2CC0CB10010A1869108D91CBA8B1028DB0CBC8A9002CC0CB62
|
||||
:2047C0001002B1028DB1CB604818ADB7CB6DD7CB8508ADB8CB6DD8CB8509A0006860A9FFA2
|
||||
:2047E0008DADCB8DAECB8DB9CB6018ADAFCB6910A88CBECB8A48B1048DBFCBC8207EC80DEF
|
||||
:20480000BFCBF00A207EC8A8ADBFCB2057C568AAACBECBC898290FD0D8602085C5F01D2015
|
||||
:204820006CC8ADECCAACEDCA20D0C84CEAC0AEAACBBD80CB49FF2DACCB8DACCB60207DCCEC
|
||||
:204840004C4FC8A201A901D003ADD9CB2080CCC900F0E9206CC8ADEFCAACF0CA20D0C8207E
|
||||
:204860008BC8C90DF0034CEAC04C67CAADF2CAACF3CA20D0C8ADAACB1869414C19C9A90064
|
||||
:204880002CC0CB1005B1048CBECB60AD94CB48A9008D94CB68D003205FCC60AD94CBD02057
|
||||
:2048A000205CCCC900F019205FCCC913D00D205FCCC903D0034CEAC0A900608D94CBA9FF5D
|
||||
:2048C00060C90DF00AC90AF006C909F002C920608DD9C88CDAC8A000B9FFFFC924F00CC86E
|
||||
:2048E0008CBACB2019C9ACBACBD0ED602C95CB100A2CBCCB3005482065CC686020C1C8B00F
|
||||
:204900001848AD90CC2032C9A95E20ECC8680940202AC9AD8FCC4C32C9C909D00DA920208D
|
||||
:204920002AC9AD96CB2907D0F46048209BC86820ECC8482CBCCB30032062CC68EE96CBC91F
|
||||
:2049400020B026CD8ECCF021CE96CBCD8CCCD006CE96CB300F60C90DF00ACD93CCF005CD73
|
||||
:2049600094CCD005A9008D96CB60A90D202AC9A90A20ECC8AD93CBCD96CBF0EDAD8ECC207E
|
||||
:2049800032C94C74C9A900A00191028C9DCBAD96CB8D93CB208BC8AC9DCBC90DD0034C64E9
|
||||
:2049A000CAC908D05EC001F0EBB10248A00138B102E901910268CE9DCBC920B040C909D075
|
||||
:2049C00030386EBCCBAD96CB8DBDCB206AC92071CAAD96CB4838ADBDCBED96CB8DBDCB0E75
|
||||
:2049E000BCCB2091CACEBDCBD0F8688D96CB4C94C9AD8FCC208DCAAD90CC208DCA2091CA1E
|
||||
:204A00004C94C9C910D00BAD95CB49FF8D95CB4C94C9C918D00C206AC9AD8DCC2032C94CD1
|
||||
:204A200085C9C912D009206AC92071CA4C94C9C89102488C9DCBA0019818710291026820A7
|
||||
:204A4000FCC8AC9DCBB102C903D00BA001B102C901D0034CEAC0A001B10288D102B0034C8F
|
||||
:204A600094C9A90D4C2AC9A90D202AC9A90A4C2AC9AD9DCB8DBBCBA9014868CEBBCBD00182
|
||||
:204A800060A8C89848B10220FCC84C7ACAC9209019AD8CCC482032C9A9202032C9684C327B
|
||||
:204AA000C9C9309004C93A9001386020A1CA90FAC94190F5C94760ADF3BFACF4BF186980A1
|
||||
:204AC0008DF3BF9004C88CF4BF60ADF3BFACF4BF8DD9CA8CDACAA200BDFFFF9D2801E81063
|
||||
:204AE000F7604C49C04C42CB4C53CB4CF8CA4CFFCA4C32CB4CCBCBFF202D20522F4F242079
|
||||
:204B00002D2042414420534543544F520D0A3C5245543E20544F2049474E4F5245202D2DF4
|
||||
:204B2000203C4F544845523E20544F2041424F5254240D0A50454D204552524F52204F4E7A
|
||||
:204B40002024202D20494E56414C494420445249564524E5000000000000000000000100F9
|
||||
:204B600000010101010101010101010100000100000000000000000080402010080402012A
|
||||
:204B80000102040810204080000103070F1F3F7F000000000000000000000000000000001F
|
||||
:204BA0000000000000000000000000000000000000000000000000000000000000000000F5
|
||||
:204BC0000000000000000000000000000000000000000000000000000000000000000000D5
|
||||
:204BE0000000000048DA5AAA4A4A4A4A1820F8CB8A20F8CB7AFA6860290F0930C93A30031C
|
||||
:204C00001869074CB5CE48DA5AA90D20B5CEA90A20B5CE7AFA68605ADA48A000A2FF38E8F9
|
||||
:204C2000E964B0FB69642040CCA2FF38E8E90AB0FB690A2040CCAAA0012040CC68FA7A60D2
|
||||
:204C400048C000D0098AA8C000D0034C54CC8A093020B5CE68604CAECD4C21CE4CAFCE4CFD
|
||||
:204C6000B2CE4CB5CE4CB8CE4CB9CE4CBACE4C5ACE4C29CE4C5ECE4C66CE4CAACE4C6DCE72
|
||||
:204C80004C8BCEA901604CBBCE4CBCCE08010C005E18500C1E020D0A6438383838622E20A8
|
||||
:204CA000202E643838622E20202E64383838382E20202020644420202020206F6F6F6F6F6F
|
||||
:204CC0000D0A38382020603844202E3850202059382E2038382020205950202020643820A7
|
||||
:204CE0002020202038507E7E7E7E0D0A3838202020383820383820202020383820603862C3
|
||||
:204D00006F2E202020206438202020202064500D0A383820202038382038382020202038E7
|
||||
:204D200038202020605938622E206438383838622E205638383838622E0D0A0038382020B9
|
||||
:204D40002E384420603862202064382720646220202038442038382020603844202020209E
|
||||
:204D6000206038440D0A593838383844202020605938385020202060383838385920206031
|
||||
:204D80003838383850202038386F6F62590D0A11444F532F3635204F4E20544845204E487E
|
||||
:204DA000594F44594E4520332E30300D0A0078A2FF9AD8A996A0CC20BDCEA93CA0CD20BD13
|
||||
:204DC000CE2006CC2075D820AFD0201ED5207DD7546E5C5E6E54794020B9D7A9448530A98E
|
||||
:204DE000BF8531A94A852EA9CE852F2037CF20B9D8A2008E88DA8E89DABD1BCE9D0001E8E7
|
||||
:204E0000E006D0F5A928A00120AACEAD82DAA9022029CE205ACEA9024C03B84C59CC4CFE5D
|
||||
:204E2000BF78A2FF9AD84CEECD29078D82DAAD82DA0AAABD3ACEBC3BCE6012DA20DA2EDA73
|
||||
:204E40003CDA4ADA58DA66DA74DA00000100300030013002300330043006A900A000188D39
|
||||
:204E60008ADA8C8BDA608D8CDA8C8DDA60201BCF29F0C900D004202CD960C920D003A9FF8E
|
||||
:204E800060C930D0034C70D2A9FF60201BCF29F0C900D0042060D960C920D003A9FF60C94A
|
||||
:204EA00030D00420C4D260A9FF6085F484F5604C9DD04C8ED04C6FD0606060606085F084B7
|
||||
:204EC000F1A000B1F0C900F00720B5CEC84CC3CE6048AD8CDA2903182AAABDF2CE85EEE8ED
|
||||
:204EE000BDF2CE85EFA5F485ECA5F585ED2028CF686009E389E309E489E448AD8CDA290393
|
||||
:204F0000182AAABDF2CE85ECE8BDF2CE85EDA5F485EEA5F585EF2028CF6860DAAD82DA29DB
|
||||
:204F2000070AAABD4ACEFA605AA000B1EE91ECC898C980D0F67A602006CC48DA5AA200BD5B
|
||||
:204F400053CFE8C924F00620B5CE4C3FCF7AFA684C67CF4469736B20436F6E666967757221
|
||||
:204F60006174696F6E3A242006CCA20048DA5AA200BD85CFE8C924F00620B5CE4C71CF7A81
|
||||
:204F8000FA684C8ACF20202020248A4A18694120B5CEA93A20B5CEA93D20B5CE20B4CFA9D2
|
||||
:204FA0003A20B5CEE8BD4ACE2017CCE82006CCE010D0B960BD4ACE4829F0C900D01F48DA91
|
||||
:204FC0005AA200BDD7CFE8C924F00620B5CE4CC3CF7AFA684CDACF4D44244C67D0C910D074
|
||||
:204FE0002048DA5AA200BDFACFE8C924F00620B5CE4CE6CF7AFA684CFECF554E4B244C67C4
|
||||
:20500000D0C920D01F48DA5AA200BD1ED0E8C924F00620B5CE4C0AD07AFA684C21D04644E8
|
||||
:20502000244C67D0C930D02248DA5AA200BD41D0E8C924F00620B5CE4C2DD07AFA684C47CC
|
||||
:20504000D05050494445244C67D048DA5AA200BD63D0E8C924F00620B5CE4C4FD07AFA68A4
|
||||
:205060004C67D0554E4B2468290F2017CC606048AD6D032920C900F0F7688D680360AD6D00
|
||||
:20508000032901C900F004AD680360A90060AD6D032901C900F0F7AD6803297F60AD6D0371
|
||||
:2050A0002901C900F003A9FF60A9006000000048DA5AA200BDC8D0E8C924F00620B5CE4CCC
|
||||
:2050C000B4D07AFA684CD0D05050494445203A242006CC2062D2D03548DA5AA200BDF1D0AD
|
||||
:2050E000E8C924F00620B5CE4CDDD07AFA684CF8D020494F3D307824A90320E4CBA96020F4
|
||||
:20510000E4CB20F7D2209BD1B0034C36D148DA5AA200BD26D1E8C924F00620B5CE4C12D1F6
|
||||
:205120007AFA684C33D1204E4F542050524553454E54244C97D12006CC48DA5AA200BD52FA
|
||||
:20514000D1E8C924F00620B5CE4C3ED17AFA684C63D1205050494445303A20426C6F636B52
|
||||
:20516000733D24A90020DBD148DA5AA200BD81D1E8C924F00620B5CE4C6DD17AFA684C9207
|
||||
:20518000D1205050494445313A20426C6F636B733D24A90120DBD12006CC60A9008D600301
|
||||
:2051A0002022D3B034A90F20D4D48A2940C900F028A90A20D4D4E001D01FA90B20D4D4E0FB
|
||||
:2051C00001D016A90C20D4D4E000D00DA90D20D4D4E000D004184CDAD1386029010A0A0A8D
|
||||
:2051E0000A09E0AAA000A90E20F2D42022D3B048A90FA2EC20F2D4204AD3B03C207AD348BE
|
||||
:20520000DA5AA200BD18D2E8C924F00620B5CE4C04D27AFA684C1BD2307824AD84E320E488
|
||||
:20522000CBAD83E320E4CBAD82E320E4CBAD81E320E4CB2006CC186048DA5AA200BD51D298
|
||||
:20524000E8C924F00620B5CE4C3DD27AFA684C5DD24E4F542050524553454E54242006CCE6
|
||||
:2052600038602016D5A9008D6003AD6003C900602077D220D1CE602019D4AD90DACD95DAD1
|
||||
:20528000D013AD8FDACD94DAD00BAD8EDACD93DAD003A900602022D3B02720E6D3A90FA2B5
|
||||
:2052A0002020F2D4204AD3B018207AD3AD90DA8D95DAAD8EDA8D93DAAD8FDA8D94DAA9009A
|
||||
:2052C00060A9FF602077D220FACE2022D3B02520E6D3A90FA23020F2D4204AD3B01620AF10
|
||||
:2052E000D32022D3B00EA9FF8D95DA8D93DA8D94DAA90060A9FF60A9008D90DA8D8EDA8D3C
|
||||
:205300008FDAA9FF8D95DA8D93DA8D94DAA9808D6203A200CAE000D0FBA9008D6203200A94
|
||||
:20532000D660DA5A48A9008DADD08DAED0A90F20D4D48A2980F00EEEADD0D0F1EEAED0D0E4
|
||||
:20534000EC384C46D318687AFA60DA5A48A9008DADD08DAED0A90F20D4D48A2988C908F0BA
|
||||
:20536000142901C901F00AEEADD0D0E9EEAED0D0E4384C76D318687AFA60A2008EACD0A971
|
||||
:205380000820D4D48AAEACD09D09E3E8989D09E3E8E000D0E78EACD0A90820D4D48AAEAC11
|
||||
:2053A000D09D09E4E8989D09E4E8E000D0E760A2008EACD0BD0AE3A8BD09E3AAA90820F296
|
||||
:2053C000D4AEACD0E8E8E000D0E7A2008EACD0BD0AE4A8BD09E4AAA90820F2D4AEACD0E86C
|
||||
:2053E000E8E000D0E760201BCF29010A0A0A0A09E0AAA000A90E20F2D4AE8FDAA90D20F2C3
|
||||
:20540000D4AE8EDAA90C20F2D4AE90DAA90B20F2D4A201A90A20F2D460AD8ADA290F0A0A5C
|
||||
:205420000A0AAAAD8CDA4A4A290F8D90DA8A0D90DA8D90DAAD8ADA8D8EDAAD8BDA8D8FDAD2
|
||||
:20544000AD8FDA4A8D8FDAAD8EDA6A8D8EDAAD8FDA4A8D8FDAAD8EDA6A8D8EDAAD8FDA4A58
|
||||
:205460008D8FDAAD8EDA6A8D8EDAAD8FDA4A8D8FDAAD8EDA6A8D8EDAAD82DA29070AAAE823
|
||||
:20548000BD4ACE8D98DAA9008D97DA186E98DA6E97DA6E98DA6E97DABD4ACE186D97DA8DA3
|
||||
:2054A00097DA18AD97DA6D8EDA8D8EDAAD98DA6D8FDA8D8FDAAD82DA8D71D8AD8FDA8D729C
|
||||
:2054C000D8AD8EDA8D73D8AD90DA8D74D82090D620C5D660200ED58D620309408D620348FE
|
||||
:2054E000AE6003AC61036849408D6203A9008D6203602016D58E60038C61038D62030920A6
|
||||
:205500008D620349208D6203A9008D62036048A9928D6303686048A9808D6303686020DADF
|
||||
:20552000D548DA5AA200BD3AD5E8C924F00620B5CE4C26D57AFA684C40D544534B593A2421
|
||||
:205540002006CC48DA5AA200BD5CD5E8C924F00620B5CE4C48D57AFA684C63D520494F3D21
|
||||
:20556000307824A90320E4CBA96020E4CB48DA5AA200BD86D5E8C924F00620B5CE4C72D5D5
|
||||
:205580007AFA684C8DD5204D4F44453D2448DA5AA200BDA6D5E8C924F00620B5CE4C92D564
|
||||
:2055A0007AFA684CA9D54E4724AD68D8C9FFF02648DA5AA200BDC9D5E8C924F00620B5CEDA
|
||||
:2055C0004CB5D57AFA684CD6D5204E4F542050524553454E54242006CC60201FD6D02A202B
|
||||
:2055E00041D8A9068D620309808D6203297F8D6203200AD6A9A5A000205BD7A000206FD796
|
||||
:20560000C9A5D005A9FF8D68D8602053D8A92120DBD6A9DF20DBD6A200DAFACAD0FB6020A8
|
||||
:205620002AD8A9008D6003AD6003C90060AD68D8C9FFD0052014D7290F60AD68D8C9FFD0E4
|
||||
:2056400024202DD6F0F4A94020DBD62019D749C048293F8D66D8A200BD74D6CD66D8F00924
|
||||
:20566000E8E01CD0F368A9FF606825C08D66D88A0D66D8600D040C14030B13020A1201094C
|
||||
:205680001100081005151D1C1B1A191823222120A200BD71D84A4A4A4ADAAABD56D8FADA8F
|
||||
:2056A000488A0AAA689D69D8FABD71D8290FDAAABD56D8FADA488A0AAAE8689D69D8FAE80D
|
||||
:2056C000E004D0CE6048DA5AA200BD69D8DA7A205BD7E8E008D0F37AFA686048A9014CE435
|
||||
:2056E000D648A900202AD809068D620309188D62038D66D8688D6003AD66D829FD8D620387
|
||||
:20570000EA09028D620329E78D620329E68D62032053D860A9014C1BD7A9002041D809061B
|
||||
:205720008D620309188D6203297B8D62038D66D8AD600348AD66D809048D620329E78D62C2
|
||||
:205740000329E68D62032053D86860A99020DBD6A210A9FF20E1D6CAD0F8605A484818986B
|
||||
:205760006990A820DBD66849FF20E1D6687A6018986970A820DBD62019D749FF608E66D868
|
||||
:20578000BA6885146885159AAE66D8DA5A4818E6149002E615A000B114205BD7C8C008D094
|
||||
:2057A000F6687AFA8D66D81868690885149003681A48A51448AD66D8605ADA48A00F206F5F
|
||||
:2057C000D70920A920A00F205BD7A28FA0FF88D0FDCAD0FAA00F206FD729DFA9DFA00F20D2
|
||||
:2057E0005BD768FA7A605A48A00D206FD70920A00D205BD7687A605A48A00E206FD709203D
|
||||
:20580000A00E205BD7687A605A48A00D206FD729DFA00D205BD7687A605A48A00E206FD792
|
||||
:2058200029DFA00E205BD7687A6048AD67D8C982F00DA9828D63038D67D8A9068D620368AF
|
||||
:205840006048AD67D8C992F008A9928D63038D67D868604C41D83F065B4F666D7D077F670E
|
||||
:20586000777C395E797100000000000000000000000000000048DA5AA200BD8ED8E8C9249E
|
||||
:20588000F00620B5CE4C7AD87AFA684CB6D84D443A20554E4954533D322052414D4449534E
|
||||
:2058A0004B3D3235364B4220524F4D4449534B3D3338344B42242006CCA200BDC7D89D00E3
|
||||
:2058C00002E8E000D0F560488415A00084148A2980C900D0388A2940C900D00DA9808D7CF1
|
||||
:2058E000036809808D7803D00BA9008D780368297F8D7C03A200DA7AB1149D0004E8E000E0
|
||||
:20590000D0F4A9808D7C03A98E8D7803606809808D7803A200DA7ABD00049114E8E000D002
|
||||
:20592000F4A9808D7C03A98E8D7803602035D920C6D9A90060201BCF29010A0A0A0A0A0A39
|
||||
:20594000297FAA2083D9E000F00CEE8EDAEE8EDAEE8EDAEE8EDAAD8EDAAC90DA2000026098
|
||||
:20596000201BCF2901C900F003A9FF602035D92083D920ECD9AD8EDAAC90DAA28020000231
|
||||
:20598000A90060DAAD8CDA4A291F8D90DAAD8ADA29030A0A0A0A0A09800D90DA8D90DAAD75
|
||||
:2059A0008ADA4A4A8D8EDAAD82DA8D71D8A9008D72D8AD8EDA8D73D8AD90DA8D74D820900E
|
||||
:2059C000D620C5D6FA6048AD8CDA2901C900D007A90085EE4CDBD9A98085EEA90485EFA539
|
||||
:2059E000F485ECA5F585ED2028CF686048AD8CDA2901C900D007A90085EC4C01DAA9808543
|
||||
:205A0000ECA90485EDA5F485EEA5F585EF2028CF68607F004000000001FF0099DA0089E2E5
|
||||
:205A2000BF0040000000019B0097DB0089E2FF074000100002FF0195DC0089E2FF07400074
|
||||
:205A4000100002FF0193DD0089E2FF074000100002FF0191DE0089E2FF074000100002FFD0
|
||||
:205A6000018FDF0089E2FF074000100002FF018DE00089E2FF074000100002FF018BE10058
|
||||
:205A800089E202000000000000000000000000000000000000000000000000000000000099
|
||||
:205AA0000000000000000000000000000000000000000000000000000000000000000000E6
|
||||
:205AC0000000000000000000000000000000000000000000000000000000000000000000C6
|
||||
:205AE0000000000000000000000000000000000000000000000000000000000000000000A6
|
||||
:205B0000000000000000000000000000000000000000000000000000000000000000000085
|
||||
:205B2000000000000000000000000000000000000000000000000000000000000000000065
|
||||
:205B4000000000000000000000000000000000000000000000000000000000000000000045
|
||||
:205B6000000000000000000000000000000000000000000000000000000000000000000025
|
||||
:205B8000000000000000000000000000000000000000000000000000000000000000000005
|
||||
:205BA0000000000000000000000000000000000000000000000000000000000000000000E5
|
||||
:205BC0000000000000000000000000000000000000000000000000000000000000000000C5
|
||||
:205BE0000000000000000000000000000000000000000000000000000000000000000000A5
|
||||
:205C0000000000000000000000000000000000000000000000000000000000000000000084
|
||||
:205C2000000000000000000000000000000000000000000000000000000000000000000064
|
||||
:205C4000000000000000000000000000000000000000000000000000000000000000000044
|
||||
:205C6000000000000000000000000000000000000000000000000000000000000000000024
|
||||
:205C8000000000000000000000000000000000000000000000000000000000000000000004
|
||||
:205CA0000000000000000000000000000000000000000000000000000000000000000000E4
|
||||
:205CC0000000000000000000000000000000000000000000000000000000000000000000C4
|
||||
:205CE0000000000000000000000000000000000000000000000000000000000000000000A4
|
||||
:205D0000000000000000000000000000000000000000000000000000000000000000000083
|
||||
:205D2000000000000000000000000000000000000000000000000000000000000000000063
|
||||
:205D4000000000000000000000000000000000000000000000000000000000000000000043
|
||||
:205D6000000000000000000000000000000000000000000000000000000000000000000023
|
||||
:205D8000000000000000000000000000000000000000000000000000000000000000000003
|
||||
:205DA0000000000000000000000000000000000000000000000000000000000000000000E3
|
||||
:205DC0000000000000000000000000000000000000000000000000000000000000000000C3
|
||||
:205DE0000000000000000000000000000000000000000000000000000000000000000000A3
|
||||
:205E0000000000000000000000000000000000000000000000000000000000000000000082
|
||||
:205E2000000000000000000000000000000000000000000000000000000000000000000062
|
||||
:205E4000000000000000000000000000000000000000000000000000000000000000000042
|
||||
:205E6000000000000000000000000000000000000000000000000000000000000000000022
|
||||
:205E8000000000000000000000000000000000000000000000000000000000000000000002
|
||||
:205EA0000000000000000000000000000000000000000000000000000000000000000000E2
|
||||
:205EC0000000000000000000000000000000000000000000000000000000000000000000C2
|
||||
:205EE0000000000000000000000000000000000000000000000000000000000000000000A2
|
||||
:205F0000000000000000000000000000000000000000000000000000000000000000000081
|
||||
:205F2000000000000000000000000000000000000000000000000000000000000000000061
|
||||
:205F4000000000000000000000000000000000000000000000000000000000000000000041
|
||||
:205F6000000000000000000000000000000000000000000000000000000000000000000021
|
||||
:205F8000000000000000000000000000000000000000000000000000000000000000000001
|
||||
:205FA0000000000000000000000000000000000000000000000000000000000000000000E1
|
||||
:205FC0000000000000000000000000000000000000000000000000000000000000000000C1
|
||||
:205FE0000000000000000000000000000000000000000000000000000000000000000000A1
|
||||
:205000004CA8E5D84820FCD3682000D4AD8CE44A4A4A4A8DF6D7AD43D7D03CA2FF9AD8A91E
|
||||
:205020001120F0D32069D4A93E20F0D3AD8BD6AC8CD620F4D3A000AE43D7F0DFB944D7C97E
|
||||
:20504000619009C97BB005295F9944D7C8CAD0EC8A9944D78DE7D720A4D5202BD48DE8D746
|
||||
:2050600020A5D4D064ADE9D7F004A915D02EA900AA8DECD7A001BD1DD7F01AD9C3D7D00400
|
||||
:20508000E8C8D0F2E8BD1DD7D0FAE8EEECD7ADECD7C907D0DFADECD70A6DECD7AAE8BD9624
|
||||
:2050A000D6BC97D68DEAD78CEBD7AD8FD648AD8ED6486CEAD72034D420A5D4ADC4D738E94B
|
||||
:2050C000200DE9D7D0034C1BD020E1D3ACEDD7B944D7F00AC920F0062072D4C8D0F1A93F11
|
||||
:2050E00020F0D34C1BD020A5D420ABD5A920CDC4D7D00FCDCCD7D00AA93FA00B99C3D788B5
|
||||
:20510000D0FA205FD43058ADF6D78DF5D720E1D3206CD4A93A20F0D3ADEED70A0A0A0A0A79
|
||||
:205120002960A8C8A201B92801297F2072D4C8E8E00CF00CE009D0EEA92E2072D44C26D124
|
||||
:2051400020F8D3D0192097D42010D48DEED7300ECEF5D7F0B220EED320EED34C10D160A031
|
||||
:20516000344CC0D520A5D4D057209ED420ABD5205FD4304F20E0D5ACE7D7B944D7C920D08A
|
||||
:205180003C20A5D4D037ADE9D7F012CDF2D7F00D38E901CDE8D7D025ADF2D7D020ADF2D7B2
|
||||
:2051A0008DE9D7A9008DD3D720ABD5205FD4100920E0D52097D44C27D4A03ED0082034D431
|
||||
:2051C0004CC9D0A0344CC0D5A900A0088DFCD78CFDD72005D6D07A8DF1D70DF1D7F0722033
|
||||
:2051E000A5D4D06D20E0D5209ED42005D6AEC4D7E020F00A8DFCD78CFDD7C002905320F3DC
|
||||
:20520000D520ABD52014D42097D42023D43045204AD4304418ADFDD76DF1D78DF1D7ADFC7C
|
||||
:20522000D7ACFDD78DF3D78CF4D720C4E22097D4201FD4D02718ADF3D7ACF4D7698090038C
|
||||
:20524000C8F005CCF1D7D0DC2097D42008D43010604CC9D0A001D00AA055D006A062D0022B
|
||||
:20526000A00A4CC0D520A5D4C90BD013A01820C0D520EAD34820E1D368295FC959D0D1201A
|
||||
:20528000ABD54C14D420A5D4D0302047D4303220E1D32059D4F00410203022A200BD280105
|
||||
:2052A000C91AF0152072D420F8D3D008AEEFD7E810EB30DEA206200301604CC9D0A029D0CE
|
||||
:2052C00002A0344CC0D520D5D520A5D4D0EC20E0D5209ED42005D6AEC4D7E020F00320D961
|
||||
:2052E000D520F3D52047D430D8ADF3D7ACF4D7202FD42059D4D00620B1E24CEFD230BE4C80
|
||||
:20530000A4D52005D6AEC4D7E020F0034C76D34C72D3ADC4D7C920D011ADE9D7F00938E91E
|
||||
:20532000018DE8D72000D44CB8D0ADCCD7C920F0034CD9D3A202BDE4D79DCCD7CA10F720E7
|
||||
:2053400047D410034CD6D320D5D5202FD42059D4D01E20B1E2CD91D69007CC92D690EBB025
|
||||
:2053600007CC92D690E4F0E220A4D52059D4F06C306AA900A0088DCBD38CCCD32034D420E1
|
||||
:20538000A5D4ADE9D78DC3D7A21020A7D4ADE9D78DD3D7A0008CE3D7A220BDC3D79D07016B
|
||||
:2053A000CA10F7E8B944D7F007C920F003C8D0F4A9008D2801B944D79D2901F007E8C8EE72
|
||||
:2053C0002801D0F120E1D320A4D5200008ADE8D72000D44C1BD02034D44CC9D0A04A4CC0B4
|
||||
:2053E000D5A90D20F0D3A90AD006A201D043A920A202D03DA20AD039A20BD035A20DD0316F
|
||||
:20540000A20ED02DA20FD029A210D025A211D021A212D01D2097D4A213D016A214D012A2E9
|
||||
:2054200015D00EA216D00AA217D006A219D002A21A4C0301ADE9D7F01F38E901CDE8D7F0A5
|
||||
:2054400017ADE8D74C00D420ABD5A9008DE3D72097D42004D48DEED7602097D44C1BD420FE
|
||||
:2054600097D4200CD48DEED76020E1D3202BD41869418EEFD78CF0D720BBE0B01048AD8AB9
|
||||
:20548000E420F0D368094020F0D3AD89E420F0D3ACF0D7AEEFD760AD94D6AC95D660ADE949
|
||||
:2054A000D78DF2D760A2008A48A9008DE9D7ACE7D72072D58CEDD7F00D290F48C8B944D7BB
|
||||
:2054C000C93AF00A6888ADE8D79DC3D71008688DE9D79DC3D7C8A9088DECD7207FD5F01DEE
|
||||
:2054E000E8C92AD007A93F9DC3D7D0049DC3D7C8CEECD7D0E6207FD5F011C8D0F8E8A9200B
|
||||
:205500009DC3D7CEECD7D0F5B944D748A9038DECD768C92ED023C8207FD5F01DE8C92AD0A0
|
||||
:2055200007A93F9DC3D7D0049DC3D7C8CEECD7D0E6207FD5F00EC8D0F8E8A9209DC3D7CE73
|
||||
:20554000ECD7D0F5A9038DECD7E8A9009DC3D7CEECD7D0F58CE7D7A9008DECD768A8A20BA9
|
||||
:20556000C8B9C3D7C93FD003EEECD7CAD0F2ADECD760B944D7F007C920D003C8D0F460B9FC
|
||||
:2055800044D7F01CC9209019F016C93DF012C92EF00EC93AF00AC93BF006C93CF002C93E5A
|
||||
:2055A000604CC9D0A928A0014C2FD4A9008DC3D7ADE9D7F01F38E901CDE8D7F0174C00D4C4
|
||||
:2055C0008CF0D720E1D3ACF0D7B9AFD6F0062072D4C8D0F560A900A0088DF3D78CF4D7604B
|
||||
:2055E000A20FBDC3D7BCD3D79DD3D7989DC3D7CA10F060A20FBDD3D79DC3D7CA10F7ADF23E
|
||||
:20560000D78DE9D760A9098DF7D720A5D4ADE9D7D0678DF8D78DF9D7A8B9C4D7C924D00644
|
||||
:20562000A90F8DF7D7C8C8B9C3D7C920F04E209BE2900E20A5E2B041E906A20FECF7D7D050
|
||||
:2056400038290F48ADF8D78DFAD7ADF9D78DFBD7AEF7D718ADF8D76DFAD78DF8D7ADF9D7B5
|
||||
:205660006DFBD78DF9D7B011CAD0E9686DF8D78DF8D790B2EEF9D7D0AD4CC9D0ADCCD7C9CF
|
||||
:2056800020D0F6ADF8D7ACF9D7604C42D74CB4D04C03D04CC3D74CE6D04CC8D14C65D24CDC
|
||||
:2056A00085D24C64D14C02D34CC6D24C12D3FF004E4F2053504143450043414E204E4F54D1
|
||||
:2056C00020434C4F534500414C4C2046494C45532028592F4E293F0052454144204552521D
|
||||
:2056E0004F52004E4F5420464F554E440046494C4520455849535453004C4F414420455285
|
||||
:20570000524F520043414E204E4F54204F50454E005752495445204552524F52004449524D
|
||||
:205720002000534156452000455241200054595045200052454E2000474F20004C4F4144C5
|
||||
:2057400020007F0000000000000000000000000000000000000000000000000000000000AA
|
||||
:20576000000000000000000000000000000000000000000000000000000000000000000029
|
||||
:20578000000000000000000000000000000000000000000000000000000000000000000009
|
||||
:2057A0000000000000000000000000000000000000000000000000000000000000000000E9
|
||||
:2057C0000000000000000000000000000000000000000000000000000000000000000000C9
|
||||
:2057E00000000000434F360000000000000000000000000008000009000000000008D88D63
|
||||
:2058000092E38DD6E38C93E38CD7E38E94E3E024B050BD4EE3F008A9FF8D91E320E9DAA961
|
||||
:20582000008D99E3AD94E30A6D94E3AAE8BD76D8BC77D88D9AE38C9BE3ADDEE248ADDDE270
|
||||
:2058400048AD92E3AC93E36C9AE38D95E38C96E3AD99E3F00DA0009102ADA3E38D92E3201B
|
||||
:2058600004DB2C91E3100820E9DAA9008D91E3AC96E3AD95E3604CEAD84CDBDA4C13E14CBF
|
||||
:2058800065E44C62E44C5FE44C85E04C1FD94C2AD94CCAE04C7FE14C95E04C7DE44C32DBF1
|
||||
:2058A0004C04DB4CAFDD4CEADD4C0EDE4C3AD94CA2D94C42D94CC7D94CB1DE4C80D94C3223
|
||||
:2058C000D94C2ED94CF9DA4C23D94C6DDD4C36D94CE2D84CE6D84CFAD84C0ED94C18D94C5A
|
||||
:2058E00083E48D8FE360AD8FE3602C91E3100820E9DAA9008D91E34C53E42080E48DBFE3E8
|
||||
:205900008CC0E38EC1E38A2980A8ADBFE360ADC1E3297FA8ADC0E360AD6CDBAC6DDB60AD56
|
||||
:20592000060160ADCEE3ACCFE3608D060160ADA4E360ADA5E360ADA6E3602012DBA90D4C22
|
||||
:205940001BDE2012DB208FDDADAFE3CDB0E39013C980F003A90160A20120EDDEC900D0F412
|
||||
:205960008DAFE3207EDFADAAE30DABE3D003A902602060DE20ACDC2037E0209EDDA90060F7
|
||||
:205980002012DB2014E0A90C2013DE3014A900A0109102A90CA2102080DEA90C201BDE102D
|
||||
:2059A000EC602012DB2014E0A90C2013DE3017A20020E4DFACA9E3AD4DE39104203DE0A958
|
||||
:2059C0000C201BDE10E9602012DB2014E0208FDDADAFE3C9809003A90160207EDFA9008DC4
|
||||
:2059E000D3E3ADAAE30DABE3F0034CAADAA9028DD3E3AD8BE348C910F01AA8882CBAE3101C
|
||||
:205A00000188B1028DAAE3C8A9002CBAE31002B1028DABE3ADAAE38D9FE38DA1E3ADABE381
|
||||
:205A20008DA0E38DA2E3ADA1E3CDC5E3D008ACA2E3CCC6E3F012EEA1E3D003EEA2E3AD9F1A
|
||||
:205A4000E30DA0E3F018D00BAD9FE30DA0E3D003A8F030AD9FE3D003CEA0E3CE9FE3AD9FA7
|
||||
:205A6000E3ACA0E32051DDD009AD9FE3ACA0E34C83DAADA1E3ACA2E32051DDD0A9ADA1E38C
|
||||
:205A8000ACA2E38DAAE38CABE30DABE3D00468A90260ADAAE32065DD68A8ADAAE39102AD99
|
||||
:205AA000ABE3C82CBAE3100291022060DE20ACDC2043E0AEAFE3ECB0E39005E88EB0E3CAB2
|
||||
:205AC000E07FD011209EDDA20020EDDEC900D00AA9FF8DAFE3209EDDA900602085E020BBF0
|
||||
:205AE000E09005482013E16860A207B502BCD6E39DD6E39402CA10F360A502A403850484C4
|
||||
:205B0000054C74E4AD92E3CDA4E3F0EC8DA4E34C45DBA000B102F01938E90129078D92E35A
|
||||
:205B2000ADA4E38DA3E3B1028D99E39891022004DB60A9028DA4E38DA5E3A928A00185020B
|
||||
:205B4000840320F9DAADA4E3C908900F2066E0ADE0E2ACE1E220CAE04CEAD8206BE48D6CA3
|
||||
:205B6000DB8C6DDB0D6DDBF0E3A00DB9FFFF99C5E38810F7ADCBE3A81869038DBEE3B98527
|
||||
:205B8000E38DBDE3ADCCE38DBBE3ADCDE34A6EBBE34A6EBBE38DBCE3A9008DBAE3ADC6E310
|
||||
:205BA000F00588386EBAE3B982E38DD4E338A91FF982E38DD5E3AEA4E3BD7AE32DA5E3D04C
|
||||
:205BC0000CBD7AE30DA5E38DA5E34CCEDB602028E0ADC5E38DC2E3ADC6E3A2034A6EC2E399
|
||||
:205BE000CAD0F98DC3E3EEC2E3D003EEC3E3ADCEE3ACCFE385068407A000A9009106E60647
|
||||
:205C0000D002E607ADC2E3D003CEC3E3CEC2E3ADC2E30DC3E3D0E3ADBBE38DC2E3ADBCE338
|
||||
:205C2000AEBEE34A6EC2E3CAD0F98DC3E3EEC2E3D003EEC3E38EAAE38EABE3ADAAE3ACAB30
|
||||
:205C4000E32065DDEEAAE3D003EEABE3ADC2E3D003CEC3E3CEC2E3ADC2E30DC3E3D0DC2058
|
||||
:205C60007EDC20D8DFA2012020DF3011ACA9E3B104C9E5F0F0A20120E4DF4C65DC6020687A
|
||||
:205C8000E4ADC9E3ACCAE34C6EE4ADA8E38DABE3ADA7E34EABE36A4EABE36A8DB1E38DAA62
|
||||
:205CA000E3ADABE38DB2E3A9008DACE3A2008EC4E38E9CE38E9DE38E9EE3ADAAE3CD9CE358
|
||||
:205CC000ADABE3ED9DE3ADACE3ED9EE3902118AD9CE36DC7E38D9CE3AD9DE36DC8E38D9DEB
|
||||
:205CE000E39003EE9EE3E8D0D1EEC4E34CBADCCAE0FFD003CEC4E38A186DC9E3AAADC4E315
|
||||
:205D00006DCAE3A88A206EE438AD9CE3EDC7E38D9CE3AD9DE3EDC8E38D9DE338ADAAE3ED8D
|
||||
:205D20009CE3AAADABE3ED9DE3A88A2083E44C71E4488407A00346076A88D0FA186DCEE383
|
||||
:205D40008506A5076DCFE38507682907AABD72E3602031DD310660E001F00A2031DD49FF97
|
||||
:205D600031069106602031DD1106910660AEA4E3BD7AE30DA6E38DA6E360A900A07F18710D
|
||||
:205D8000048810FA60AEA4E3BD7AE32DA6E360A020B1028DAFE3A00FB1028DB0E360AEAFD7
|
||||
:205DA000E3E88AA0209102ADB0E3A00F9102602012DB2011DE3032A90C0DA9E3A8B104AA86
|
||||
:205DC00098291FA88A9102980DA9E3A8C898291FD0EBA00CAD8CE3D102F00B9102A9809000
|
||||
:205DE000010AA00F9102ADB3E3602012DB2011DE301B2085DDD013A00CB10248980DA9E30F
|
||||
:205E0000A868D1046E8AE3207CDEADB3E3602012DBA90D4820D8DF207EDC688DADE3A20022
|
||||
:205E20008EAEE32020DF3037AEADE3ACAEE3EEAEE3B102C00CD0138D8CE348980DA9E3A844
|
||||
:205E40006851042DD5E3F011D0D4C93FF00B48980DA9E3A868D104D0C5CAD0CFADB3E360F9
|
||||
:205E6000AEBEE30EAAE32EABE32EACE3CAD0F4ADBDE32DAFE30DAAE38DAAE360A920A200A6
|
||||
:205E80008DADE3CEADE3188A6DADE3A8C00CF004C00FD0052C8AE3100DB10248ADADE30DE1
|
||||
:205EA000A9E3A8689104CEADE310DB208ADC4C3DE02012DB2014E0A50248A50348ADE3E207
|
||||
:205EC000ACE4E285028403A9012013DE688503688502ADB3E33015A00DA9009102C8C0218E
|
||||
:205EE000D0F9386E8AE3207CDEADB3E3608E98E320EDDD302AA00CB102186901291FF0172C
|
||||
:205F000091022011DE100BAD98E3D01320B4DE4C15DF20B2DD1003A90160208FDDA9006066
|
||||
:205F20008A48EEA7E3D003EEA8E3ADCCE3CDA7E3ADCDE3EDA8E3B00568AA4CD8DFADA7E342
|
||||
:205F400029038DB3E30A0A0A0A0A8DA9E3F00568AA4C5CDF208ADC2037E068AAADB3E360A7
|
||||
:205F60002CD0E330FACAD009207ADD20C2DF910860207ADD20C2DFD108F0E44C6DDDAEBE5D
|
||||
:205F8000E3ADAFE34ACAD0FC8DAAE338A908EDBEE3AAA00CB1022DD4E34A2ACAD0FC186DF2
|
||||
:205FA000AAE32CBAE310010A1869108D8BE3A8B1028DAAE3C8A9002CBAE31002B1028DAB38
|
||||
:205FC000E3604818ADB1E36DD1E38508ADB2E36DD2E38509A0006860A9FF8DA7E38DA8E3FE
|
||||
:205FE0008DB3E36018ADA9E36910A88CB8E38A48B1048DB9E3C82078E00DB9E3F00A20785A
|
||||
:00000001FF
|
||||
|
||||
@@ -1,361 +1,274 @@
|
||||
S123B7F3FD7F3ECD77DBFF0000000000004C21CED84820FCBB682000BCAD92CC4A4A4A4AB1
|
||||
S123B8138DF6BFAD43BFD03CA2FF9AD8A91120F0BB2069BCA93E20F0BBAD8BBEAC8CBE2079
|
||||
S123B833F4BBA000AE43BFF0DFB944BFC9619009C97BB005295F9944BFC8CAD0EC8A9944D2
|
||||
S123B853BF8DE7BF20A4BD202BBC8DE8BF20A5BCD064ADE9BFF004A915D02EA900AA8DEC9D
|
||||
S123B873BFA001BD1DBFF01AD9C3BFD004E8C8D0F2E8BD1DBFD0FAE8EEECBFADECBFC90719
|
||||
S123B893D0DFADECBF0A6DECBFAAE8BD96BEBC97BE8DEABF8CEBBFAD8FBE48AD8EBE486C59
|
||||
S123B8B3EABF2034BC20A5BCADC4BF38E9200DE9BFD0034C1BB820E1BBACEDBFB944BFF05F
|
||||
S123B8D30AC920F0062072BCC8D0F1A93F20F0BB4C1BB820A5BC20ABBDA920CDC4BFD00FBE
|
||||
S123B8F3CDCCBFD00AA93FA00B99C3BF88D0FA205FBC3058ADF6BF8DF5BF20E1BB206CBC95
|
||||
S123B913A93A20F0BBADEEBF0A0A0A0A0A2960A8C8A201B92801297F2072BCC8E8E00CF0D6
|
||||
S123B9330CE009D0EEA92E2072BC4C26B920F8BBD0192097BC2010BC8DEEBF300ECEF5BFD8
|
||||
S123B953F0B220EEBB20EEBB4C10B960A0344CC0BD20A5BCD057209EBC20ABBD205FBC3075
|
||||
S123B9734F20E0BDACE7BFB944BFC920D03C20A5BCD037ADE9BFF012CDF2BFF00D38E90125
|
||||
S123B993CDE8BFD025ADF2BFD020ADF2BF8DE9BFA9008DD3BF20ABBD205FBC100920E0BDE5
|
||||
S123B9B32097BC4C27BCA03ED0082034BC4CC9B8A0344CC0BDA900A0088DFCBF8CFDBF209D
|
||||
S123B9D305BED07A8DF1BF0DF1BFF07220A5BCD06D20E0BD209EBC2005BEAEC4BFE020F0EE
|
||||
S123B9F30A8DFCBF8CFDBFC002905320F3BD20ABBD2014BC2097BC2023BC3045204ABC306C
|
||||
S123BA134418ADFDBF6DF1BF8DF1BFADFCBFACFDBF8DF3BF8CF4BF20CACA2097BC201FBC80
|
||||
S123BA33D02718ADF3BFACF4BF69809003C8F005CCF1BFD0DC2097BC2008BC3010604CC9B5
|
||||
S123BA53B8A001D00AA055D006A062D002A00A4CC0BD20A5BCC90BD013A01820C0BD20EAF3
|
||||
S123BA73BB4820E1BB68295FC959D0D120ABBD4C14BC20A5BCD0302047BC303220E1BB20B7
|
||||
S123BA9359BCF00410203022A200BD2801C91AF0152072BC20F8BBD008AEEFBFE810EB302C
|
||||
S123BAB3DEA206200301604CC9B8A029D002A0344CC0BD20D5BD20A5BCD0EC20E0BD209EF6
|
||||
S123BAD3BC2005BEAEC4BFE020F00320D9BD20F3BD2047BC30D8ADF3BFACF4BF202FBC20F2
|
||||
S123BAF359BCD00620B7CA4CEFBA30BE4CA4BD2005BEAEC4BFE020F0034C76BB4C72BBAD69
|
||||
S123BB13C4BFC920D011ADE9BFF00938E9018DE8BF2000BC4CB8B8ADCCBFC920F0034CD94C
|
||||
S123BB33BBA202BDE4BF9DCCBFCA10F72047BC10034CD6BB20D5BD202FBC2059BCD01E2023
|
||||
S123BB53B7CACD91BE9007CC92BE90EBB007CC92BE90E4F0E220A4BD2059BCF06C306AA995
|
||||
S123BB7300A0088DCBBB8CCCBB2034BC20A5BCADE9BF8DC3BFA21020A7BCADE9BF8DD3BF42
|
||||
S123BB93A0008CE3BFA220BDC3BF9D0701CA10F7E8B944BFF007C920F003C8D0F4A9008D10
|
||||
S123BBB32801B944BF9D2901F007E8C8EE2801D0F120E1BB20A4BD200008ADE8BF2000BCAE
|
||||
S123BBD34C1BB82034BC4CC9B8A04A4CC0BDA90D20F0BBA90AD006A201D043A920A202D0A2
|
||||
S123BBF33DA20AD039A20BD035A20DD031A20ED02DA20FD029A210D025A211D021A212D0B4
|
||||
S123BC131D2097BCA213D016A214D012A215D00EA216D00AA217D006A219D002A21A4C03FC
|
||||
S123BC3301ADE9BFF01F38E901CDE8BFF017ADE8BF4C00BC20ABBDA9008DE3BF2097BC209C
|
||||
S123BC5304BC8DEEBF602097BC4C1BBC2097BC200CBC8DEEBF6020E1BB202BBC1869418ED5
|
||||
S123BC73EFBF8CF0BF20C1C8B01048AD90CC20F0BB68094020F0BBAD8FCC20F0BBACF0BF95
|
||||
S123BC93AEEFBF60AD94BEAC95BE60ADE9BF8DF2BF60A2008A48A9008DE9BFACE7BF20724A
|
||||
S123BCB3BD8CEDBFF00D290F48C8B944BFC93AF00A6888ADE8BF9DC3BF1008688DE9BF9DC5
|
||||
S123BCD3C3BFC8A9088DECBF207FBDF01DE8C92AD007A93F9DC3BFD0049DC3BFC8CEECBFC4
|
||||
S110BCF3D0E6207FBDF011C8D0F8E8A920EC
|
||||
S123BD009DC3BFCEECBFD0F5B944BF48A9038DECBF68C92ED023C8207FBDF01DE8C92AD0AC
|
||||
S123BD2007A93F9DC3BFD0049DC3BFC8CEECBFD0E6207FBDF00EC8D0F8E8A9209DC3BFCE7F
|
||||
S123BD40ECBFD0F5A9038DECBFE8A9009DC3BFCEECBFD0F58CE7BFA9008DECBF68A8A20BCD
|
||||
S123BD60C8B9C3BFC93FD003EEECBFCAD0F2ADECBF60B944BFF007C920D003C8D0F460B9F0
|
||||
S123BD8044BFF01CC9209019F016C93DF012C92EF00EC93AF00AC93BF006C93CF002C93E06
|
||||
S123BDA0604CC9B8A928A0014C2FBCA9008DC3BFADE9BFF01F38E901CDE8BFF0174C00BCE8
|
||||
S123BDC08CF0BF20E1BBACF0BFB9AFBEF0062072BCC8D0F560A900A0088DF3BF8CF4BF6087
|
||||
S123BDE0A20FBDC3BFBCD3BF9DD3BF989DC3BFCA10F060A20FBDD3BF9DC3BFCA10F7ADF262
|
||||
S123BE00BF8DE9BF60A9098DF7BF20A5BCADE9BFD0678DF8BF8DF9BFA8B9C4BFC924D00698
|
||||
S123BE20A90F8DF7BFC8C8B9C3BFC920F04E20A1CA900E20ABCAB041E906A20FECF7BFD050
|
||||
S123BE4038290F48ADF8BF8DFABFADF9BF8DFBBFAEF7BF18ADF8BF6DFABF8DF8BFADF9BF21
|
||||
S123BE606DFBBF8DF9BFB011CAD0E9686DF8BF8DF8BF90B2EEF9BFD0AD4CC9B8ADCCBFC90B
|
||||
S123BE8020D0F6ADF8BFACF9BF604C42BF4CB4B84C03B84CC3BF4CE6B84CC8B94C65BA4C48
|
||||
S123BEA085BA4C64B94C02BB4CC6BA4C12BBFF004E4F2053504143450043414E204E4F54DD
|
||||
S123BEC020434C4F534500414C4C2046494C45532028592F4E293F005245414420455252B1
|
||||
S123BEE04F52004E4F5420464F554E440046494C4520455849535453004C4F414420455219
|
||||
S123BF00524F520043414E204E4F54204F50454E005752495445204552524F5200444952E1
|
||||
S123BF202000534156452000455241200054595045200052454E2000474F20004C4F414459
|
||||
S123BF4020007F00000000000000000000000000000000000000000000000000000000003E
|
||||
S123BF600000000000000000000000000000000000000000000000000000000000000000BD
|
||||
S123BF8000000000000000000000000000000000000000000000000000000000000000009D
|
||||
S123BFA000000000000000000000000000000000000000000000000000000000000000007D
|
||||
S123BFC000000000000000000000000000000000000000000000000000000000000000005D
|
||||
S123BFE000000000434F360000000000000000000000000008000009000000000008D88DF7
|
||||
S123C00098CB8DDCCB8C99CB8CDDCB8E9ACBE024B050BD54CBF008A9FF8D97CB20E9C2A98B
|
||||
S123C020008D9FCBAD9ACB0A6D9ACBAAE8BD76C0BC77C08DA0CB8CA1CBADE4CA48ADE3CAB2
|
||||
S123C04048AD98CBAC99CB6CA0CB8D9BCB8C9CCBAD9FCBF00DA0009102ADA9CB8D98CB203F
|
||||
S123C06004C32C97CB100820E9C2A9008D97CBAC9CCBAD9BCB604CEAC04CDBC24C19C94C0D
|
||||
S123C0806BCC4C68CC4C65CC4C8BC84C1FC14C2AC14CD0C84C85C94C9BC84C83CC4C32C35D
|
||||
S123C0A04C04C34CAFC54CEAC54C0EC64C3AC14CA2C14C42C14CC7C14CB7C64C80C14C32A1
|
||||
S123C0C0C14C2EC14CF9C24C23C14C6DC54C36C14CE2C04CE6C04CFAC04C0EC14C18C14CF6
|
||||
S123C0E089CC8D95CB60AD95CB602C97CB100820E9C2A9008D97CB4C59CC2086CC8DC5CB24
|
||||
S123C1008CC6CB8EC7CB8A2980A8ADC5CB60ADC7CB297FA8ADC6CB60AD6CC3AC6DC360AD74
|
||||
S123C120060160ADD4CBACD5CB608D060160ADAACB60ADABCB60ADACCB602012C3A90D4C28
|
||||
S123C1401BC62012C3208FC5ADB5CBCDB6CB9013C980F003A90160A20120F3C6C900D0F424
|
||||
S123C1608DB5CB2084C7ADB0CB0DB1CBD003A902602066C620ACC4203DC8209EC5A9006027
|
||||
S123C1802012C3201AC8A90C2013C63014A900A0109102A90CA2102086C6A90C201BC6102D
|
||||
S123C1A0EC602012C3201AC8A90C2013C63017A20020EAC7ACAFCBAD53CB91042043C8A976
|
||||
S123C1C00C201BC610E9602012C3201AC8208FC5ADB5CBC9809003A901602084C7A9008DD6
|
||||
S123C1E0D9CBADB0CB0DB1CBF0034CAAC2A9028DD9CBAD91CB48C910F01AA8882CC0CB1034
|
||||
S123C2000188B1028DB0CBC8A9002CC0CB1002B1028DB1CBADB0CB8DA5CB8DA7CBADB1CB93
|
||||
S123C2208DA6CB8DA8CBADA7CBCDCBCBD008ACA8CBCCCCCBF012EEA7CBD003EEA8CBADA538
|
||||
S123C240CB0DA6CBF018D00BADA5CB0DA6CBD003A8F030ADA5CBD003CEA6CBCEA5CBADA5B9
|
||||
S123C260CBACA6CB2051C5D009ADA5CBACA6CB4C83C2ADA7CBACA8CB2051C5D0A9ADA7CBEC
|
||||
S123C280ACA8CB8DB0CB8CB1CB0DB1CBD00468A90260ADB0CB2065C568A8ADB0CB9102ADB1
|
||||
S123C2A0B1CBC82CC0CB100291022066C620ACC42049C8AEB5CBECB6CB9005E88EB6CBCADC
|
||||
S123C2C0E07FD011209EC5A20020F3C6C900D00AA9FF8DB5CB209EC5A90060208BC820C1E4
|
||||
S123C2E0C89005482019C96860A207B502BCDCCB9DDCCB9402CA10F360A502A403850484A6
|
||||
S123C300054C7ACCAD98CBCDAACBF0EC8DAACB4C45C3A000B102F01938E90129078D98CB60
|
||||
S123C320ADAACB8DA9CBB1028D9FCB9891022004C360A9028DAACB8DABCBA928A001850211
|
||||
S123C340840320F9C2ADAACBC908900F206CC8ADE6CAACE7CA20D0C84CEAC02071CC8D6CD3
|
||||
S123C360C38C6DC30D6DC3F0E3A00DB9FFFF99CBCB8810F7ADD1CBA81869038DC4CBB98B33
|
||||
S123C380CB8DC3CBADD2CB8DC1CBADD3CB4A6EC1CB4A6EC1CB8DC2CBA9008DC0CBADCCCB5E
|
||||
S123C3A0F00588386EC0CBB988CB8DDACB38A91FF988CB8DDBCBAEAACBBD80CB2DABCBD070
|
||||
S123C3C00CBD80CB0DABCB8DABCB4CCEC360202EC8ADCBCB8DC8CBADCCCBA2034A6EC8CBD5
|
||||
S123C3E0CAD0F98DC9CBEEC8CBD003EEC9CBADD4CBACD5CB85068407A000A9009106E60635
|
||||
S123C400D002E607ADC8CBD003CEC9CBCEC8CBADC8CB0DC9CBD0E3ADC1CB8DC8CBADC2CB5C
|
||||
S123C420AEC4CB4A6EC8CBCAD0F98DC9CBEEC8CBD003EEC9CB8EB0CB8EB1CBADB0CBACB14E
|
||||
S123C440CB2065C5EEB0CBD003EEB1CBADC8CBD003CEC9CBCEC8CBADC8CB0DC9CBD0DC209A
|
||||
S123C4607EC420DEC7A2012026C73011ACAFCBB104C9E5F0F0A20120EAC74C65C460206E80
|
||||
S123C480CCADCFCBACD0CB4C74CCADAECB8DB1CBADADCB4EB1CB6A4EB1CB6A8DB7CB8DB0AA
|
||||
S123C4A0CBADB1CB8DB8CBA9008DB2CBA2008ECACB8EA2CB8EA3CB8EA4CBADB0CBCDA2CBA6
|
||||
S123C4C0ADB1CBEDA3CBADB2CBEDA4CB902118ADA2CB6DCDCB8DA2CBADA3CB6DCECB8DA31B
|
||||
S123C4E0CB9003EEA4CBE8D0D1EECACB4CBAC4CAE0FFD003CECACB8A186DCFCBAAADCACB33
|
||||
S123C5006DD0CBA88A2074CC38ADA2CBEDCDCB8DA2CBADA3CBEDCECB8DA3CB38ADB0CBEDC3
|
||||
S123C520A2CBAAADB1CBEDA3CBA88A2089CC4C77CC488407A00346076A88D0FA186DD4CB83
|
||||
S123C5408506A5076DD5CB8507682907AABD78CB602031C5310660E001F00A2031C549FF7F
|
||||
S123C56031069106602031C51106910660AEAACBBD80CB0DACCB8DACCB60A900A07F187101
|
||||
S123C580048810FA60AEAACBBD80CB2DACCB60A020B1028DB5CBA00FB1028DB6CB60AEB5BF
|
||||
S123C5A0CBE88AA0209102ADB6CBA00F9102602012C32011C63032A90C0DAFCBA8B104AA86
|
||||
S123C5C098291FA88A9102980DAFCBA8C898291FD0EBA00CAD92CBD102F00B9102A98090B8
|
||||
S123C5E0010AA00F9102ADB9CB602012C32011C6301B2085C5D013A00CB10248980DAFCB0F
|
||||
S123C600A868D1046E90CB2082C6ADB9CB602012C3A90D4820DEC7207EC4688DB3CBA20040
|
||||
S123C6208EB4CB2026C7303DAEB3CBACB4CBEEB4CBB102C00CD0138D92CB48980DAFCBA850
|
||||
S123C6406851042DDBCBF017D0D4C93FF01148980DAFCBA868851CB104297FC51CD0BFCAE3
|
||||
S123C660D0C9ADB9CB60AEC4CB0EB0CB2EB1CB2EB2CBCAD0F4ADC3CB2DB5CB0DB0CB8DB036
|
||||
S123C680CB60A920A2008DB3CBCEB3CB188A6DB3CBA8C00CF004C00FD0052C90CB100DB1BB
|
||||
S123C6A00248ADB3CB0DAFCBA8689104CEB3CB10DB208AC44C43C82012C3201AC8A50248F3
|
||||
S123C6C0A50348ADE9CAACEACA85028403A9012013C6688503688502ADB9CB3015A00DA94A
|
||||
S123C6E0009102C8C021D0F9386E90CB2082C6ADB9CB608E9ECB20EDC5302AA00CB102189D
|
||||
S123C7006901291FF01791022011C6100BAD9ECBD01320BAC64C1BC720B2C51003A901603C
|
||||
S123C720208FC5A900608A48EEADCBD003EEAECBADD2CBCDADCBADD3CBEDAECBB00568AAFF
|
||||
S123C7404CDEC7ADADCB29038DB9CB0A0A0A0A0A8DAFCBF00568AA4C62C7208AC4203DC83A
|
||||
S123C76068AAADB9CB602CD6CB30FACAD009207AC520C8C7910860207AC520C8C7D108F09A
|
||||
S123C780E44C6DC5AEC4CBADB5CB4ACAD0FC8DB0CB38A908EDC4CBAAA00CB1022DDACB4A57
|
||||
S123C7A02ACAD0FC186DB0CB2CC0CB10010A1869108D91CBA8B1028DB0CBC8A9002CC0CBDE
|
||||
S123C7C01002B1028DB1CB604818ADB7CB6DD7CB8508ADB8CB6DD8CB8509A0006860A9FF1E
|
||||
S123C7E08DADCB8DAECB8DB9CB6018ADAFCB6910A88CBECB8A48B1048DBFCBC8207EC80D6B
|
||||
S123C800BFCBF00A207EC8A8ADBFCB2057C568AAACBECBC898290FD0D8602085C5F01D2091
|
||||
S123C8206CC8ADECCAACEDCA20D0C84CEAC0AEAACBBD80CB49FF2DACCB8DACCB60207DCC68
|
||||
S123C8404C4FC8A201A901D003ADD9CB2080CCC900F0E9206CC8ADEFCAACF0CA20D0C820FA
|
||||
S123C8608BC8C90DF0034CEAC04C67CAADF2CAACF3CA20D0C8ADAACB1869414C19C9A900E0
|
||||
S123C8802CC0CB1005B1048CBECB60AD94CB48A9008D94CB68D003205FCC60AD94CBD020D3
|
||||
S123C8A0205CCCC900F019205FCCC913D00D205FCCC903D0034CEAC0A900608D94CBA9FFD9
|
||||
S123C8C060C90DF00AC90AF006C909F002C920608DD9C88CDAC8A000B9FFFFC924F00CC8EA
|
||||
S123C8E08CBACB2019C9ACBACBD0ED602C95CB100A2CBCCB3005482065CC686020C1C8B08B
|
||||
S123C9001848AD90CC2032C9A95E20ECC8680940202AC9AD8FCC4C32C9C909D00DA9202009
|
||||
S123C9202AC9AD96CB2907D0F46048209BC86820ECC8482CBCCB30032062CC68EE96CBC99B
|
||||
S123C94020B026CD8ECCF021CE96CBCD8CCCD006CE96CB300F60C90DF00ACD93CCF005CDEF
|
||||
S123C96094CCD005A9008D96CB60A90D202AC9A90A20ECC8AD93CBCD96CBF0EDAD8ECC20FA
|
||||
S123C98032C94C74C9A900A00191028C9DCBAD96CB8D93CB208BC8AC9DCBC90DD0034C6465
|
||||
S123C9A0CAC908D05EC001F0EBB10248A00138B102E901910268CE9DCBC920B040C909D0F1
|
||||
S123C9C030386EBCCBAD96CB8DBDCB206AC92071CAAD96CB4838ADBDCBED96CB8DBDCB0EF1
|
||||
S123C9E0BCCB2091CACEBDCBD0F8688D96CB4C94C9AD8FCC208DCAAD90CC208DCA2091CA9A
|
||||
S123CA004C94C9C910D00BAD95CB49FF8D95CB4C94C9C918D00C206AC9AD8DCC2032C94C4D
|
||||
S123CA2085C9C912D009206AC92071CA4C94C9C89102488C9DCBA001981871029102682023
|
||||
S123CA40FCC8AC9DCBB102C903D00BA001B102C901D0034CEAC0A001B10288D102B0034C0B
|
||||
S123CA6094C9A90D4C2AC9A90D202AC9A90A4C2AC9AD9DCB8DBBCBA9014868CEBBCBD001FE
|
||||
S123CA8060A8C89848B10220FCC84C7ACAC9209019AD8CCC482032C9A9202032C9684C32F7
|
||||
S123CAA0C9C9309004C93A9001386020A1CA90FAC94190F5C94760ADF3BFACF4BF1869801D
|
||||
S123CAC08DF3BF9004C88CF4BF60ADF3BFACF4BF8DD9CA8CDACAA200BDFFFF9D2801E810DF
|
||||
S123CAE0F7604C49C04C42CB4C53CB4CF8CA4CFFCA4C32CB4CCBCBFF202D20522F4F2420F5
|
||||
S123CB002D2042414420534543544F520D0A3C5245543E20544F2049474E4F5245202D2D70
|
||||
S123CB20203C4F544845523E20544F2041424F5254240D0A50454D204552524F52204F4EF6
|
||||
S123CB402024202D20494E56414C494420445249564524E500000000000000000000010075
|
||||
S123CB600001010101010101010101010000010000000000000000008040201008040201A6
|
||||
S123CB800102040810204080000103070F1F3F7F000000000000000000000000000000009B
|
||||
S123CBA0000000000000000000000000000000000000000000000000000000000000000071
|
||||
S123CBC0000000000000000000000000000000000000000000000000000000000000000051
|
||||
S123CBE00000000048DA5AAA4A4A4A4A1820F8CB8A20F8CB7AFA6860290F0930C93A300398
|
||||
S123CC001869074CB5CE48DA5AA90D20B5CEA90A20B5CE7AFA68605ADA48A000A2FF38E875
|
||||
S123CC20E964B0FB69642040CCA2FF38E8E90AB0FB690A2040CCAAA0012040CC68FA7A604E
|
||||
S123CC4048C000D0098AA8C000D0034C54CC8A093020B5CE68604CAECD4C21CE4CAFCE4C79
|
||||
S123CC60B2CE4CB5CE4CB8CE4CB9CE4CBACE4C5ACE4C29CE4C5ECE4C66CE4CAACE4C6DCEEE
|
||||
S123CC804C8BCEA901604CBBCE4CBCCE08010C005E18500C1E020D0A6438383838622E2024
|
||||
S123CCA0202E643838622E20202E64383838382E20202020644420202020206F6F6F6F6FEB
|
||||
S123CCC00D0A38382020603844202E3850202059382E203838202020595020202064382023
|
||||
S123CCE02020202038507E7E7E7E0D0A38382020203838203838202020203838206038623F
|
||||
S123CD006F2E202020206438202020202064500D0A38382020203838203838202020203863
|
||||
S123CD2038202020605938622E206438383838622E205638383838622E0D0A003838202035
|
||||
S123CD402E384420603862202064382720646220202038442038382020603844202020201A
|
||||
S123CD60206038440D0A5938383838442020206059383850202020603838383859202060AD
|
||||
S123CD803838383850202038386F6F62590D0A11444F532F3635204F4E20544845204E48FA
|
||||
S123CDA0594F44594E4520332E30300D0A0078A2FF9AD8A996A0CC20BDCEA93CA0CD20BD8F
|
||||
S123CDC0CE2006CC2075D820AFD0201ED5207DD7546E5C5E6E54794020B9D7A9448530A90A
|
||||
S123CDE0BF8531A94A852EA9CE852F2037CF20B9D8A2008E88DA8E89DABD1BCE9D0001E863
|
||||
S123CE00E006D0F5A928A00120AACEAD82DAA9022029CE205ACEA9024C03B84C59CC4CFED9
|
||||
S123CE20BF78A2FF9AD84CEECD29078D82DAAD82DA0AAABD3ACEBC3BCE6012DA20DA2EDAEF
|
||||
S123CE403CDA4ADA58DA66DA74DA00000100300030013002300330043006A900A000188DB5
|
||||
S123CE608ADA8C8BDA608D8CDA8C8DDA60201BCF29F0C900D004202CD960C920D003A9FF0A
|
||||
S123CE8060C930D0034C70D2A9FF60201BCF29F0C900D0042060D960C920D003A9FF60C9C6
|
||||
S123CEA030D00420C4D260A9FF6085F484F5604C9DD04C8ED04C6FD0606060606085F08433
|
||||
S123CEC0F1A000B1F0C900F00720B5CEC84CC3CE6048AD8CDA2903182AAABDF2CE85EEE869
|
||||
S123CEE0BDF2CE85EFA5F485ECA5F585ED2028CF686009E389E309E489E448AD8CDA29030F
|
||||
S123CF00182AAABDF2CE85ECE8BDF2CE85EDA5F485EEA5F585EF2028CF6860DAAD82DA2957
|
||||
S123CF20070AAABD4ACEFA605AA000B1EE91ECC898C980D0F67A602006CC48DA5AA200BDD7
|
||||
S123CF4053CFE8C924F00620B5CE4C3FCF7AFA684C67CF4469736B20436F6E66696775729D
|
||||
S123CF606174696F6E3A242006CCA20048DA5AA200BD85CFE8C924F00620B5CE4C71CF7AFD
|
||||
S123CF80FA684C8ACF20202020248A4A18694120B5CEA93A20B5CEA93D20B5CE20B4CFA94E
|
||||
S123CFA03A20B5CEE8BD4ACE2017CCE82006CCE010D0B960BD4ACE4829F0C900D01F48DA0D
|
||||
S123CFC05AA200BDD7CFE8C924F00620B5CE4CC3CF7AFA684CDACF4D44244C67D0C910D0F0
|
||||
S123CFE02048DA5AA200BDFACFE8C924F00620B5CE4CE6CF7AFA684CFECF554E4B244C6740
|
||||
S123D000D0C920D01F48DA5AA200BD1ED0E8C924F00620B5CE4C0AD07AFA684C21D0464464
|
||||
S123D020244C67D0C930D02248DA5AA200BD41D0E8C924F00620B5CE4C2DD07AFA684C4748
|
||||
S123D040D05050494445244C67D048DA5AA200BD63D0E8C924F00620B5CE4C4FD07AFA6820
|
||||
S123D0604C67D0554E4B2468290F2017CC606048AD6D032920C900F0F7688D680360AD6D7C
|
||||
S123D080032901C900F004AD680360A90060AD6D032901C900F0F7AD6803297F60AD6D03ED
|
||||
S123D0A02901C900F003A9FF60A9006000000048DA5AA200BDC8D0E8C924F00620B5CE4C48
|
||||
S123D0C0B4D07AFA684CD0D05050494445203A242006CC2062D2D03548DA5AA200BDF1D029
|
||||
S123D0E0E8C924F00620B5CE4CDDD07AFA684CF8D020494F3D307824A90320E4CBA9602070
|
||||
S123D100E4CB20F7D2209BD1B0034C36D148DA5AA200BD26D1E8C924F00620B5CE4C12D172
|
||||
S123D1207AFA684C33D1204E4F542050524553454E54244C97D12006CC48DA5AA200BD5276
|
||||
S123D140D1E8C924F00620B5CE4C3ED17AFA684C63D1205050494445303A20426C6F636BCE
|
||||
S123D160733D24A90020DBD148DA5AA200BD81D1E8C924F00620B5CE4C6DD17AFA684C9283
|
||||
S123D180D1205050494445313A20426C6F636B733D24A90120DBD12006CC60A9008D60037D
|
||||
S123D1A02022D3B034A90F20D4D48A2940C900F028A90A20D4D4E001D01FA90B20D4D4E077
|
||||
S123D1C001D016A90C20D4D4E000D00DA90D20D4D4E000D004184CDAD1386029010A0A0A09
|
||||
S123D1E00A09E0AAA000A90E20F2D42022D3B048A90FA2EC20F2D4204AD3B03C207AD3483A
|
||||
S123D200DA5AA200BD18D2E8C924F00620B5CE4C04D27AFA684C1BD2307824AD84E320E404
|
||||
S123D220CBAD83E320E4CBAD82E320E4CBAD81E320E4CB2006CC186048DA5AA200BD51D214
|
||||
S123D240E8C924F00620B5CE4C3DD27AFA684C5DD24E4F542050524553454E54242006CC62
|
||||
S123D26038602016D5A9008D6003AD6003C900602077D220D1CE602019D4AD90DACD95DA4D
|
||||
S123D280D013AD8FDACD94DAD00BAD8EDACD93DAD003A900602022D3B02720E6D3A90FA231
|
||||
S123D2A02020F2D4204AD3B018207AD3AD90DA8D95DAAD8EDA8D93DAAD8FDA8D94DAA90016
|
||||
S123D2C060A9FF602077D220FACE2022D3B02520E6D3A90FA23020F2D4204AD3B01620AF8C
|
||||
S123D2E0D32022D3B00EA9FF8D95DA8D93DA8D94DAA90060A9FF60A9008D90DA8D8EDA8DB8
|
||||
S123D3008FDAA9FF8D95DA8D93DA8D94DAA9808D6203A200CAE000D0FBA9008D6203200A10
|
||||
S123D320D660DA5A48A9008DADD08DAED0A90F20D4D48A2980F00EEEADD0D0F1EEAED0D060
|
||||
S123D340EC384C46D318687AFA60DA5A48A9008DADD08DAED0A90F20D4D48A2988C908F036
|
||||
S123D360142901C901F00AEEADD0D0E9EEAED0D0E4384C76D318687AFA60A2008EACD0A9ED
|
||||
S123D3800820D4D48AAEACD09D09E3E8989D09E3E8E000D0E78EACD0A90820D4D48AAEAC8D
|
||||
S123D3A0D09D09E4E8989D09E4E8E000D0E760A2008EACD0BD0AE3A8BD09E3AAA90820F212
|
||||
S123D3C0D4AEACD0E8E8E000D0E7A2008EACD0BD0AE4A8BD09E4AAA90820F2D4AEACD0E8E8
|
||||
S123D3E0E8E000D0E760201BCF29010A0A0A0A09E0AAA000A90E20F2D4AE8FDAA90D20F23F
|
||||
S123D400D4AE8EDAA90C20F2D4AE90DAA90B20F2D4A201A90A20F2D460AD8ADA290F0A0AD8
|
||||
S123D4200A0AAAAD8CDA4A4A290F8D90DA8A0D90DA8D90DAAD8ADA8D8EDAAD8BDA8D8FDA4E
|
||||
S123D440AD8FDA4A8D8FDAAD8EDA6A8D8EDAAD8FDA4A8D8FDAAD8EDA6A8D8EDAAD8FDA4AD4
|
||||
S123D4608D8FDAAD8EDA6A8D8EDAAD8FDA4A8D8FDAAD8EDA6A8D8EDAAD82DA29070AAAE89F
|
||||
S123D480BD4ACE8D98DAA9008D97DA186E98DA6E97DA6E98DA6E97DABD4ACE186D97DA8D1F
|
||||
S123D4A097DA18AD97DA6D8EDA8D8EDAAD98DA6D8FDA8D8FDAAD82DA8D71D8AD8FDA8D7218
|
||||
S123D4C0D8AD8EDA8D73D8AD90DA8D74D82090D620C5D660200ED58D620309408D6203487A
|
||||
S123D4E0AE6003AC61036849408D6203A9008D6203602016D58E60038C61038D6203092022
|
||||
S123D5008D620349208D6203A9008D62036048A9928D6303686048A9808D6303686020DA5B
|
||||
S123D520D548DA5AA200BD3AD5E8C924F00620B5CE4C26D57AFA684C40D544534B593A249D
|
||||
S123D5402006CC48DA5AA200BD5CD5E8C924F00620B5CE4C48D57AFA684C63D520494F3D9D
|
||||
S123D560307824A90320E4CBA96020E4CB48DA5AA200BD86D5E8C924F00620B5CE4C72D551
|
||||
S123D5807AFA684C8DD5204D4F44453D2448DA5AA200BDA6D5E8C924F00620B5CE4C92D5E0
|
||||
S123D5A07AFA684CA9D54E4724AD68D8C9FFF02648DA5AA200BDC9D5E8C924F00620B5CE56
|
||||
S123D5C04CB5D57AFA684CD6D5204E4F542050524553454E54242006CC60201FD6D02A20A7
|
||||
S123D5E041D8A9068D620309808D6203297F8D6203200AD6A9A5A000205BD7A000206FD712
|
||||
S123D600C9A5D005A9FF8D68D8602053D8A92120DBD6A9DF20DBD6A200DAFACAD0FB602024
|
||||
S123D6202AD8A9008D6003AD6003C90060AD68D8C9FFD0052014D7290F60AD68D8C9FFD060
|
||||
S123D64024202DD6F0F4A94020DBD62019D749C048293F8D66D8A200BD74D6CD66D8F009A0
|
||||
S123D660E8E01CD0F368A9FF606825C08D66D88A0D66D8600D040C14030B13020A120109C8
|
||||
S123D6801100081005151D1C1B1A191823222120A200BD71D84A4A4A4ADAAABD56D8FADA0B
|
||||
S123D6A0488A0AAA689D69D8FABD71D8290FDAAABD56D8FADA488A0AAAE8689D69D8FAE889
|
||||
S123D6C0E004D0CE6048DA5AA200BD69D8DA7A205BD7E8E008D0F37AFA686048A9014CE4B1
|
||||
S123D6E0D648A900202AD809068D620309188D62038D66D8688D6003AD66D829FD8D620303
|
||||
S123D700EA09028D620329E78D620329E68D62032053D860A9014C1BD7A9002041D8090697
|
||||
S123D7208D620309188D6203297B8D62038D66D8AD600348AD66D809048D620329E78D623E
|
||||
S123D7400329E68D62032053D86860A99020DBD6A210A9FF20E1D6CAD0F8605A48481898E7
|
||||
S123D7606990A820DBD66849FF20E1D6687A6018986970A820DBD62019D749FF608E66D8E4
|
||||
S123D780BA6885146885159AAE66D8DA5A4818E6149002E615A000B114205BD7C8C008D010
|
||||
S123D7A0F6687AFA8D66D81868690885149003681A48A51448AD66D8605ADA48A00F206FDB
|
||||
S123D7C0D70920A920A00F205BD7A28FA0FF88D0FDCAD0FAA00F206FD729DFA9DFA00F204E
|
||||
S123D7E05BD768FA7A605A48A00D206FD70920A00D205BD7687A605A48A00E206FD70920B9
|
||||
S123D800A00E205BD7687A605A48A00D206FD729DFA00D205BD7687A605A48A00E206FD70E
|
||||
S123D82029DFA00E205BD7687A6048AD67D8C982F00DA9828D63038D67D8A9068D6203682B
|
||||
S123D8406048AD67D8C992F008A9928D63038D67D868604C41D83F065B4F666D7D077F678A
|
||||
S123D860777C395E797100000000000000000000000000000048DA5AA200BD8ED8E8C9241A
|
||||
S123D880F00620B5CE4C7AD87AFA684CB6D84D443A20554E4954533D322052414D444953CA
|
||||
S123D8A04B3D3235364B4220524F4D4449534B3D3338344B42242006CCA200BDC7D89D005F
|
||||
S123D8C002E8E000D0F560488415A00084148A2980C900D0388A2940C900D00DA9808D7C6D
|
||||
S123D8E0036809808D7803D00BA9008D780368297F8D7C03A200DA7AB1149D0004E8E0005C
|
||||
S123D900D0F4A9808D7C03A98E8D7803606809808D7803A200DA7ABD00049114E8E000D07E
|
||||
S123D920F4A9808D7C03A98E8D7803602035D920C6D9A90060201BCF29010A0A0A0A0A0AB5
|
||||
S123D940297FAA2083D9E000F00CEE8EDAEE8EDAEE8EDAEE8EDAAD8EDAAC90DA2000026014
|
||||
S123D960201BCF2901C900F003A9FF602035D92083D920ECD9AD8EDAAC90DAA280200002AD
|
||||
S123D980A90060DAAD8CDA4A291F8D90DAAD8ADA29030A0A0A0A0A09800D90DA8D90DAADF1
|
||||
S123D9A08ADA4A4A8D8EDAAD82DA8D71D8A9008D72D8AD8EDA8D73D8AD90DA8D74D820908A
|
||||
S123D9C0D620C5D6FA6048AD8CDA2901C900D007A90085EE4CDBD9A98085EEA90485EFA5B5
|
||||
S123D9E0F485ECA5F585ED2028CF686048AD8CDA2901C900D007A90085EC4C01DAA98085BF
|
||||
S123DA00ECA90485EDA5F485EEA5F585EF2028CF68607F004000000001FF0099DA0089E261
|
||||
S123DA20BF0040000000019B0097DB0089E2FF074000100002FF0195DC0089E2FF074000F0
|
||||
S123DA40100002FF0193DD0089E2FF074000100002FF0191DE0089E2FF074000100002FF4C
|
||||
S123DA60018FDF0089E2FF074000100002FF018DE00089E2FF074000100002FF018BE100D4
|
||||
S123DA8089E202000000000000000000000000000000000000000000000000000000000015
|
||||
S123DAA0000000000000000000000000000000000000000000000000000000000000000062
|
||||
S123DAC0000000000000000000000000000000000000000000000000000000000000000042
|
||||
S123DAE0000000000000000000000000000000000000000000000000000000000000000022
|
||||
S123DB00000000000000000000000000000000000000000000000000000000000000000001
|
||||
S123DB200000000000000000000000000000000000000000000000000000000000000000E1
|
||||
S123DB400000000000000000000000000000000000000000000000000000000000000000C1
|
||||
S123DB600000000000000000000000000000000000000000000000000000000000000000A1
|
||||
S123DB80000000000000000000000000000000000000000000000000000000000000000081
|
||||
S123DBA0000000000000000000000000000000000000000000000000000000000000000061
|
||||
S123DBC0000000000000000000000000000000000000000000000000000000000000000041
|
||||
S123DBE0000000000000000000000000000000000000000000000000000000000000000021
|
||||
S123DC00000000000000000000000000000000000000000000000000000000000000000000
|
||||
S123DC200000000000000000000000000000000000000000000000000000000000000000E0
|
||||
S123DC400000000000000000000000000000000000000000000000000000000000000000C0
|
||||
S123DC600000000000000000000000000000000000000000000000000000000000000000A0
|
||||
S123DC80000000000000000000000000000000000000000000000000000000000000000080
|
||||
S123DCA0000000000000000000000000000000000000000000000000000000000000000060
|
||||
S123DCC0000000000000000000000000000000000000000000000000000000000000000040
|
||||
S123DCE0000000000000000000000000000000000000000000000000000000000000000020
|
||||
S123DD000000000000000000000000000000000000000000000000000000000000000000FF
|
||||
S123DD200000000000000000000000000000000000000000000000000000000000000000DF
|
||||
S123DD400000000000000000000000000000000000000000000000000000000000000000BF
|
||||
S123DD6000000000000000000000000000000000000000000000000000000000000000009F
|
||||
S123DD8000000000000000000000000000000000000000000000000000000000000000007F
|
||||
S123DDA000000000000000000000000000000000000000000000000000000000000000005F
|
||||
S123DDC000000000000000000000000000000000000000000000000000000000000000003F
|
||||
S123DDE000000000000000000000000000000000000000000000000000000000000000001F
|
||||
S123DE000000000000000000000000000000000000000000000000000000000000000000FE
|
||||
S123DE200000000000000000000000000000000000000000000000000000000000000000DE
|
||||
S123DE400000000000000000000000000000000000000000000000000000000000000000BE
|
||||
S123DE6000000000000000000000000000000000000000000000000000000000000000009E
|
||||
S123DE8000000000000000000000000000000000000000000000000000000000000000007E
|
||||
S123DEA000000000000000000000000000000000000000000000000000000000000000005E
|
||||
S123DEC000000000000000000000000000000000000000000000000000000000000000003E
|
||||
S123DEE000000000000000000000000000000000000000000000000000000000000000001E
|
||||
S123DF000000000000000000000000000000000000000000000000000000000000000000FD
|
||||
S123DF200000000000000000000000000000000000000000000000000000000000000000DD
|
||||
S123DF400000000000000000000000000000000000000000000000000000000000000000BD
|
||||
S123DF6000000000000000000000000000000000000000000000000000000000000000009D
|
||||
S123DF8000000000000000000000000000000000000000000000000000000000000000007D
|
||||
S123DFA000000000000000000000000000000000000000000000000000000000000000005D
|
||||
S123DFC000000000000000000000000000000000000000000000000000000000000000003D
|
||||
S123DFE000000000000000000000000000000000000000000000000000000000000000001D
|
||||
S123E0000000000000000000000000000000000000000000000000000000000000000000FC
|
||||
S123E0200000000000000000000000000000000000000000000000000000000000000000DC
|
||||
S123E0400000000000000000000000000000000000000000000000000000000000000000BC
|
||||
S123E06000000000000000000000000000000000000000000000000000000000000000009C
|
||||
S123E08000000000000000000000000000000000000000000000000000000000000000007C
|
||||
S123E0A000000000000000000000000000000000000000000000000000000000000000005C
|
||||
S123E0C000000000000000000000000000000000000000000000000000000000000000003C
|
||||
S123E0E000000000000000000000000000000000000000000000000000000000000000001C
|
||||
S123E1000000000000000000000000000000000000000000000000000000000000000000FB
|
||||
S123E1200000000000000000000000000000000000000000000000000000000000000000DB
|
||||
S123E1400000000000000000000000000000000000000000000000000000000000000000BB
|
||||
S123E16000000000000000000000000000000000000000000000000000000000000000009B
|
||||
S123E18000000000000000000000000000000000000000000000000000000000000000007B
|
||||
S123E1A000000000000000000000000000000000000000000000000000000000000000005B
|
||||
S123E1C000000000000000000000000000000000000000000000000000000000000000003B
|
||||
S123E1E000000000000000000000000000000000000000000000000000000000000000001B
|
||||
S123E2000000000000000000000000000000000000000000000000000000000000000000FA
|
||||
S123E2200000000000000000000000000000000000000000000000000000000000000000DA
|
||||
S123E2400000000000000000000000000000000000000000000000000000000000000000BA
|
||||
S123E26000000000000000000000000000000000000000000000000000000000000000009A
|
||||
S123E28000000000000000000000000000000000000000000000000000000000000000007A
|
||||
S123E2A000000000000000000000000000000000000000000000000000000000000000005A
|
||||
S123E2C000000000000000000000000000000000000000000000000000000000000000003A
|
||||
S123E2E000000000000000000000000000000000000000000000000000000000000000001A
|
||||
S123E3000000000000000000000000000000000000000000000000000000000000000000F9
|
||||
S123E3200000000000000000000000000000000000000000000000000000000000000000D9
|
||||
S123E3400000000000000000000000000000000000000000000000000000000000000000B9
|
||||
S123E360000000000000000000000000000000000000000000000000000000000000000099
|
||||
S123E380000000000000000000000000000000000000000000000000000000000000000079
|
||||
S123CFF3000000000000000000000000004CA8E5D84820FCD3682000D4AD8CE44A4A4A4A91
|
||||
S123D0138DF6D7AD43D7D03CA2FF9AD8A91120F0D32069D4A93E20F0D3AD8BD6AC8CD620B9
|
||||
S123D033F4D3A000AE43D7F0DFB944D7C9619009C97BB005295F9944D7C8CAD0EC8A99445A
|
||||
S123D053D78DE7D720A4D5202BD48DE8D720A5D4D064ADE9D7F004A915D02EA900AA8DECDD
|
||||
S123D073D7A001BD1DD7F01AD9C3D7D004E8C8D0F2E8BD1DD7D0FAE8EEECD7ADECD7C90771
|
||||
S123D093D0DFADECD70A6DECD7AAE8BD96D6BC97D68DEAD78CEBD7AD8FD648AD8ED6486C81
|
||||
S123D0B3EAD72034D420A5D4ADC4D738E9200DE9D7D0034C1BD020E1D3ACEDD7B944D7F06F
|
||||
S123D0D30AC920F0062072D4C8D0F1A93F20F0D34C1BD020A5D420ABD5A920CDC4D7D00F16
|
||||
S123D0F3CDCCD7D00AA93FA00B99C3D788D0FA205FD43058ADF6D78DF5D720E1D3206CD4D5
|
||||
S123D113A93A20F0D3ADEED70A0A0A0A0A2960A8C8A201B92801297F2072D4C8E8E00CF076
|
||||
S123D1330CE009D0EEA92E2072D44C26D120F8D3D0192097D42010D48DEED7300ECEF5D718
|
||||
S123D153F0B220EED320EED34C10D160A0344CC0D520A5D4D057209ED420ABD5205FD4309D
|
||||
S123D1734F20E0D5ACE7D7B944D7C920D03C20A5D4D037ADE9D7F012CDF2D7F00D38E9017D
|
||||
S123D193CDE8D7D025ADF2D7D020ADF2D78DE9D7A9008DD3D720ABD5205FD4100920E0D50D
|
||||
S123D1B32097D44C27D4A03ED0082034D44CC9D0A0344CC0D5A900A0088DFCD78CFDD720DD
|
||||
S123D1D305D6D07A8DF1D70DF1D7F07220A5D4D06D20E0D5209ED42005D6AEC4D7E020F016
|
||||
S110D1F30A8DFCD78CFDD7C002905320F3A9
|
||||
S123D200D520ABD52014D42097D42023D43045204AD4304418ADFDD76DF1D78DF1D7ADFCF8
|
||||
S123D220D7ACFDD78DF3D78CF4D720C4E22097D4201FD4D02718ADF3D7ACF4D76980900308
|
||||
S123D240C8F005CCF1D7D0DC2097D42008D43010604CC9D0A001D00AA055D006A062D002A7
|
||||
S123D260A00A4CC0D520A5D4C90BD013A01820C0D520EAD34820E1D368295FC959D0D12096
|
||||
S123D280ABD54C14D420A5D4D0302047D4303220E1D32059D4F00410203022A200BD280181
|
||||
S123D2A0C91AF0152072D420F8D3D008AEEFD7E810EB30DEA206200301604CC9D0A029D04A
|
||||
S123D2C002A0344CC0D520D5D520A5D4D0EC20E0D5209ED42005D6AEC4D7E020F00320D9DD
|
||||
S123D2E0D520F3D52047D430D8ADF3D7ACF4D7202FD42059D4D00620B1E24CEFD230BE4CFC
|
||||
S123D300A4D52005D6AEC4D7E020F0034C76D34C72D3ADC4D7C920D011ADE9D7F00938E99A
|
||||
S123D320018DE8D72000D44CB8D0ADCCD7C920F0034CD9D3A202BDE4D79DCCD7CA10F72063
|
||||
S123D34047D410034CD6D320D5D5202FD42059D4D01E20B1E2CD91D69007CC92D690EBB0A1
|
||||
S123D36007CC92D690E4F0E220A4D52059D4F06C306AA900A0088DCBD38CCCD32034D4205D
|
||||
S123D380A5D4ADE9D78DC3D7A21020A7D4ADE9D78DD3D7A0008CE3D7A220BDC3D79D0701E7
|
||||
S123D3A0CA10F7E8B944D7F007C920F003C8D0F4A9008D2801B944D79D2901F007E8C8EEEE
|
||||
S123D3C02801D0F120E1D320A4D5200008ADE8D72000D44C1BD02034D44CC9D0A04A4CC030
|
||||
S123D3E0D5A90D20F0D3A90AD006A201D043A920A202D03DA20AD039A20BD035A20DD031EB
|
||||
S123D400A20ED02DA20FD029A210D025A211D021A212D01D2097D4A213D016A214D012A265
|
||||
S123D42015D00EA216D00AA217D006A219D002A21A4C0301ADE9D7F01F38E901CDE8D7F021
|
||||
S123D44017ADE8D74C00D420ABD5A9008DE3D72097D42004D48DEED7602097D44C1BD4207A
|
||||
S123D46097D4200CD48DEED76020E1D3202BD41869418EEFD78CF0D720BBE0B01048AD8A35
|
||||
S123D480E420F0D368094020F0D3AD89E420F0D3ACF0D7AEEFD760AD94D6AC95D660ADE9C5
|
||||
S123D4A0D78DF2D760A2008A48A9008DE9D7ACE7D72072D58CEDD7F00D290F48C8B944D737
|
||||
S123D4C0C93AF00A6888ADE8D79DC3D71008688DE9D79DC3D7C8A9088DECD7207FD5F01D6A
|
||||
S123D4E0E8C92AD007A93F9DC3D7D0049DC3D7C8CEECD7D0E6207FD5F011C8D0F8E8A92087
|
||||
S123D5009DC3D7CEECD7D0F5B944D748A9038DECD768C92ED023C8207FD5F01DE8C92AD01C
|
||||
S123D52007A93F9DC3D7D0049DC3D7C8CEECD7D0E6207FD5F00EC8D0F8E8A9209DC3D7CEEF
|
||||
S123D540ECD7D0F5A9038DECD7E8A9009DC3D7CEECD7D0F58CE7D7A9008DECD768A8A20B25
|
||||
S123D560C8B9C3D7C93FD003EEECD7CAD0F2ADECD760B944D7F007C920D003C8D0F460B978
|
||||
S123D58044D7F01CC9209019F016C93DF012C92EF00EC93AF00AC93BF006C93CF002C93ED6
|
||||
S123D5A0604CC9D0A928A0014C2FD4A9008DC3D7ADE9D7F01F38E901CDE8D7F0174C00D440
|
||||
S123D5C08CF0D720E1D3ACF0D7B9AFD6F0062072D4C8D0F560A900A0088DF3D78CF4D760C7
|
||||
S123D5E0A20FBDC3D7BCD3D79DD3D7989DC3D7CA10F060A20FBDD3D79DC3D7CA10F7ADF2BA
|
||||
S123D600D78DE9D760A9098DF7D720A5D4ADE9D7D0678DF8D78DF9D7A8B9C4D7C924D006C0
|
||||
S123D620A90F8DF7D7C8C8B9C3D7C920F04E209BE2900E20A5E2B041E906A20FECF7D7D0CC
|
||||
S123D64038290F48ADF8D78DFAD7ADF9D78DFBD7AEF7D718ADF8D76DFAD78DF8D7ADF9D731
|
||||
S123D6606DFBD78DF9D7B011CAD0E9686DF8D78DF8D790B2EEF9D7D0AD4CC9D0ADCCD7C94B
|
||||
S123D68020D0F6ADF8D7ACF9D7604C42D74CB4D04C03D04CC3D74CE6D04CC8D14C65D24C58
|
||||
S123D6A085D24C64D14C02D34CC6D24C12D3FF004E4F2053504143450043414E204E4F544D
|
||||
S123D6C020434C4F534500414C4C2046494C45532028592F4E293F00524541442045525299
|
||||
S123D6E04F52004E4F5420464F554E440046494C4520455849535453004C4F414420455201
|
||||
S123D700524F520043414E204E4F54204F50454E005752495445204552524F5200444952C9
|
||||
S123D7202000534156452000455241200054595045200052454E2000474F20004C4F414441
|
||||
S123D74020007F000000000000000000000000000000000000000000000000000000000026
|
||||
S123D7600000000000000000000000000000000000000000000000000000000000000000A5
|
||||
S123D780000000000000000000000000000000000000000000000000000000000000000085
|
||||
S123D7A0000000000000000000000000000000000000000000000000000000000000000065
|
||||
S123D7C0000000000000000000000000000000000000000000000000000000000000000045
|
||||
S123D7E000000000434F360000000000000000000000000008000009000000000008D88DDF
|
||||
S123D80092E38DD6E38C93E38CD7E38E94E3E024B050BD4EE3F008A9FF8D91E320E9DAA9DD
|
||||
S123D820008D99E3AD94E30A6D94E3AAE8BD76D8BC77D88D9AE38C9BE3ADDEE248ADDDE2EC
|
||||
S123D84048AD92E3AC93E36C9AE38D95E38C96E3AD99E3F00DA0009102ADA3E38D92E32097
|
||||
S123D86004DB2C91E3100820E9DAA9008D91E3AC96E3AD95E3604CEAD84CDBDA4C13E14C3B
|
||||
S123D88065E44C62E44C5FE44C85E04C1FD94C2AD94CCAE04C7FE14C95E04C7DE44C32DB6D
|
||||
S123D8A04C04DB4CAFDD4CEADD4C0EDE4C3AD94CA2D94C42D94CC7D94CB1DE4C80D94C329F
|
||||
S123D8C0D94C2ED94CF9DA4C23D94C6DDD4C36D94CE2D84CE6D84CFAD84C0ED94C18D94CD6
|
||||
S123D8E083E48D8FE360AD8FE3602C91E3100820E9DAA9008D91E34C53E42080E48DBFE364
|
||||
S123D9008CC0E38EC1E38A2980A8ADBFE360ADC1E3297FA8ADC0E360AD6CDBAC6DDB60ADD2
|
||||
S123D920060160ADCEE3ACCFE3608D060160ADA4E360ADA5E360ADA6E3602012DBA90D4C9E
|
||||
S123D9401BDE2012DB208FDDADAFE3CDB0E39013C980F003A90160A20120EDDEC900D0F48E
|
||||
S123D9608DAFE3207EDFADAAE30DABE3D003A902602060DE20ACDC2037E0209EDDA9006073
|
||||
S123D9802012DB2014E0A90C2013DE3014A900A0109102A90CA2102080DEA90C201BDE10A9
|
||||
S123D9A0EC602012DB2014E0A90C2013DE3017A20020E4DFACA9E3AD4DE39104203DE0A9D4
|
||||
S123D9C00C201BDE10E9602012DB2014E0208FDDADAFE3C9809003A90160207EDFA9008D40
|
||||
S123D9E0D3E3ADAAE30DABE3F0034CAADAA9028DD3E3AD8BE348C910F01AA8882CBAE31098
|
||||
S123DA000188B1028DAAE3C8A9002CBAE31002B1028DABE3ADAAE38D9FE38DA1E3ADABE3FD
|
||||
S123DA208DA0E38DA2E3ADA1E3CDC5E3D008ACA2E3CCC6E3F012EEA1E3D003EEA2E3AD9F96
|
||||
S123DA40E30DA0E3F018D00BAD9FE30DA0E3D003A8F030AD9FE3D003CEA0E3CE9FE3AD9F23
|
||||
S123DA60E3ACA0E32051DDD009AD9FE3ACA0E34C83DAADA1E3ACA2E32051DDD0A9ADA1E308
|
||||
S123DA80ACA2E38DAAE38CABE30DABE3D00468A90260ADAAE32065DD68A8ADAAE39102AD15
|
||||
S123DAA0ABE3C82CBAE3100291022060DE20ACDC2043E0AEAFE3ECB0E39005E88EB0E3CA2E
|
||||
S123DAC0E07FD011209EDDA20020EDDEC900D00AA9FF8DAFE3209EDDA900602085E020BB6C
|
||||
S123DAE0E09005482013E16860A207B502BCD6E39DD6E39402CA10F360A502A40385048440
|
||||
S123DB00054C74E4AD92E3CDA4E3F0EC8DA4E34C45DBA000B102F01938E90129078D92E3D6
|
||||
S123DB20ADA4E38DA3E3B1028D99E39891022004DB60A9028DA4E38DA5E3A928A001850287
|
||||
S123DB40840320F9DAADA4E3C908900F2066E0ADE0E2ACE1E220CAE04CEAD8206BE48D6C1F
|
||||
S123DB60DB8C6DDB0D6DDBF0E3A00DB9FFFF99C5E38810F7ADCBE3A81869038DBEE3B985A3
|
||||
S123DB80E38DBDE3ADCCE38DBBE3ADCDE34A6EBBE34A6EBBE38DBCE3A9008DBAE3ADC6E38C
|
||||
S123DBA0F00588386EBAE3B982E38DD4E338A91FF982E38DD5E3AEA4E3BD7AE32DA5E3D0C8
|
||||
S123DBC00CBD7AE30DA5E38DA5E34CCEDB602028E0ADC5E38DC2E3ADC6E3A2034A6EC2E315
|
||||
S123DBE0CAD0F98DC3E3EEC2E3D003EEC3E3ADCEE3ACCFE385068407A000A9009106E606C3
|
||||
S123DC00D002E607ADC2E3D003CEC3E3CEC2E3ADC2E30DC3E3D0E3ADBBE38DC2E3ADBCE3B4
|
||||
S123DC20AEBEE34A6EC2E3CAD0F98DC3E3EEC2E3D003EEC3E38EAAE38EABE3ADAAE3ACABAC
|
||||
S123DC40E32065DDEEAAE3D003EEABE3ADC2E3D003CEC3E3CEC2E3ADC2E30DC3E3D0DC20D4
|
||||
S123DC607EDC20D8DFA2012020DF3011ACA9E3B104C9E5F0F0A20120E4DF4C65DC602068F6
|
||||
S123DC80E4ADC9E3ACCAE34C6EE4ADA8E38DABE3ADA7E34EABE36A4EABE36A8DB1E38DAADE
|
||||
S123DCA0E3ADABE38DB2E3A9008DACE3A2008EC4E38E9CE38E9DE38E9EE3ADAAE3CD9CE3D4
|
||||
S123DCC0ADABE3ED9DE3ADACE3ED9EE3902118AD9CE36DC7E38D9CE3AD9DE36DC8E38D9D67
|
||||
S123DCE0E39003EE9EE3E8D0D1EEC4E34CBADCCAE0FFD003CEC4E38A186DC9E3AAADC4E391
|
||||
S123DD006DCAE3A88A206EE438AD9CE3EDC7E38D9CE3AD9DE3EDC8E38D9DE338ADAAE3ED09
|
||||
S123DD209CE3AAADABE3ED9DE3A88A2083E44C71E4488407A00346076A88D0FA186DCEE3FF
|
||||
S123DD408506A5076DCFE38507682907AABD72E3602031DD310660E001F00A2031DD49FF13
|
||||
S123DD6031069106602031DD1106910660AEA4E3BD7AE30DA6E38DA6E360A900A07F187189
|
||||
S123DD80048810FA60AEA4E3BD7AE32DA6E360A020B1028DAFE3A00FB1028DB0E360AEAF53
|
||||
S123DDA0E3E88AA0209102ADB0E3A00F9102602012DB2011DE3032A90C0DA9E3A8B104AA02
|
||||
S123DDC098291FA88A9102980DA9E3A8C898291FD0EBA00CAD8CE3D102F00B9102A980907C
|
||||
S123DDE0010AA00F9102ADB3E3602012DB2011DE301B2085DDD013A00CB10248980DA9E38B
|
||||
S123DE00A868D1046E8AE3207CDEADB3E3602012DBA90D4820D8DF207EDC688DADE3A2009E
|
||||
S123DE208EAEE32020DF3037AEADE3ACAEE3EEAEE3B102C00CD0138D8CE348980DA9E3A8C0
|
||||
S123DE406851042DD5E3F011D0D4C93FF00B48980DA9E3A868D104D0C5CAD0CFADB3E36075
|
||||
S123DE60AEBEE30EAAE32EABE32EACE3CAD0F4ADBDE32DAFE30DAAE38DAAE360A920A20022
|
||||
S123DE808DADE3CEADE3188A6DADE3A8C00CF004C00FD0052C8AE3100DB10248ADADE30D5D
|
||||
S123DEA0A9E3A8689104CEADE310DB208ADC4C3DE02012DB2014E0A50248A50348ADE3E283
|
||||
S123DEC0ACE4E285028403A9012013DE688503688502ADB3E33015A00DA9009102C8C0210A
|
||||
S123DEE0D0F9386E8AE3207CDEADB3E3608E98E320EDDD302AA00CB102186901291FF017A8
|
||||
S123DF0091022011DE100BAD98E3D01320B4DE4C15DF20B2DD1003A90160208FDDA90060E2
|
||||
S123DF208A48EEA7E3D003EEA8E3ADCCE3CDA7E3ADCDE3EDA8E3B00568AA4CD8DFADA7E3BE
|
||||
S123DF4029038DB3E30A0A0A0A0A8DA9E3F00568AA4C5CDF208ADC2037E068AAADB3E36023
|
||||
S123DF602CD0E330FACAD009207ADD20C2DF910860207ADD20C2DFD108F0E44C6DDDAEBED9
|
||||
S123DF80E3ADAFE34ACAD0FC8DAAE338A908EDBEE3AAA00CB1022DD4E34A2ACAD0FC186D6E
|
||||
S123DFA0AAE32CBAE310010A1869108D8BE3A8B1028DAAE3C8A9002CBAE31002B1028DABB4
|
||||
S123DFC0E3604818ADB1E36DD1E38508ADB2E36DD2E38509A0006860A9FF8DA7E38DA8E37A
|
||||
S123DFE08DB3E36018ADA9E36910A88CB8E38A48B1048DB9E3C82078E00DB9E3F00A2078D6
|
||||
S123E000E0A8ADB9E32057DD68AAACB8E3C898290FD0D8602085DDF01D2066E0ADE6E2ACC8
|
||||
S123E020E7E220CAE04CEAD8AEA4E3BD7AE349FF2DA6E38DA6E3602077E44C49E0A201A93C
|
||||
S123E04001D003ADD3E3207AE4C900F0E92066E0ADE9E2ACEAE220CAE02085E0C90DF003F7
|
||||
S123E0604CEAD84C61E2ADECE2ACEDE220CAE0ADA4E31869414C13E1A9002CBAE31005B1D1
|
||||
S123E080048CB8E360AD8EE348A9008D8EE368D0032059E460AD8EE3D0202056E4C900F0CB
|
||||
S123E0A0192059E4C913D00D2059E4C903D0034CEAD8A900608D8EE3A9FF60C90DF00AC97B
|
||||
S123E0C00AF006C909F002C920608DD3E08CD4E0A000B9FFFFC924F00CC88CB4E32013E170
|
||||
S123E0E0ACB4E3D0ED602C8FE3100A2CB6E3300548205FE4686020BBE0B01848AD8AE42091
|
||||
S123E1002CE1A95E20E6E06809402024E1AD89E44C2CE1C909D00DA9202024E1AD90E329D2
|
||||
S123E12007D0F460482095E06820E6E0482CB6E33003205CE468EE90E3C920B026CD88E424
|
||||
S123E140F021CE90E3CD86E4D006CE90E3300F60C90DF00ACD8DE4F005CD8EE4D005A900BC
|
||||
S123E1608D90E360A90D2024E1A90A20E6E0AD8DE3CD90E3F0EDAD88E4202CE14C6EE1A903
|
||||
S123E18000A00191028C97E3AD90E38D8DE32085E0AC97E3C90DD0034C5EE2C908D05EC085
|
||||
S123E1A001F0EBB10248A00138B102E901910268CE97E3C920B040C909D030386EB6E3AD34
|
||||
S123E1C090E38DB7E32064E1206BE2AD90E34838ADB7E3ED90E38DB7E30EB6E3208BE2CE5F
|
||||
S123E1E0B7E3D0F8688D90E34C8EE1AD89E42087E2AD8AE42087E2208BE24C8EE1C910D05E
|
||||
S123E2000BAD8FE349FF8D8FE34C8EE1C918D00C2064E1AD87E4202CE14C7FE1C912D00907
|
||||
S123E2202064E1206BE24C8EE1C89102488C97E3A0019818710291026820F6E0AC97E3B118
|
||||
S123E24002C903D00BA001B102C901D0034CEAD8A001B10288D102B0034C8EE1A90D4C24CF
|
||||
S123E260E1A90D2024E1A90A4C24E1AD97E38DB5E3A9014868CEB5E3D00160A8C89848B19C
|
||||
S123E2800220F6E04C74E2C9209019AD86E448202CE1A920202CE1684C2CE1C9309004C9B5
|
||||
S123E2A03A90013860209BE290FAC94190F5C94760ADF3D7ACF4D71869808DF3D79004C82F
|
||||
S123E2C08CF4D760ADF3D7ACF4D78DD3E28CD4E2A200BDFFFF9D2801E810F7604C49D84CE6
|
||||
S123E2E03CE34C4DE34CF2E24CF9E24C2CE34CC5E3FF202D20522F4F24202D204241442035
|
||||
S123E300534543544F520D0A3C5245543E20544F2049474E4F5245202D2D203C4F54484500
|
||||
S123E320523E20544F2041424F5254240D0A50454D204552524F52204F4E2024202D204970
|
||||
S123E3404E56414C494420445249564524E500000000000000000000010000010101010152
|
||||
S123E360010101010101000001000000000000000000804020100804020101020408102054
|
||||
S123E3804080000103070F1F3F7F00000000000000000000000000000000000000000000C2
|
||||
S123E3A0000000000000000000000000000000000000000000000000000000000000000059
|
||||
S123E3C0000000000000000000000000000000000000000000000000000000000000000039
|
||||
S123E3E0000000000000000000000000000000000000000000000000000000000000000019
|
||||
S123E4000000000000000000000000000000000000000000000000000000000000000000F8
|
||||
S123E4200000000000000000000000000000000000000000000000000000000000000000D8
|
||||
S123E4400000000000000000000000000000000000000000000000000000000000000000B8
|
||||
S123E460000000000000000000000000000000000000000000000000000000000000000098
|
||||
S123E480000000000000000000000000000000000000000000000000000000000000000078
|
||||
S123E4A0000000000000000000000000000000000000000000000000000000000000000058
|
||||
S123E4C0000000000000000000000000000000000000000000000000000000000000000038
|
||||
S123E4E0000000000000000000000000000000000000000000000000000000000000000018
|
||||
S123E3C000000000000000000000000000000000000000000000000000000000000048DA17
|
||||
S123E3E05AAA4A4A4A4A1820F2E38A20F2E37AFA6860290F0930C93A30031869074CE6E6DE
|
||||
S123E40048DA5AA90D20E6E6A90A20E6E67AFA68605ADA48A000A2FF38E8E964B0FB69645D
|
||||
S123E420203AE4A2FF38E8E90AB0FB690A203AE4AAA001203AE468FA7A6048C000D0098A5A
|
||||
S123E440A8C000D0034C4EE48A093020E6E668604CA8E54C44E64CD8E64CDFE64CE6E64CBA
|
||||
S123E460EFE64CF0E64CF1E64C6DE64C4CE64C71E64C79E64CD3E64C80E64CABE6A9016075
|
||||
S123E4804CF2E64CF3E608010C005E18500C1E020D0A6438383838622E20202E6438386299
|
||||
S123E4A02E20202E64383838382E20202020644420202020206F6F6F6F6F0D0A3838202090
|
||||
S123E4C0603844202E3850202059382E2038382020205950202020643820202020203850CA
|
||||
S123E4E07E7E7E7E0D0A38382020203838203838202020203838206038626F2E2020202012
|
||||
S123E5006438202020202064500D0A38382020203838203838202020203838202020605917
|
||||
S123E52038622E206438383838622E205638383838622E0D0A00383820202E38442060380C
|
||||
S123E5406220206438272064622020203844203838202060384420202020206038440D0A51
|
||||
S123E560593838383844202020605938385020202060383838385920206038383838502058
|
||||
S123E5802038386F6F62590D0A11444F532F3635204F4E20544845204E48594F44594E455A
|
||||
S123E5A020332E30300D0A0078A2FF9AD8204CE8A990A0E420F4E6A936A0E520F4E620004B
|
||||
S123E5C0E4A200BD00F29D1405E8E010D0F5A9168532206A02A9048532206A02A908853255
|
||||
S123E5E0206A02A200BD13E99D0005E8E008D0F5A9128532206A02A90D8532206A02A94415
|
||||
S123E6008530A9D78531A914852EA905852F2015E7204CE8A2008E8EE98E8FE9BD3EE69D9E
|
||||
S123E6200001E8E006D0F5A928A00120D3E6AD1305A902204CE6206DE6A9024C03D04C5359
|
||||
S123E640E44CFED778A2FF9AD84C11E629078D1305AD13050AAABD5DE6BC5EE6601BE92908
|
||||
S123E660E937E945E953E961E96FE97DE9A900A000188D0C058C0D05608D0E058C0F05607E
|
||||
S123E6802008E729F0C900D00AA9148532206A024CD8E8C920D003A9FF60C930D00AA9055A
|
||||
S123E6A08532206A024CD8E8A9FF602008E720EEE829F0C900D007A91585324C6A02C9202B
|
||||
S123E6C0D003A9FF60C930D007A90685324C6A02A9FF6085F484F560A90385324C6A02A94F
|
||||
S123E6E00285324C6A0248A9008532684C6A02606060606085F084F1A000B1F0C900F00712
|
||||
S123E70020E6E6C84CFAE660DAAD130529070AAABD1405FA602000E448DA5AA200BD31E70B
|
||||
S123E720E8C924F00620E6E64C1DE77AFA684C45E74469736B20436F6E66696775726174BD
|
||||
S123E740696F6E3A242000E4A20048DA5AA200BD63E7E8C924F00620E6E64C4FE77AFA6831
|
||||
S123E7604C68E720202020248A4A18694120E6E6A93A20E6E6A93D20E6E62092E7A93A2097
|
||||
S123E780E6E6E8BD14052011E4E82000E4E010D0B960BD14054829F0C900D01F48DA5AA204
|
||||
S123E7A000BDB5E7E8C924F00620E6E64CA1E77AFA684CB8E74D44244C45E8C910D020486B
|
||||
S123E7C0DA5AA200BDD8E7E8C924F00620E6E64CC4E77AFA684CDCE7554E4B244C45E8C9F6
|
||||
S123E7E020D01F48DA5AA200BDFCE7E8C924F00620E6E64CE8E77AFA684CFFE74644244C6E
|
||||
S123E80045E8C930D02248DA5AA200BD1FE8E8C924F00620E6E64C0BE87AFA684C25E8507F
|
||||
S123E82050494445244C45E848DA5AA200BD41E8E8C924F00620E6E64C2DE87AFA684C458C
|
||||
S123E840E8554E4B2468290F2011E460A200BD5AE89D0002E8E000D0F5604884158A298064
|
||||
S123E860A884148A2920C900D03D8A2940C900D00DA9808D7C036809808D7803800BA900B0
|
||||
S123E8808D780368297F8D7C03A200A000B1149D0004E8C8E080D0F5A9808D7C03EAEAA921
|
||||
S123E8A08C8D7803EAEA606809808D7803A200A000BD00049114E8C8E080D0F5A98C8D78DC
|
||||
S123E8C003EAEA6048A98C8D7803EAEA6820008848A98E8D7803686048A90085EEA90485AF
|
||||
S123E8E0EFA5F485ECA5F585ED2004E9686048A90085ECA90485EDA5F485EEA5F585EF207F
|
||||
S123E90004E968605AA000B1EE91ECC898C980D0F67A60546E5C5E6E5479407F0040000029
|
||||
S123E9200001FF0090E90080F1BF0040000000019B008EEA0080F1FF074000100002FF010D
|
||||
S123E9408CEB0080F1FF074000100002FF018AEC0080F1FF074000100002FF0188ED00803F
|
||||
S123E960F1FF074000100002FF0186EE0080F1FF074000100002FF0184EF0080F1FF0740E3
|
||||
S123E98000100002FF0182F00080F10000000000000000000000000000000000000000007E
|
||||
S123E9A0000000000000000000000000000000000000000000000000000000000000000053
|
||||
S123E9C0000000000000000000000000000000000000000000000000000000000000000033
|
||||
S123E9E0000000000000000000000000000000000000000000000000000000000000000013
|
||||
S123EA000000000000000000000000000000000000000000000000000000000000000000F2
|
||||
S123EA200000000000000000000000000000000000000000000000000000000000000000D2
|
||||
S123EA400000000000000000000000000000000000000000000000000000000000000000B2
|
||||
S123EA60000000000000000000000000000000000000000000000000000000000000000092
|
||||
S123EA80000000000000000000000000000000000000000000000000000000000000000072
|
||||
S123EAA0000000000000000000000000000000000000000000000000000000000000000052
|
||||
S123EAC0000000000000000000000000000000000000000000000000000000000000000032
|
||||
S123EAE0000000000000000000000000000000000000000000000000000000000000000012
|
||||
S123EB000000000000000000000000000000000000000000000000000000000000000000F1
|
||||
S123EB200000000000000000000000000000000000000000000000000000000000000000D1
|
||||
S123EB400000000000000000000000000000000000000000000000000000000000000000B1
|
||||
S123EB60000000000000000000000000000000000000000000000000000000000000000091
|
||||
S123EB80000000000000000000000000000000000000000000000000000000000000000071
|
||||
S123EBA0000000000000000000000000000000000000000000000000000000000000000051
|
||||
S123EBC0000000000000000000000000000000000000000000000000000000000000000031
|
||||
S123EBE0000000000000000000000000000000000000000000000000000000000000000011
|
||||
S123EC000000000000000000000000000000000000000000000000000000000000000000F0
|
||||
S123EC200000000000000000000000000000000000000000000000000000000000000000D0
|
||||
S123EC400000000000000000000000000000000000000000000000000000000000000000B0
|
||||
S123EC60000000000000000000000000000000000000000000000000000000000000000090
|
||||
S123EC80000000000000000000000000000000000000000000000000000000000000000070
|
||||
S123ECA0000000000000000000000000000000000000000000000000000000000000000050
|
||||
S123ECC0000000000000000000000000000000000000000000000000000000000000000030
|
||||
S123ECE0000000000000000000000000000000000000000000000000000000000000000010
|
||||
S123ED000000000000000000000000000000000000000000000000000000000000000000EF
|
||||
S123ED200000000000000000000000000000000000000000000000000000000000000000CF
|
||||
S123ED400000000000000000000000000000000000000000000000000000000000000000AF
|
||||
S123ED6000000000000000000000000000000000000000000000000000000000000000008F
|
||||
S123ED8000000000000000000000000000000000000000000000000000000000000000006F
|
||||
S123EDA000000000000000000000000000000000000000000000000000000000000000004F
|
||||
S123EDC000000000000000000000000000000000000000000000000000000000000000002F
|
||||
S123EDE000000000000000000000000000000000000000000000000000000000000000000F
|
||||
S123EE000000000000000000000000000000000000000000000000000000000000000000EE
|
||||
S123EE200000000000000000000000000000000000000000000000000000000000000000CE
|
||||
S123EE400000000000000000000000000000000000000000000000000000000000000000AE
|
||||
S123EE6000000000000000000000000000000000000000000000000000000000000000008E
|
||||
S123EE8000000000000000000000000000000000000000000000000000000000000000006E
|
||||
S123EEA000000000000000000000000000000000000000000000000000000000000000004E
|
||||
S123EEC000000000000000000000000000000000000000000000000000000000000000002E
|
||||
S123EEE000000000000000000000000000000000000000000000000000000000000000000E
|
||||
S123EF000000000000000000000000000000000000000000000000000000000000000000ED
|
||||
S123EF200000000000000000000000000000000000000000000000000000000000000000CD
|
||||
S123EF400000000000000000000000000000000000000000000000000000000000000000AD
|
||||
S123EF6000000000000000000000000000000000000000000000000000000000000000008D
|
||||
S123EF8000000000000000000000000000000000000000000000000000000000000000006D
|
||||
S123EFA000000000000000000000000000000000000000000000000000000000000000004D
|
||||
S123EFC000000000000000000000000000000000000000000000000000000000000000002D
|
||||
S123EFE000000000000000000000000000000000000000000000000000000000000000000D
|
||||
S123F0000000000000000000000000000000000000000000000000000000000000000000EC
|
||||
S123F0200000000000000000000000000000000000000000000000000000000000000000CC
|
||||
S123F0400000000000000000000000000000000000000000000000000000000000000000AC
|
||||
S123F06000000000000000000000000000000000000000000000000000000000000000008C
|
||||
S123F08000000000000000000000000000000000000000000000000000000000000000006C
|
||||
S123F0A000000000000000000000000000000000000000000000000000000000000000004C
|
||||
S123F0C000000000000000000000000000000000000000000000000000000000000000002C
|
||||
S123F0E000000000000000000000000000000000000000000000000000000000000000000C
|
||||
S123F1000000000000000000000000000000000000000000000000000000000000000000EB
|
||||
S123F1200000000000000000000000000000000000000000000000000000000000000000CB
|
||||
S123F1400000000000000000000000000000000000000000000000000000000000000000AB
|
||||
S123F16000000000000000000000000000000000000000000000000000000000000000008B
|
||||
S123F18000000000000000000000000000000000000000000000000000000000000000006B
|
||||
S123F1A000000000000000000000000000000000000000000000000000000000000000004B
|
||||
S123F1C000000000000000000000000000000000000000000000000000000000000000002B
|
||||
S123F1E000000000000000000000000000000000000000000000000000000000000000000B
|
||||
S113F20000000100300030013002300330043006C9
|
||||
|
||||
BIN
Source/Images/d_dos65/u0/dos65drv.sys
Normal file
BIN
Source/Images/d_dos65/u0/dos65drv.sys
Normal file
Binary file not shown.
BIN
Source/Images/d_dos65/u0/hi.com
Normal file
BIN
Source/Images/d_dos65/u0/hi.com
Normal file
Binary file not shown.
BIN
Source/Images/d_dos65/u0/monitor.com
Normal file
BIN
Source/Images/d_dos65/u0/monitor.com
Normal file
Binary file not shown.
BIN
Source/Images/d_dos65/u0/scream.com
Normal file
BIN
Source/Images/d_dos65/u0/scream.com
Normal file
Binary file not shown.
Binary file not shown.
195
Source/Images/d_qpm/ReadMe.txt
Normal file
195
Source/Images/d_qpm/ReadMe.txt
Normal file
@@ -0,0 +1,195 @@
|
||||
===== QP/M Disk for RomWBW =====
|
||||
|
||||
This disk contains the distribution files for the QP/M Operating
|
||||
System. The disk is bootable with QP/M already installed on the
|
||||
system tracks. The qpm.sys file and the QP/M image on the system
|
||||
tracks was created using QINSTALL with default settings EXCEPT
|
||||
for the two settings described under Notes (current drive/user
|
||||
storage address and TIMDAT vector).
|
||||
|
||||
QINSTALL can be run again as desired to further customize your
|
||||
installation. However, note that QINSTALL does NOT remember prior
|
||||
settings, so you must reapply all settings you made previously
|
||||
especially the two setting changes described below.
|
||||
|
||||
This disk includes the standard DRI CP/M 2.2 files in addition to the
|
||||
QP/M files. QP/M generally assumes you already had DRI CP/M 2.2
|
||||
prior to adding QP/M features. Since QP/M does not replace all
|
||||
features of CP/M 2.2, the CP/M 2.2 files are also included.
|
||||
|
||||
== Notes ==
|
||||
|
||||
By default, QP/M saves the current drive/user (2 byte value) at address 0x0008.
|
||||
This is also the address of the Z80 RST 08 restart vector and conflicts with
|
||||
RomWBW. When running QINSTALL, you must change the QP/M address for this value
|
||||
to something else. I have been using 0x000E without issue.
|
||||
|
||||
RomWBW CBIOS has been modified to put the QP/M TIMDAT vector at 0x0010. The
|
||||
vector points into CBIOS where the actual TIMDAT routine is located. The
|
||||
TIMDAT routine reads the current date/time from HBIOS, changes the values from
|
||||
BCD to binary, and rearranges some bytes for QP/M compatibilty. When
|
||||
running QINSTALL, you should set the TIMDAT vector to 0x0010 to
|
||||
enabled QP/M to use your RomWBW real time clock.
|
||||
|
||||
By default, DEBUGZ utilizes the RST 38 restart vector for setting
|
||||
code brakpoints. This conflicts the use of that vector for any
|
||||
system that is using interrupt mode 1. DEBUGZ can be configured
|
||||
(using DBGINST) to use a different vector.
|
||||
|
||||
The QSTAMP program, which is used to initialize a disk for date/time
|
||||
stamping, misbehavews when run on the (new) RomWBW 1024 directory
|
||||
format disks. It creates an invalid directory entry for the
|
||||
date/time stamp data file. This is definitely a QP/M issue. The
|
||||
directory entry can be manually corrected.
|
||||
|
||||
== ZSDOS 1.1 Files ==
|
||||
|
||||
The following files came from the official QP/M distribution. Actually,
|
||||
they came from 3 Microcode Consulting files (qpm27.zip, debugz.zip,
|
||||
and linkz.zip). The original distribution files can be found on the
|
||||
Microcode Consulting website at https://www.microcodeconsulting.com/.
|
||||
Documentation (pdf) files are incuded in these original distribution
|
||||
.zip files. These documentation files have not been included in the
|
||||
RomWBW distribution. Please retrieve them yourself from the website
|
||||
if desired.
|
||||
|
||||
D.COM - Directory lister
|
||||
DBGINST.COM - Configures DEBUGZ debugger
|
||||
DEBUGZ.COM - QP/M debugger
|
||||
DEBUGZ.HLP - QP/M debugger help file
|
||||
DHORIZ.COM - Version of directory lister for horizontal file sorting
|
||||
HELLO.QPM - Text file with QP/M version information
|
||||
LZ.COM - QP/M linker
|
||||
QBACKUP.COM - Data backup application
|
||||
QINSTALL.COM - QP/M installer / configurator
|
||||
QPATCH.COM - Patches (customizes) a few QP/M applications
|
||||
QPIP.COM - QP/M enhanced version of CP/M 2.2 PIP application
|
||||
QPM.SYS - RomWBW configured QP/M system image (for use with SYSCOPY)
|
||||
QPMCLK.MAC - Example of QP/M clock assembler routine
|
||||
QPMCMDS.TXT - Brief summary of QP/M commands
|
||||
QPMUTILS.TXT - Brief summary of QP/M utilities
|
||||
QSTAMP.COM - Initializes disk for date/time stamping
|
||||
QSTAMPV.COM - Initializes disk for date/time stamping (vertical sort)
|
||||
QSTAMPX.COM - Initializes disk for date/time stamping (horizontal sort)
|
||||
QSTAT.COM - QP/M enhanced version of CP/M 2.2 STAT application
|
||||
QSUB.COM - QP/M batch file submission program
|
||||
QSWEEP.COM - QP/M directory sweep utility
|
||||
QTERM.DAT - Terminal control codes used by DEBUGZ
|
||||
QTERMS.LIB - Library of available terminal definitions
|
||||
SETQTERM.COM - Configures QTERM.DAT
|
||||
TDCNFG.COM - Configures date/time directory display preferences
|
||||
|
||||
== CP/M 2.2 Files ==
|
||||
|
||||
The following files have been included from CP/M 2.2. These files
|
||||
provide various functionality that is not really available from the
|
||||
ZSDOS applications themselves. For example, the CP/M 2.2 application
|
||||
called STAT is useful for modifying the IOBYTE. Most of these
|
||||
applications are documented in the "CPM Manual.pdf" document in the Doc
|
||||
directory of the RomWBW distribution.
|
||||
|
||||
ASM.COM - DRI 8080 assembler producing Intel hex files
|
||||
LIB.COM - DRI relocatable object file librarian
|
||||
LINK.COM - DRI relocatable object file linker
|
||||
LOAD.COM - DRI loader for Intel hex files
|
||||
MAC.COM - DRI 8080 macro assembler producing Intel hex files
|
||||
RMAC.COM - DRI 8080 macro assembler producing relocatable object files
|
||||
STAT.COM - DRI multi-purpose file/disk/device info & configuration tool
|
||||
SUBMIT.COM - DRI batch file submission tool
|
||||
XSUB.COM - DRI batch file enhancer resident system extension
|
||||
|
||||
== RomWBW Supplemental Applications ==
|
||||
|
||||
The following files provide specific functionality enabled by
|
||||
RomWBW enhancements. These applications are documented in the
|
||||
"RomWBW Applications.pdf" document in the Doc directory of the
|
||||
RomWBW Distribution.
|
||||
|
||||
ASSIGN.COM - Assign,remove,swap drive letters of RomWBW disk slices
|
||||
FAT.COM - MS-DOS FAT filesystem tool (list, copy, delete, format, etc.)
|
||||
FDU.COM - Test floppy hardware and format floppy disks
|
||||
FORMAT.COM - Placeholder application with formatting instructions
|
||||
INTTEST.COM - Test RomWBW interrupt processing on your hardware
|
||||
MODE.COM - Change serial line characteristics (baud rate, etc.)
|
||||
RTC.COM - Test real time clock hardware on your system
|
||||
SURVEY.COM - Display system resources summary
|
||||
SYSCOPY.COM - Copy system tracks to disks (make bootable)
|
||||
SYSGEN.COM - Copy system tracks to disks (DRI version)
|
||||
TALK.COM - Route console I/O to & from specified serial port
|
||||
TIMER.COM - Test and display system timer ticks
|
||||
TUNE.COM - Play .PT2, .PT3, and .MYM audio files on supported hardware
|
||||
XM.COM - XModem file transfer application
|
||||
ZMP.COM - ZModem communications program (requires dedicated comm port)
|
||||
ZMP.DOC - Documentation for ZMP
|
||||
ZMP.HLP - Help file for ZMP
|
||||
ZMXFER.OVR - Overlay file for ZMP
|
||||
ZMTERM.OVR - Overlay file for ZMP
|
||||
ZMINIT.OVR - Overlay file for ZMP
|
||||
ZMCONFIG.OVR - Overlay file for ZMP
|
||||
|
||||
== General Purpose Applications ==
|
||||
|
||||
The following files are commonly used CP/M applications that
|
||||
are generally useful in any CP/M-like system. In general, there is
|
||||
no documentation for these applications included with the RomWBW
|
||||
distribution. Some provide command line help themselves. Some
|
||||
are fairly obvious.
|
||||
|
||||
CLRDIR.COM - Initializes the directory area of a disk
|
||||
COMPARE.COM - Compare content of two files (binary)
|
||||
CRUNCH.COM - Compress file(s) using Crunch algorithm
|
||||
CRUNCH28.CFG - ZCNFG configuration file for CRUNCH & UNCR
|
||||
DDTZ.COM - Z80 debug tool (modified to use RST 6)
|
||||
DDTZ.DOC - Documentation for DDTZ
|
||||
EX.COM - Batch file processor (alternative to DRI SUBMIT)
|
||||
FDISK80.COM - Hard disk partitioning tool (from John Coffman)
|
||||
FIND.COM - Search all drives for a file (from Jay Cotton)
|
||||
FLASH.COM - Program FLASH chips in-situ (from Will Sowerbutts)
|
||||
FLASH.DOC - Documentation for FLASH
|
||||
MBASIC.COM - Microsoft BASIC language interpreter
|
||||
NULU.COM - Library (.LBR) management tool
|
||||
PMARC.COM - Create or add file(s) to .PMA archive
|
||||
PMEXT.COM - Extract file(s) from .PMA/.LZH/.LHA archive
|
||||
RMXSUB1.COM - Remove XSUB1 RSX from memory (from Lars Nelson)
|
||||
SUPERSUB.COM - Enhanced replacement for DRI SUBMIT
|
||||
SUPERSUB.DOC - Documentation for SUPERSUB
|
||||
TDLBASIC.COM - TDL Zapple 12K BASIC language interpreter
|
||||
UNARC.COM - Extract file(s) from .ARC or .ARK archive
|
||||
UNARC.DOC - Documentation for UNARC
|
||||
UNCR.COM - Decompress Crunched file(s)
|
||||
UNZIP.COM - UNZIPZ extracts from all MS-DOS ZIP files (from Lars Nelson)
|
||||
UNZIP.DOC - Documentation for UNZIPZ
|
||||
XSUB1.COM - Replacement for DRI SUB (from Lars Nelson)
|
||||
ZAP.COM - Interactive disk & file utility
|
||||
ZDE.COM - Compact WordStar-like editor
|
||||
ZDENST.COM - Installation/configuration tool for ZDE
|
||||
KERCPM22.COM - Kermit file transfer application
|
||||
LBREXT.COM - Extract file from .LBR libraries
|
||||
LBREXT36.CFG - ZCNFG configuration file for LBREXT
|
||||
ZXD.COM - Enhanced directory lister w/ date/time stamp support
|
||||
ZXD.CFG - ZCNFG configuration file for ZXD
|
||||
|
||||
== Testing Applications (User Area 2) ==
|
||||
|
||||
User area 2 contains a variety of hardware testing applications.
|
||||
These are generally user contributed and have no documentation.
|
||||
Additionally, they are frequently not compatible with all RomWBW
|
||||
hardware. They are included here as a convenience. If applicable,
|
||||
your hardware documentation should refer to them and provide usage
|
||||
instructions.
|
||||
|
||||
== Sample Tune Files (User Area 3) ==
|
||||
|
||||
User area 3 contains sample audio files that can be played using
|
||||
the TUNE application.
|
||||
|
||||
== CP/NET 1.2 (User Area 4) ==
|
||||
|
||||
User area 4 contains a full implementation of the CP/NET 1.2
|
||||
client provided by Doug Miller. Please read the README.TXT file
|
||||
in this user area for more information.
|
||||
|
||||
N.B., at a minimum, some of the files in this user area must be copied
|
||||
to user area 0 for CP/NET to work properly.
|
||||
|
||||
--WBW 4:41 PM 6/10/2022
|
||||
BIN
Source/Images/d_qpm/u0/d.com
Normal file
BIN
Source/Images/d_qpm/u0/d.com
Normal file
Binary file not shown.
BIN
Source/Images/d_qpm/u0/dbginst.com
Normal file
BIN
Source/Images/d_qpm/u0/dbginst.com
Normal file
Binary file not shown.
BIN
Source/Images/d_qpm/u0/debugz.com
Normal file
BIN
Source/Images/d_qpm/u0/debugz.com
Normal file
Binary file not shown.
1
Source/Images/d_qpm/u0/debugz.hlp
Normal file
1
Source/Images/d_qpm/u0/debugz.hlp
Normal file
File diff suppressed because one or more lines are too long
BIN
Source/Images/d_qpm/u0/dhoriz.com
Normal file
BIN
Source/Images/d_qpm/u0/dhoriz.com
Normal file
Binary file not shown.
3
Source/Images/d_qpm/u0/hello.qpm
Normal file
3
Source/Images/d_qpm/u0/hello.qpm
Normal file
@@ -0,0 +1,3 @@
|
||||
|
||||
G2Welcome to QP/M 2.71G0
|
||||
|
||||
BIN
Source/Images/d_qpm/u0/lz.com
Normal file
BIN
Source/Images/d_qpm/u0/lz.com
Normal file
Binary file not shown.
BIN
Source/Images/d_qpm/u0/qbackup.com
Normal file
BIN
Source/Images/d_qpm/u0/qbackup.com
Normal file
Binary file not shown.
BIN
Source/Images/d_qpm/u0/qinstall.com
Normal file
BIN
Source/Images/d_qpm/u0/qinstall.com
Normal file
Binary file not shown.
BIN
Source/Images/d_qpm/u0/qpatch.com
Normal file
BIN
Source/Images/d_qpm/u0/qpatch.com
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user