Browse Source

Miscellaneous

- Minor correction to DMAMON to restore proper operation of interrupt testing
- Minor improvements to QPM documentation
pull/360/head v3.3.0-dev.52
Wayne Warthen 2 years ago
parent
commit
68e841e62c
  1. BIN
      Doc/RomWBW Applications.pdf
  2. BIN
      Doc/RomWBW Disk Catalog.pdf
  3. BIN
      Doc/RomWBW Errata.pdf
  4. BIN
      Doc/RomWBW ROM Applications.pdf
  5. BIN
      Doc/RomWBW System Guide.pdf
  6. BIN
      Doc/RomWBW User Guide.pdf
  7. 2
      ReadMe.md
  8. 2
      ReadMe.txt
  9. 18
      Source/Apps/Test/DMAmon/dmamon.asm
  10. 34
      Source/Doc/UserGuide.md
  11. 18
      Source/Images/d_qpm/ReadMe.txt
  12. 2
      Source/ver.inc
  13. 2
      Source/ver.lib

BIN
Doc/RomWBW Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW Disk Catalog.pdf

Binary file not shown.

BIN
Doc/RomWBW Errata.pdf

Binary file not shown.

BIN
Doc/RomWBW ROM Applications.pdf

Binary file not shown.

BIN
Doc/RomWBW System Guide.pdf

Binary file not shown.

BIN
Doc/RomWBW User Guide.pdf

Binary file not shown.

2
ReadMe.md

@ -3,7 +3,7 @@
**RomWBW ReadMe** \ **RomWBW ReadMe** \
Version 3.3 \ Version 3.3 \
Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \
09 Sep 2023
10 Sep 2023
# Overview # Overview

2
ReadMe.txt

@ -1,6 +1,6 @@
RomWBW ReadMe RomWBW ReadMe
Wayne Warthen (wwarthen@gmail.com) Wayne Warthen (wwarthen@gmail.com)
09 Sep 2023
10 Sep 2023

18
Source/Apps/Test/DMAmon/dmamon.asm

@ -136,6 +136,8 @@ MAIN:
ld de,$A000 ld de,$A000
ld bc,hsiz ld bc,hsiz
ldir ldir
ld a,(dmaport)
ld (int_dmaport),a
; ;
; Install interrupt vector (RomWBW specific!!!) ; Install interrupt vector (RomWBW specific!!!)
ld hl,int ; pointer to my interrupt handler ld hl,int ; pointer to my interrupt handler
@ -215,6 +217,9 @@ DMACFG_S:
call HEXIN call HEXIN
ld hl,dmaport ld hl,dmaport
ld (hl),a ld (hl),a
#IF (INTENABLE)
ld (int_dmaport),a
#ENDIF
jp MENULP jp MENULP
; ;
DMACFG_L: DMACFG_L:
@ -1193,7 +1198,6 @@ CST:
RET RET
; ;
USEINT .DB FALSE ; USE INTERRUPTS FLAG USEINT .DB FALSE ; USE INTERRUPTS FLAG
counter .dw 0
dmaport .db DMABASE dmaport .db DMABASE
dmalach .db DMALATCH dmalach .db DMALATCH
dmaxfer .db DMA_XMODE dmaxfer .db DMA_XMODE
@ -1214,11 +1218,16 @@ reladr .equ $ ; relocation start adr
.org $A000 ; code will run here .org $A000 ; code will run here
; ;
int: int:
;LD E,'.' ; OUTPUT CHAR TO E
;LD C,CIO_CONSOLE ; CONSOLE UNIT TO C
;LD B,BF_CIOOUT ; HBIOS FUNC: OUTPUT CHAR
;CALL $FFF0 ; HBIOS OUTPUTS CHARACTER
; According to the DMA doc, you must issue ; According to the DMA doc, you must issue
; a DMA_DISABLE command prior to a ; a DMA_DISABLE command prior to a
; DMA_REINIT_STATUS_BYTE command to avoid a ; DMA_REINIT_STATUS_BYTE command to avoid a
; potential race condition. ; potential race condition.
ld a,(dmaport)
ld a,(int_dmaport)
ld c,a ld c,a
ld a,DMA_DISABLE ld a,DMA_DISABLE
out (c),a out (c),a
@ -1238,6 +1247,11 @@ int:
or $ff ; signal int handled or $ff ; signal int handled
ret ret
; ;
; data referred to in handler must reside in high mem
;
int_dmaport .db 0 ; hi mem copy of dmaport
counter .dw 0 ; interrupt counter
;
hsiz .equ $ - $A000 ; size of handler to relocate hsiz .equ $ - $A000 ; size of handler to relocate
; ;
.org reladr + hsiz .org reladr + hsiz

