mirror of
https://github.com/wwarthen/RomWBW.git
synced 2026-02-06 22:43:15 -06:00
Compare commits
16 Commits
v3.1.1-pre
...
v3.1.1-pre
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
27935123cf | ||
|
|
aa93eb62f2 | ||
|
|
94c32c9fd0 | ||
|
|
3b0951f6d5 | ||
|
|
4385efb0f7 | ||
|
|
d241db5c11 | ||
|
|
0c61385df4 | ||
|
|
cf142b3a91 | ||
|
|
9a503696c8 | ||
|
|
bfdfd83f2a | ||
|
|
95f8c35c36 | ||
|
|
c065af147a | ||
|
|
11ea0c8c27 | ||
|
|
dbea21fadd | ||
|
|
4d5f2ab219 | ||
|
|
23a10343ca |
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
|
||||
|
||||
@@ -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
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
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
|
||||
|
||||
17
ReadMe.md
17
ReadMe.md
@@ -3,7 +3,7 @@
|
||||
## Z80/Z180 System Software
|
||||
|
||||
Version 3.1 Pre-release
|
||||
21 Mar 2022
|
||||
09 Jul 2022
|
||||
|
||||
Wayne Warthen <wwarthen@gmail.com>
|
||||
|
||||
@@ -418,7 +418,7 @@ therefore, globally available.
|
||||
|
||||
Some custom applications do not fit on the ROM disk. They are found on
|
||||
the disk image files or the individual files can be found in the
|
||||
Binary\\Apps directory of the distribution.
|
||||
Binary\Apps directory of the distribution.
|
||||
|
||||
| Application | Description |
|
||||
|-------------|-------------------------------------------------------------|
|
||||
@@ -924,7 +924,7 @@ documents.
|
||||
Note that the build scripts for RomWBW create the default disk images
|
||||
supplied with RomWBW. It is relatively easy to customize the contents of
|
||||
the disk images that are part of RomWBW. This is described in more
|
||||
detail in the Source\\Images directory of the distribution.
|
||||
detail in the Source\Images directory of the distribution.
|
||||
|
||||
## FAT Filesystem Transfers
|
||||
|
||||
@@ -945,7 +945,7 @@ however. Longer filenames will show up as a truncated version.
|
||||
|
||||
The `FAT` application is not on your ROM disk because it is too large to
|
||||
fit. You will find it on all of the pre-built disk images as well as in
|
||||
the Binary\\Apps directory of the distribution.
|
||||
the Binary\Apps directory of the distribution.
|
||||
|
||||
For advanced users, it is possible to create a hybrid disk that contains
|
||||
CP/M slices at the beginning and a FAT filesystem after. Such a hybrid
|
||||
@@ -953,7 +953,7 @@ disk can be used to boot an operating system and still have access to
|
||||
FAT files on the FAT portion of the disk. David Reese has prepared a
|
||||
document describing how to do this. It is called
|
||||
“SC126_How-To_No_2\_Preparing_an_SD_Card_for_Use_with_SC126_Rev_1-5.pdf”
|
||||
and can be found in the Doc\\Contrib directory of the distribution.
|
||||
and can be found in the Doc\Contrib directory of the distribution.
|
||||
|
||||
# Startup Command Processing
|
||||
|
||||
@@ -1164,7 +1164,7 @@ system on your disk.
|
||||
CP/M 3 uses a multi-step boot process involving multiple files. The
|
||||
CP/M 3 boot files are not included on the ROM disk due to space
|
||||
constraints. You will need to transfer the files to your system from
|
||||
the RomWBW distribution directory Binary\\CPM3.
|
||||
the RomWBW distribution directory Binary\CPM3.
|
||||
|
||||
After this is done, you will need to use `SYSCOPY` to place the CP/M
|
||||
3 loader image on the boot tracks of all CP/M 3 boot disks/slices.
|
||||
@@ -1182,7 +1182,7 @@ system on your disk.
|
||||
ZPM3 uses a multi-step boot process involving multiple files. The
|
||||
ZPM3 boot files are not included on the ROM disk due to space
|
||||
constraints. You will need to transfer the files to your system from
|
||||
the RomWBW distribution directory Binary\\ZPM3.
|
||||
the RomWBW distribution directory Binary\ZPM3.
|
||||
|
||||
After this is done, you will need to use `SYSCOPY` to place the ZPM3
|
||||
loader image on the boot tracks of all ZPM3 boot disks/slices. The
|
||||
@@ -1225,8 +1225,7 @@ For example: `B>COPY ASSIGN.COM C:`
|
||||
Some RomWBW custom applications are too large to fit on the ROM disk. If
|
||||
you are using any of these you will need to transfer them to your system
|
||||
and then update all copies. These applications are found in the
|
||||
Binary\\Apps directory of the distribution and in all of the disk
|
||||
images.
|
||||
Binary\Apps directory of the distribution and in all of the disk images.
|
||||
|
||||
- FAT.COM
|
||||
- TUNE.COM
|
||||
|
||||
82
ReadMe.txt
82
ReadMe.txt
@@ -1,6 +1,6 @@
|
||||
RomWBW Getting Started
|
||||
Wayne Warthen (mailto:wwarthen@gmail.com)
|
||||
21 Mar 2022
|
||||
09 Jul 2022
|
||||
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@ RomWBW
|
||||
Z80/Z180 System Software
|
||||
|
||||
Version 3.1 Pre-release
|
||||
21 Mar 2022
|
||||
09 Jul 2022
|
||||
|
||||
Wayne Warthen wwarthen@gmail.com
|
||||
|
||||
@@ -213,15 +213,23 @@ disk devices.
|
||||
|
||||
The following ROM applications are available at the boot loader prompt:
|
||||
|
||||
Application
|
||||
-------------- --------------------------------------------------------
|
||||
Monitor Z80 system debug monitor w/ Intel Hex loader
|
||||
Forth Brad Rodriguez’s ANSI compatible Forth language
|
||||
Basic Nascom 8K BASIC language
|
||||
Tasty BASIC Dimitri Theuling’s Tiny BASIC implementation
|
||||
Play A simple video game (requires ANSI terminal emulation)
|
||||
Network Boot Boot through Wiznet MT011 device
|
||||
Flash Update Upload and flash a new ROMWBW image using xmodem
|
||||
--------------------------------------------------------------------------
|
||||
Application
|
||||
------------- ------------------------------------------------------------
|
||||
Monitor Z80 system debug monitor w/ Intel Hex loader
|
||||
|
||||
Forth Brad Rodriguez’s ANSI compatible Forth language
|
||||
|
||||
Basic Nascom 8K BASIC language
|
||||
|
||||
Tasty BASIC Dimitri Theuling’s Tiny BASIC implementation
|
||||
|
||||
Play A simple video game (requires ANSI terminal emulation)
|
||||
|
||||
Network Boot Boot through Wiznet MT011 device
|
||||
|
||||
Flash Update Upload and flash a new ROMWBW image using xmodem
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
In general, the command to exit these applications and restart the
|
||||
system is BYE. The exceptions are the Monitor which uses B and Play
|
||||
@@ -467,11 +475,15 @@ Some custom applications do not fit on the ROM disk. They are found on
|
||||
the disk image files or the individual files can be found in the
|
||||
Binary\Apps directory of the distribution.
|
||||
|
||||
--------------------------------------------------------------------------
|
||||
Application Description
|
||||
------------- -------------------------------------------------------------
|
||||
------------- ------------------------------------------------------------
|
||||
TUNE Play .PT2, .PT3, .MYM audio files.
|
||||
|
||||
FAT Access MS-DOS FAT filesystems from RomWBW (based on FatFs).
|
||||
|
||||
INTTEST Test interrupt vector hooking.
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
Additional documentation on all of these applications can be found in
|
||||
“RomWBW Applications.pdf” in the Doc directory of the distribution.
|
||||
@@ -667,14 +679,21 @@ The following table shows the disk image files available. Note that the
|
||||
images in the “Hard” column are fine for use on CF Cards, SD Cards, as
|
||||
well as real spinning hard disks.
|
||||
|
||||
Floppy Hard Description
|
||||
-------------- -------------- ------------------------------
|
||||
fd_cpm22.img hd_cpm22.img DRI CP/M 2.2 boot disk
|
||||
fd_zsdos.img hd_zsdos.img ZSDOS 1.1 boot disk
|
||||
fd_nzcom.img hd_nzcom.img NZCOM boot disk
|
||||
fd_cpm3.img hd_cpm3.img DRI CP/M 3 boot disk
|
||||
fd_zpm3.img hd_zpm3.img ZPM3 boot disk
|
||||
fd_ws4.img hd_ws4.img WordStar v4 application disk
|
||||
-----------------------------------------------------------------------
|
||||
Floppy Hard Description
|
||||
--------------- --------------- ---------------------------------------
|
||||
fd_cpm22.img hd_cpm22.img DRI CP/M 2.2 boot disk
|
||||
|
||||
fd_zsdos.img hd_zsdos.img ZSDOS 1.1 boot disk
|
||||
|
||||
fd_nzcom.img hd_nzcom.img NZCOM boot disk
|
||||
|
||||
fd_cpm3.img hd_cpm3.img DRI CP/M 3 boot disk
|
||||
|
||||
fd_zpm3.img hd_zpm3.img ZPM3 boot disk
|
||||
|
||||
fd_ws4.img hd_ws4.img WordStar v4 application disk
|
||||
-----------------------------------------------------------------------
|
||||
|
||||
In addition to the disk images above, there is also a special hard disk
|
||||
image called hd_combo.img. This image contains all of the images above,
|
||||
@@ -685,14 +704,21 @@ system options.
|
||||
|
||||
This is the layout of the hd_combo disk image:
|
||||
|
||||
Slice Description
|
||||
--------- ------------------------------
|
||||
Slice 0 DRI CP/M 2.2 boot disk
|
||||
Slice 1 ZSDOS 1.1 boot disk
|
||||
Slice 2 NZCOM boot disk
|
||||
Slice 3 DRI CP/M 3 boot disk
|
||||
Slice 4 ZPM3 boot disk
|
||||
Slice 5 WordStar v4 application disk
|
||||
------------------------------------------------------------------------
|
||||
Slice Description
|
||||
------- ----------------------------------------------------------------
|
||||
Slice 0 DRI CP/M 2.2 boot disk
|
||||
|
||||
Slice 1 ZSDOS 1.1 boot disk
|
||||
|
||||
Slice 2 NZCOM boot disk
|
||||
|
||||
Slice 3 DRI CP/M 3 boot disk
|
||||
|
||||
Slice 4 ZPM3 boot disk
|
||||
|
||||
Slice 5 WordStar v4 application disk
|
||||
------------------------------------------------------------------------
|
||||
|
||||
Note that unlike the ROM firmware, you do not need to choose a disk
|
||||
image specific to your hardware. Because the RomWBW firmware provides a
|
||||
|
||||
21
Readme.unix
21
Readme.unix
@@ -34,22 +34,19 @@ By default, this will generate all of the standard configurations of
|
||||
RomWBW for all platforms. If you just want to build the ROM for a
|
||||
specific platform and configuration you can use
|
||||
|
||||
make ROM_PLATFORM=<platform> ROM_CONFIG=<config> [ROMSIZE=<size>]
|
||||
make ROM_PLATFORM=<platform> ROM_CONFIG=<config>
|
||||
|
||||
where <platform> is one of the supported platforms such as SBC, RCZ80,
|
||||
etc. and <config> is a configuration of that platform. A ROM size may
|
||||
optionally be specified and must be one of 128, 256, 512, or 1024. It
|
||||
defaults to 512. For example, to build the "126" configuration of
|
||||
the "SCZ180" platform:
|
||||
etc. and <config> is a configuration of that platform. For example,
|
||||
to build the "126" configuration of the "SCZ180" platform:
|
||||
|
||||
make ROM_PLATFORM=SCZ180 ROM_CONFIG=126
|
||||
|
||||
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 +54,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.
|
||||
@@ -78,7 +75,7 @@ running. To disable this feature:
|
||||
DISCLAIMER: You do this at your own risk. I highly recommend that you
|
||||
return the settings back to normal immediately after doing a build.
|
||||
|
||||
Heavy use is made of make's include facility and pattern rules. the
|
||||
Heavy use is made of make's include facility and pattern rules. The
|
||||
master rule set is in Tools/Makefile.inc. Changes here will affect
|
||||
almost every Makefile, and where exceptions are needed, the overrides
|
||||
are applied in the lower Makefiles.
|
||||
@@ -102,10 +99,10 @@ Credit:
|
||||
hacked to do case-insensitivity. These are not marked, and are
|
||||
not extensive.
|
||||
|
||||
zx is from the distributed version, and also has local hacks
|
||||
zxcc is from the distributed version, and also has local hacks
|
||||
for case insensitivity.
|
||||
|
||||
Both zx and cpmtools ship with an overly complicated makefile
|
||||
Both zxcc and cpmtools ship with an overly complicated makefile
|
||||
generation system and this is ignored.
|
||||
|
||||
This whole Linux build framework is the work of Curt Mayer,
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -30,7 +30,7 @@ zcpr33n.rel zcpr33t.rel:
|
||||
|
||||
all:: $(HD0IMG)
|
||||
|
||||
clobber::
|
||||
clean::
|
||||
@rm -f $(HD0IMG)
|
||||
|
||||
%.img: zcpr33n.rel zcpr33t.rel
|
||||
|
||||
BIN
Source/CPM22/License.pdf
Normal file
BIN
Source/CPM22/License.pdf
Normal file
Binary file not shown.
BIN
Source/CPM3/License.pdf
Normal file
BIN
Source/CPM3/License.pdf
Normal file
Binary file not shown.
@@ -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
|
||||
|
||||
@@ -4,7 +4,7 @@ setlocal
|
||||
if "%1" == "dist" goto :dist
|
||||
|
||||
::
|
||||
:: Build [<platform> [<config> [<romsize> [<romname>]]]]
|
||||
:: Build [<platform> [<config> [<romname>]]]
|
||||
::
|
||||
|
||||
set TOOLS=../../Tools
|
||||
@@ -28,11 +28,21 @@ PowerShell -ExecutionPolicy Unrestricted .\Build.ps1 %* || exit /b
|
||||
::
|
||||
:: Below, we process the command file created by the PowerShell script.
|
||||
:: This sets the environment variables: Platform, Config, ROMName,
|
||||
:: ROMSize, & CPUType.
|
||||
:: & CPUType.
|
||||
::
|
||||
|
||||
call build_env.cmd
|
||||
|
||||
::
|
||||
:: Create a small app that is used to export key build variables of the build.
|
||||
:: Then run the app to output a file with the variables. Finally, read the
|
||||
:: file into variables usable in this batch file.
|
||||
::
|
||||
|
||||
tasm -t80 -g3 -dCMD hbios_env.asm hbios_env.com hbios_env.lst || exit /b
|
||||
zxcc hbios_env >hbios_env.cmd
|
||||
call hbios_env.cmd
|
||||
|
||||
::
|
||||
:: Start of the actual build process for a given ROM.
|
||||
::
|
||||
@@ -183,34 +193,34 @@ goto :eof
|
||||
|
||||
:dist
|
||||
|
||||
call Build SBC std 512 || exit /b
|
||||
call Build SBC simh 512 || exit /b
|
||||
call Build MBC std 512 || exit /b
|
||||
call Build ZETA std 512 || exit /b
|
||||
call Build ZETA2 std 512 || exit /b
|
||||
call Build N8 std 512 || exit /b
|
||||
call Build MK4 std 512 || exit /b
|
||||
call Build RCZ80 std 512 || exit /b
|
||||
call Build RCZ80 skz 512 || exit /b
|
||||
call Build RCZ80 kio 512 || exit /b
|
||||
call Build RCZ80 mt 512 || exit /b
|
||||
call Build RCZ80 duart 512 || exit /b
|
||||
call Build RCZ80 zrc 512 || exit /b
|
||||
call Build RCZ80 zrc_ram 0 || exit /b
|
||||
call Build RCZ180 ext 512 || exit /b
|
||||
call Build RCZ180 nat 512 || exit /b
|
||||
call Build RCZ280 ext 512 || exit /b
|
||||
call Build RCZ280 nat 512 || exit /b
|
||||
call Build RCZ280 nat_zz 512 || exit /b
|
||||
call Build RCZ280 nat_zzr 256 || exit /b
|
||||
call Build SCZ180 126 512 || exit /b
|
||||
call Build SCZ180 130 512 || exit /b
|
||||
call Build SCZ180 131 512 || exit /b
|
||||
call Build SCZ180 140 512 || exit /b
|
||||
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
|
||||
call Build SBC std || exit /b
|
||||
call Build SBC simh || exit /b
|
||||
call Build MBC std || exit /b
|
||||
call Build ZETA std || exit /b
|
||||
call Build ZETA2 std || exit /b
|
||||
call Build N8 std || exit /b
|
||||
call Build MK4 std || exit /b
|
||||
call Build RCZ80 std || exit /b
|
||||
call Build RCZ80 skz || exit /b
|
||||
call Build RCZ80 kio || exit /b
|
||||
call Build RCZ80 mt || exit /b
|
||||
call Build RCZ80 duart || exit /b
|
||||
call Build RCZ80 zrc || exit /b
|
||||
call Build RCZ80 zrc_ram || exit /b
|
||||
call Build RCZ180 ext || exit /b
|
||||
call Build RCZ180 nat || exit /b
|
||||
call Build RCZ280 ext || exit /b
|
||||
call Build RCZ280 nat || exit /b
|
||||
call Build RCZ280 nat_zz || exit /b
|
||||
call Build RCZ280 nat_zzr || exit /b
|
||||
call Build SCZ180 126 || exit /b
|
||||
call Build SCZ180 130 || exit /b
|
||||
call Build SCZ180 131 || exit /b
|
||||
call Build SCZ180 140 || exit /b
|
||||
call Build EZZ80 std || exit /b
|
||||
call Build EZZ80 tz80 || exit /b
|
||||
call Build DYNO std || exit /b
|
||||
call Build UNA std || exit /b
|
||||
call Build RPH std || exit /b
|
||||
|
||||
goto :eof
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
param([string]$Platform = "", [string]$Config = "", [int]$RomSize = 512, [string]$ROMName = "")
|
||||
param([string]$Platform = "", [string]$Config = "", [string]$ROMName = "")
|
||||
|
||||
# If a PowerShell exception occurs, just stop the script immediately.
|
||||
$ErrorAction = 'Stop'
|
||||
@@ -67,19 +67,6 @@ while ($true)
|
||||
$Config = (Read-Host -prompt "Configuration").Trim()
|
||||
}
|
||||
|
||||
#
|
||||
# Establish the ROM size (in KB). It may have been passed in on the command line. Validate
|
||||
# $RomSize and loop requesting a new value as long as it is not valid. The valid ROM sizes
|
||||
# are just hard-coded for now. The ROM size does nothing more than determine the size of the
|
||||
# ROM disk portion of the ROM image.
|
||||
#
|
||||
|
||||
while ($true)
|
||||
{
|
||||
if (($RomSize -eq 0) -or ($RomSize -eq 128) -or ($RomSize -eq 256) -or ($RomSize -eq 512) -or ($RomSize -eq 1024)) {break}
|
||||
$RomSize = (Read-Host -prompt "ROM Size [0|128|256|512|1024]").Trim()
|
||||
}
|
||||
|
||||
#
|
||||
# TASM should be invoked with the proper CPU type. Below, the CPU type is inferred
|
||||
# from the platform.
|
||||
@@ -103,7 +90,7 @@ while ($ROMName -eq "")
|
||||
}
|
||||
|
||||
# Current date/time is queried here to be subsequently imbedded in image
|
||||
$TimeStamp = '"' + (Get-Date -Format 'yyyy-MM-dd') + '"'
|
||||
$TimeStamp = (Get-Date -Format 'yyyy-MM-dd')
|
||||
|
||||
#
|
||||
# Since TASM has no mechanism to include files dynamically based on variables, a file
|
||||
@@ -115,9 +102,8 @@ $TimeStamp = '"' + (Get-Date -Format 'yyyy-MM-dd') + '"'
|
||||
@"
|
||||
; RomWBW Configured for ${Platform} ${Config}, $(Get-Date -Format "s")
|
||||
;
|
||||
#DEFINE TIMESTAMP ${TimeStamp}
|
||||
;
|
||||
ROMSIZE .EQU ${ROMSize}
|
||||
#DEFINE TIMESTAMP "${TimeStamp}"
|
||||
#DEFINE CONFIG "${Platform}_${Config}"
|
||||
;
|
||||
#INCLUDE "${ConfigFile}"
|
||||
;
|
||||
@@ -134,6 +120,5 @@ ROMSIZE .EQU ${ROMSize}
|
||||
set Platform=${Platform}
|
||||
set Config=${Config}
|
||||
set ROMName=${ROMName}
|
||||
set ROMSize=${ROMSize}
|
||||
set CPUType=${CPUType}
|
||||
"@ | Out-File "build_env.cmd" -Encoding ASCII
|
||||
|
||||
@@ -9,48 +9,38 @@ export ROMSIZE
|
||||
|
||||
if [ "${ROM_PLATFORM}" == "dist" ] ; then
|
||||
echo "!!!DISTRIBUTION BUILD!!!"
|
||||
ROM_PLATFORM="DYNO"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="EZZ80"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="EZZ80"; ROM_CONFIG="tz80"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="MK4"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="N8"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="ext"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="nat"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="ext"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat_zz"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat_zzr"; ROMSIZE="256"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="kio"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="mt"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="duart"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
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
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="126"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="130"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="131"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="140"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; ROMSIZE="512"; bash Build.sh
|
||||
ROM_PLATFORM="DYNO"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="EZZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="EZZ80"; ROM_CONFIG="tz80"; bash Build.sh
|
||||
ROM_PLATFORM="MK4"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="N8"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="ext"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ180"; ROM_CONFIG="nat"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="ext"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat_zz"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ280"; ROM_CONFIG="nat_zzr"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="kio"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="mt"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="duart"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="skz"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc"; bash Build.sh
|
||||
ROM_PLATFORM="RCZ80"; ROM_CONFIG="zrc_ram"; bash Build.sh
|
||||
ROM_PLATFORM="RPH"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SBC"; ROM_CONFIG="simh"; bash Build.sh
|
||||
ROM_PLATFORM="MBC"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="126"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="130"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="131"; bash Build.sh
|
||||
ROM_PLATFORM="SCZ180"; ROM_CONFIG="140"; bash Build.sh
|
||||
ROM_PLATFORM="UNA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA"; ROM_CONFIG="std"; bash Build.sh
|
||||
ROM_PLATFORM="ZETA2"; ROM_CONFIG="std"; bash Build.sh
|
||||
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))
|
||||
@@ -69,21 +59,22 @@ done
|
||||
|
||||
CONFIGFILE=Config/${ROM_PLATFORM}_${ROM_CONFIG}.asm
|
||||
|
||||
if [ -z "${ROMSIZE}" ] ; then
|
||||
ROMSIZE="512"
|
||||
fi
|
||||
|
||||
while [ ! '(' "${ROMSIZE}" = 1024 -o "${ROMSIZE}" = 512 -o "${ROMSIZE}" = 256 -o "${ROMSIZE}" = 128 -o "${ROMSIZE}" = 0 ')' ] ; do
|
||||
echo -n "Romsize :"
|
||||
read ROMSIZE
|
||||
done
|
||||
|
||||
if [ -z "${ROMNAME}" ] ; then
|
||||
ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
||||
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
|
||||
@@ -92,13 +83,15 @@ cat <<- EOF > build.inc
|
||||
; RomWBW Configured for ${ROM_PLATFORM} ${ROM_CONFIG} ${TIMESTAMP}
|
||||
;
|
||||
#DEFINE TIMESTAMP "${TIMESTAMP}"
|
||||
;
|
||||
ROMSIZE .EQU ${ROMSIZE}
|
||||
#DEFINE CONFIG "${ROM_PLATFORM}_${ROM_CONFIG}"
|
||||
;
|
||||
#INCLUDE "${CONFIGFILE}"
|
||||
;
|
||||
EOF
|
||||
|
||||
make hbios_env.sh
|
||||
source hbios_env.sh
|
||||
|
||||
export OBJECTS
|
||||
OBJECTS="${ROMNAME}.rom"
|
||||
if [ "${ROM_PLATFORM}" != "UNA" ] ; then
|
||||
|
||||
@@ -14,3 +14,4 @@ if exist *.sys del *.sys
|
||||
if exist build.inc del build.inc
|
||||
if exist font*.asm del font*.asm
|
||||
if exist build_env.cmd del build_env.cmd
|
||||
if exist hbios_env.cmd del hbios_env.cmd
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "TINYZ80"
|
||||
;
|
||||
#include "cfg_ezz80.asm"
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
|
||||
@@ -22,7 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "Multi Board Computer"
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_mbc.asm"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZZ80MB"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ280_nat.asm"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZZRCC"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ280_nat.asm"
|
||||
@@ -31,6 +29,7 @@
|
||||
CPUOSC .SET 14745600 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
RAMSIZE .SET 256 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 256 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE_CHK .SET 256 ; ROMSIZE VALUE VEREIFICATION (0=DISABLED)
|
||||
;
|
||||
RAMLOC .SET 18 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014 (DUART)"
|
||||
;
|
||||
#include "Config/RCZ80_std.asm"
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014 (KIO)"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ80_std.asm"
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014 (MT)"
|
||||
;
|
||||
#include "Config/RCZ80_std.asm"
|
||||
;
|
||||
CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014 (SKZ)"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "Config/RCZ80_std.asm"
|
||||
|
||||
@@ -31,6 +31,7 @@ CRTACT .SET FALSE ; ACTIVATE CRT (VDU,CVDU,PROPIO,ETC) AT STARTUP
|
||||
CPUOSC .SET 7372800 ; CPU OSC FREQ IN MHZ
|
||||
;
|
||||
RAMSIZE .SET 2048 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .SET 0 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
MEMMGR .SET MM_ZRC ; MEMORY MANAGER: MM_[SBC|Z2|N8|Z180]
|
||||
;
|
||||
MDROM .SET FALSE ; MD: ENABLE ROM DISK
|
||||
|
||||
@@ -24,8 +24,6 @@
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SBC (simh)"
|
||||
;
|
||||
#include "cfg_sbc.asm"
|
||||
;
|
||||
INTMODE .SET 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SC126"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_scz180.asm"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SC130"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_scz180.asm"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SC131"
|
||||
;
|
||||
#DEFINE BOOT_DEFAULT "H" ; DEFAULT BOOT LOADER CMD ON <CR> OR AUTO BOOT
|
||||
;
|
||||
#include "cfg_scz180.asm"
|
||||
|
||||
@@ -22,8 +22,6 @@
|
||||
; PLEASE REFER TO THE CUSTOM BUILD INSTRUCTIONS (README.TXT) IN THE SOURCE DIRECTORY (TWO
|
||||
; DIRECTORIES ABOVE THIS ONE).
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SC140"
|
||||
;
|
||||
#include "cfg_scz180.asm"
|
||||
;
|
||||
CPUOSC .SET 18432000 ; CPU OSC FREQ IN MHZ
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
|
||||
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
|
||||
TOOLS =../../Tools
|
||||
OTHERS = *.img *.rom *.com *.upd *.bin *.z80 cpm.sys zsys.sys Build.inc font*.asm *.dat
|
||||
OTHERS = *.img *.rom *.com *.upd *.bin *.z80 cpm.sys zsys.sys Build.inc font*.asm *.dat hbios_env.sh
|
||||
include $(TOOLS)/Makefile.inc
|
||||
|
||||
FONTS := font8x11c.asm font8x11u.asm font8x16c.asm font8x16u.asm font8x8c.asm font8x8u.asm fontcgac.asm fontcgau.asm
|
||||
@@ -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
|
||||
|
||||
@@ -38,19 +39,19 @@ endif
|
||||
|
||||
ROMNAME=${ROM_PLATFORM}_${ROM_CONFIG}
|
||||
|
||||
#$(info DEPS=$(DEPS))
|
||||
#$(info ROM_PLATFORM=$(ROM_PLATFORM))
|
||||
#$(info ROM_CONFIG=$(ROM_CONFIG))
|
||||
#$(info ROMSIZE=$(ROMSIZE))
|
||||
#$(info ROMNAME=$(ROMNAME))
|
||||
$(info DEPS=$(DEPS))
|
||||
$(info ROM_PLATFORM=$(ROM_PLATFORM))
|
||||
$(info ROM_CONFIG=$(ROM_CONFIG))
|
||||
$(info ROMSIZE=$(ROMSIZE))
|
||||
$(info ROMNAME=$(ROMNAME))
|
||||
|
||||
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 \
|
||||
@@ -98,6 +99,12 @@ hbios_app.bin: hbios.asm build.inc $(DEPS)
|
||||
hbios_img.bin: hbios.asm build.inc $(DEPS)
|
||||
$(TASM) -dIMGBOOT hbios.asm hbios_img.bin hbios_img.lst
|
||||
|
||||
hbios_env.com: hbios_env.asm build.inc
|
||||
$(TASM) -dBASH hbios_env.asm hbios_env.com hbios_env.lst
|
||||
|
||||
hbios_env.sh: hbios_env.com
|
||||
$(ZXCC) hbios_env.com >hbios_env.sh
|
||||
|
||||
romldr.bin: build.inc
|
||||
dbgmon.bin: build.inc
|
||||
nascom.bin: build.inc
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "DYNO"
|
||||
#DEFINE PLATFORM_NAME "Dyno", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "EASYZ80"
|
||||
#DEFINE PLATFORM_NAME "Easy-Z80", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -225,6 +226,9 @@ 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)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
; USED ONLY AS A REFERENCE TO HELP MANAGE THE FULL SET OF POSSIBLE SETTINGS AND
|
||||
; KEEP THINGS CONSISTENT.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ROMWBW"
|
||||
#DEFINE PLATFORM_NAME "RomWBW", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -30,6 +30,7 @@ INTMODE .EQU 0 ; 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
@@ -269,7 +270,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
|
||||
;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "Multi Board Computer"
|
||||
#DEFINE PLATFORM_NAME "Nhyodyne", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 0 ; 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -198,7 +199,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
|
||||
;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "MARK IV"
|
||||
#DEFINE PLATFORM_NAME "Mark IV", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
@@ -191,7 +192,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
|
||||
@@ -227,6 +228,9 @@ 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
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "N8"
|
||||
#DEFINE PLATFORM_NAME "N8", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMBIAS .EQU 0 ; OFFSET OF START OF RAM IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014"
|
||||
#DEFINE PLATFORM_NAME "RC2014", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014"
|
||||
#DEFINE PLATFORM_NAME "RC2014", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RC2014"
|
||||
#DEFINE PLATFORM_NAME "RC2014", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 1 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -245,6 +246,9 @@ 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)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "RHYOPHYRE"
|
||||
#DEFINE PLATFORM_NAME "Rhyophyre", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ 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 .EQU 512 ; SIZE OF ROM 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
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SBC"
|
||||
#DEFINE PLATFORM_NAME "Single Board Computer", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 0 ; 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
@@ -198,7 +199,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
|
||||
;
|
||||
@@ -225,6 +226,9 @@ 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
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "SCZ180"
|
||||
#DEFINE PLATFORM_NAME "Small Computer", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 2 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
RAMLOC .EQU 19 ; START OF RAM AS POWER OF 2 (2^N) IN PHYSICAL ADDRESS SPACE
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "UNA"
|
||||
#DEFINE PLATFORM_NAME "UNA", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "../UBIOS/ubios.inc"
|
||||
;
|
||||
@@ -26,6 +26,7 @@ CPUOSC .EQU 18432000 ; CPU OSC FREQ IN MHZ
|
||||
INTMODE .EQU 0 ; INTERRUPTS: 0=NONE, 1=MODE 1, 2=MODE 2, 3=MODE 3 (Z280)
|
||||
;
|
||||
RAMSIZE .EQU 512 ; SIZE OF RAM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
ROMSIZE .EQU 512 ; SIZE OF ROM IN KB (MUST MATCH YOUR HARDWARE!!!)
|
||||
;
|
||||
RTCIO .EQU $70 ; RTC LATCH REGISTER ADR
|
||||
;
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZETA"
|
||||
#DEFINE PLATFORM_NAME "Zeta", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ INTMODE .EQU 0 ; 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPCL_RAM .EQU $78 ; SBC MEM MGR RAM PAGE SELECT REG (WRITE ONLY)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
; THIS FILE CAN BE CONSIDERED A REFERENCE THAT LISTS ALL POSSIBLE CONFIGURATION SETTINGS
|
||||
; FOR THE PLATFORM.
|
||||
;
|
||||
#DEFINE PLATFORM_NAME "ZETA V2"
|
||||
#DEFINE PLATFORM_NAME "Zeta 2", " [", CONFIG, "]"
|
||||
;
|
||||
#INCLUDE "hbios.inc"
|
||||
;
|
||||
@@ -33,6 +33,7 @@ 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 .EQU 512 ; SIZE OF ROM 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|RPH]
|
||||
MPGSEL_0 .EQU $78 ; Z2 MEM MGR BANK 0 PAGE SELECT REG (WRITE ONLY)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -219,6 +219,7 @@ RTCDEF .SET RTCDEF | %00001000 ; INITIAL SPEED LOW
|
||||
;
|
||||
.FILL (000H - $),0FFH ; RST 0
|
||||
JP HB_START
|
||||
.DB 0 ; SIG PTR STARTS AT $0004
|
||||
.DW ROM_SIG
|
||||
.FILL (008H - $),0FFH ; RST 8
|
||||
JP HB_INVOKE ; INVOKE HBIOS FUNCTION
|
||||
@@ -2827,42 +2828,7 @@ INITSYS4:
|
||||
#ENDIF
|
||||
;
|
||||
#IFDEF TESTING
|
||||
;
|
||||
; ROUTINE TO BEEP THE DEAULT SOUND UNIT (NOT FINISHED)
|
||||
; NEED TO CHECK FOR EXISTENCE OF SOUND UNIT 0
|
||||
; NEED TO TEST AGAINST ALL SOUND DRIVERS
|
||||
; CAN SPEAKER DRIVER BE MODIFIED TO PLAY ARBITRARY DURATION?
|
||||
; WHICH CHANNEL SHOULD BE USED? IS THERE A GOOD DEFAULT CHANNEL?
|
||||
;
|
||||
SNDUNIT .EQU 0
|
||||
;
|
||||
HB_BEEP:
|
||||
LD B,$50 ; SOUND RESET FUNCTION
|
||||
LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD B,$51 ; VOLUME
|
||||
LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
LD L,$FF ; MAX
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD B,$53 ; SELECT NOTE
|
||||
LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
;LD HL,0 ; A0#
|
||||
LD HL,200 ; C4
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
;LD B,$56 ; DURATION
|
||||
;LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
;LD HL,500 ; 1/2 SECOND
|
||||
;CALL SND_DISPATCH ; DO IT
|
||||
LD B,$54 ; PLAY SOUND
|
||||
LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
LD D,1 ; CHANNEL 0
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
LD DE,15625 ; PLAY FOR 1/4 SECOND
|
||||
CALL VDELAY
|
||||
LD B,$50 ; SOUND RESET FUNCTION
|
||||
LD C,SNDUNIT ; SOUND UNIT NUMBER
|
||||
CALL SND_DISPATCH ; DO IT
|
||||
;
|
||||
CALL SND_BEEP
|
||||
#ENDIF
|
||||
;
|
||||
#IFNDEF ROMBOOT
|
||||
@@ -3749,7 +3715,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 4 ; UP TO 3 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)
|
||||
@@ -3758,6 +3724,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
|
||||
;==================================================================================================
|
||||
;
|
||||
|
||||
61
Source/HBIOS/hbios_env.asm
Normal file
61
Source/HBIOS/hbios_env.asm
Normal file
@@ -0,0 +1,61 @@
|
||||
;
|
||||
;==================================================================================================
|
||||
; HBIOS ENVIRONMENT EXPORT
|
||||
;==================================================================================================
|
||||
;
|
||||
; Do we need a private stack???
|
||||
; Use a macro do dump each variable?
|
||||
;
|
||||
#include "std.asm"
|
||||
;
|
||||
.org $100 ; Normal CP/M start address
|
||||
;
|
||||
; Dump ROMSIZE
|
||||
call PRTSTRD
|
||||
#ifdef CMD
|
||||
.text "set ROMSize=$"
|
||||
#endif
|
||||
#ifdef BASH
|
||||
.text "ROMSIZE=$"
|
||||
#endif
|
||||
ld hl,ROMSIZE
|
||||
call PRTDEC
|
||||
call EOL
|
||||
;
|
||||
ret ; Return
|
||||
;
|
||||
; Output end-of-line. Handles differences between
|
||||
; Windows CMD file and Bash.
|
||||
;
|
||||
EOL:
|
||||
#ifdef CMD
|
||||
ld a,13
|
||||
call COUT
|
||||
#endif
|
||||
ld a,10
|
||||
call COUT
|
||||
ret
|
||||
|
||||
;
|
||||
; Print a single character from register A.
|
||||
; This routine is required by the utility routines included below.
|
||||
;
|
||||
COUT:
|
||||
push af
|
||||
push bc
|
||||
push de
|
||||
push hl
|
||||
ld e,a
|
||||
ld c,2
|
||||
call $0005
|
||||
pop hl
|
||||
pop de
|
||||
pop bc
|
||||
pop af
|
||||
ret
|
||||
;
|
||||
; Include the utility routines
|
||||
;
|
||||
#include "util.asm"
|
||||
;
|
||||
.end
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -409,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 ;
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -296,13 +296,10 @@ For example:
|
||||
In this case, you will not be prompted. This is useful if you wish
|
||||
to automate your build process.
|
||||
|
||||
There is a third parameter that you can specify to the BuildROM
|
||||
command via a command line. If you want to build a 1024K (1MB) ROM,
|
||||
you can add "1024" to the end of the line, like this:
|
||||
|
||||
C:\RomWBW\Source> BuildROM MK4 cust 1024
|
||||
|
||||
You must ensure that your system actually supports a 1024K ROM.
|
||||
In the past, the size of the ROM could be specified as the third
|
||||
parameter of the command. This parameter is now deprecated and
|
||||
the size of the ROM is specified in your configuration file
|
||||
using the ROMSIZE variable.
|
||||
|
||||
Special Build Commands
|
||||
----------------------
|
||||
|
||||
@@ -23,8 +23,8 @@ rom512_%.dat rom1024_%.dat: ROMAPPS=$(ROMAPPS1) $(ROMAPPS2)
|
||||
rom%_wbw.dat: BIOS=wbw
|
||||
rom%_una.dat: BIOS=una
|
||||
|
||||
rom128%.dat:
|
||||
>$@
|
||||
rom128_%.dat:
|
||||
touch $@
|
||||
|
||||
%.dat:
|
||||
### Making ROM Disk $@
|
||||
|
||||
@@ -13,4 +13,5 @@ set VER=v0.3.0
|
||||
tasm -80 -g3 -fFF -dROMWBW -d"VERSION \"%VER%\"" tastybasic.asm tastybasic.bin tastybasic.bin.lst
|
||||
tasm -80 -g3 -fFF -dCPM -d"VERSION \"%VER%\"" tastybasic.asm tastybasic.com tastybasic.com.lst
|
||||
|
||||
copy /b /v tastybasic.com ..\..\..\Binary\Apps\tbasic.com
|
||||
copy /b /v tastybasic.com tbasic.com
|
||||
copy /b /v tbasic.com ..\..\..\Binary\Apps\tbasic.com
|
||||
|
||||
@@ -2,4 +2,4 @@
|
||||
#DEFINE RMN 1
|
||||
#DEFINE RUP 1
|
||||
#DEFINE RTP 0
|
||||
#DEFINE BIOSVER "3.1.1-pre.176"
|
||||
#DEFINE BIOSVER "3.1.1-pre.181"
|
||||
|
||||
@@ -3,5 +3,5 @@ rmn equ 1
|
||||
rup equ 1
|
||||
rtp equ 0
|
||||
biosver macro
|
||||
db "3.1.1-pre.176"
|
||||
db "3.1.1-pre.181"
|
||||
endm
|
||||
|
||||
11
Tools/Makefile
Normal file
11
Tools/Makefile
Normal file
@@ -0,0 +1,11 @@
|
||||
#
|
||||
# build the tools for linux and Darwin
|
||||
#
|
||||
UNAME := $(shell uname)
|
||||
|
||||
all:
|
||||
$(MAKE) --directory unix
|
||||
|
||||
clean:
|
||||
$(MAKE) --directory unix clean
|
||||
@rm -rf $(UNAME)
|
||||
@@ -156,13 +156,7 @@ clean::
|
||||
done
|
||||
|
||||
clobber:: clean
|
||||
@if [ "$(DEST)" ] ; then for file in $(OBJECTS) ; do \
|
||||
rm -f $$($(CASEFN) $(DEST)/$$file) ; \
|
||||
done ; fi
|
||||
@-rm -f $$($(CASEFN) $(filter-out $(NODELETE),$(OBJECTS)))
|
||||
@for dir in $(SUBDIRS) ; do \
|
||||
$(MAKE) --directory $$dir clobber ; \
|
||||
done
|
||||
|
||||
#
|
||||
# this is used to verify that the unix and windows tool chains are generating
|
||||
# the same objects
|
||||
@@ -172,7 +166,7 @@ ifneq ($(DIFFTO),)
|
||||
@for dir in $(SUBDIRS) ; do \
|
||||
( echo "diff in $(HERE)/$$dir" ; cd "$$dir" ; make diff ) ; \
|
||||
done
|
||||
@for i in $(OBJECTS) $(MOREDIFF) ; do \
|
||||
@for i in $(filter-out $(NODIFF),$(OBJECTS) $(MOREDIFF)) ; do \
|
||||
sf=$$($(CASEFN) $$i) ; \
|
||||
df=$$($(CASEFN) $(DIFFPATH)/$$i) ; \
|
||||
if [ -f "$$df" -a -f "$$sf" ] ; then \
|
||||
@@ -193,5 +187,6 @@ ifneq ($(DIFFTO),)
|
||||
done
|
||||
endif
|
||||
|
||||
|
||||
vdiff:
|
||||
make VERBOSEDIFF=2 diff
|
||||
|
||||
@@ -15,9 +15,5 @@ all:
|
||||
@chmod +x casefn.sh
|
||||
@$(foreach subdir,$(SUBDIRS),$(MAKE) --directory $(subdir) all;)
|
||||
|
||||
clobber:
|
||||
@$(foreach subdir,$(SUBDIRS),$(MAKE) --directory $(subdir) clobber;)
|
||||
@rm -rf ../$(UNAME)
|
||||
|
||||
clean:
|
||||
@$(foreach subdir,$(SUBDIRS),$(MAKE) --directory $(subdir) clean;)
|
||||
@@ -18,9 +18,6 @@ $(DEST):
|
||||
clean:
|
||||
rm -f $(OBJ_FILES) $(BINARY)
|
||||
|
||||
clobber: clean
|
||||
rm -f $(DEST)/$(BINARY) $(BINARY)
|
||||
|
||||
$(BINARY): $(OBJ_FILES)
|
||||
$(CC) -o $@ $^ $(LIBS)
|
||||
|
||||
|
||||
@@ -20,9 +20,4 @@ all: $(DEST)
|
||||
$(DEST):
|
||||
mkdir $(DEST)
|
||||
|
||||
clobber: clean
|
||||
-for i in *.$(SUFFIX) ; do \
|
||||
rm $(DEST)/$$(basename $$i .$(SUFFIX)) ; \
|
||||
done
|
||||
|
||||
clean:
|
||||
|
||||
@@ -54,8 +54,3 @@ $(DEST):
|
||||
|
||||
clean:
|
||||
-rm -f *.o $(OBJECTS)
|
||||
|
||||
clobber: clean
|
||||
-for i in $(OBJECTS) ; do \
|
||||
rm -f $(DEST)/$$i ; \
|
||||
done
|
||||
|
||||
@@ -41,6 +41,3 @@ $(APP): $(OBJS)
|
||||
|
||||
clean:
|
||||
@rm -rf $(APP) $(OBJDIR)
|
||||
|
||||
clobber: clean
|
||||
rm -f ../../$(UNAME)/$(APP)
|
||||
|
||||
@@ -49,9 +49,6 @@ all: uz80as $(DEST)
|
||||
$(DEST):
|
||||
mkdir -p $(DEST)
|
||||
|
||||
clobber: clean
|
||||
-rm -f uz80as $(DEST)/uz80as
|
||||
|
||||
clean:
|
||||
-rm -f $(OBJECTS) uz80as
|
||||
|
||||
|
||||
@@ -25,9 +25,6 @@ $(DEST):
|
||||
clean:
|
||||
-rm -f $(OBJECTS) config.h zxcc bios.bin
|
||||
|
||||
clobber: clean
|
||||
-rm -f $(DEST)/zxcc $(DEST)/bios.bin zxcc
|
||||
|
||||
$(OBJECTS): config.h bios.bin
|
||||
|
||||
zxcc: $(OBJECTS)
|
||||
|
||||
Reference in New Issue
Block a user