34
Source/Doc/UserGuide.md

@ -2143,10 +2143,36 @@ regarding the RomWBW adaptation and customizations.
#### Boot Disk #### Boot Disk
There is no RomWBW-specific boot disk creation procedure. QP/M
comes with a QINSTALL which is used to install QPM over an existing
CP/M 2 installation or to update an existing QPM disk. `QINSTALL.COM`
is included with the RomWBW distribution.
To create or update a bootable QP/M Z-System disk, a special process
is required. QP/M is not provided in source format. You are expected
to install QP/M over an existing CP/M installation using the
`QINSTALL.COM` application.
To update an existing QP/M boot disk with the latest RomWBW CBIOS, you
must use 2 steps: apply the generic CP/M system track, then reinstall
the QP/M components. To do this, you can perform the following steps:
1. Boot to the existing QP/M disk. At this point, drive A should be
the QP/M disk that you wish to update. You may receive a warning
about CBIOS/HBIOS version mismatch.
1. Use RomWBW `SYSCOPY` to place the stock RomWBW CP/M OS image
onto the system tracks of the QP/M boot disk:
`SYSCOPY A:=x:CPM.SYS`
where x is the drive letter of your ROM Disk.
1. Run `QINSTALL` to overlay the QP/M OS components on your
QP/M boot disk.
**WARNING**: `QINSTALL` has no mechanism for retaining previous
non-default settings. Any previous non-default settings you
previously made with `QINSTALL` will need to be reapplied. The
pre-built RomWBW QP/M disk image includes a couple of specific
non-default settings to optimize use with RomWBW. Please review the
notes in the ReadMe.txt file in Source/Images/d_qpm.
#### Notes #### Notes

18
Source/Images/d_qpm/ReadMe.txt

@ -36,11 +36,19 @@ code brakpoints. This conflicts the use of that vector for any
system that is using interrupt mode 1. DEBUGZ can be configured system that is using interrupt mode 1. DEBUGZ can be configured
(using DBGINST) to use a different vector. (using DBGINST) to use a different vector.
The QSTAMP program, which is used to initialize a disk for date/time
stamping, misbehavews when run on the (new) RomWBW 1024 directory
format disks. It creates an invalid directory entry for the
date/time stamp data file. This is definitely a QP/M issue. The
directory entry can be manually corrected.
The QSTAMP program, which is used to initialize a disk for date/time
stamping, misbehavews when run on the (new) RomWBW 1024 directory
format disks. It creates an invalid directory entry for the date/time
stamp data file. This is definitely a QP/M issue. The directory entry
can be manually corrected. Specifically the byte offset 15 should
contain the number of 128-byte records in the file. Instead, it is set
to 0x01. You can edit the entry, change it to 0x80 and everything
starts working.
There are two text files (QPMCMDS.TXT and QPMUTILS.TXT) included. They
came from the original QP/M 2.7 distribution. These files have
escape sequences imbedded in them which makes them look a little
strange depending on the terminal emulation you are using.
== QPM 2.7 Files == == QPM 2.7 Files ==

2
Source/ver.inc

@ -2,7 +2,7 @@
#DEFINE RMN 3 #DEFINE RMN 3
#DEFINE RUP 0 #DEFINE RUP 0
#DEFINE RTP 0 #DEFINE RTP 0
#DEFINE BIOSVER "3.3.0-dev.51"
#DEFINE BIOSVER "3.3.0-dev.52"
#define rmj RMJ #define rmj RMJ
#define rmn RMN #define rmn RMN
#define rup RUP #define rup RUP

2
Source/ver.lib

@ -3,5 +3,5 @@ rmn equ 3
rup equ 0 rup equ 0
rtp equ 0 rtp equ 0
biosver macro biosver macro
db "3.3.0-dev.51"
db "3.3.0-dev.52"
endm endm

Loading…
Cancel
Save