diff --git a/Doc/RomWBW Applications.pdf b/Doc/RomWBW Applications.pdf index 5c081d7c..5173c6a2 100644 Binary files a/Doc/RomWBW Applications.pdf and b/Doc/RomWBW Applications.pdf differ diff --git a/Doc/RomWBW Disk Catalog.pdf b/Doc/RomWBW Disk Catalog.pdf index d68afb55..a938da57 100644 Binary files a/Doc/RomWBW Disk Catalog.pdf and b/Doc/RomWBW Disk Catalog.pdf differ diff --git a/Doc/RomWBW Errata.pdf b/Doc/RomWBW Errata.pdf index 60ec11ba..c4e8b698 100644 Binary files a/Doc/RomWBW Errata.pdf and b/Doc/RomWBW Errata.pdf differ diff --git a/Doc/RomWBW ROM Applications.pdf b/Doc/RomWBW ROM Applications.pdf index 26d0d350..8c4100e7 100644 Binary files a/Doc/RomWBW ROM Applications.pdf and b/Doc/RomWBW ROM Applications.pdf differ diff --git a/Doc/RomWBW System Guide.pdf b/Doc/RomWBW System Guide.pdf index 44e754d1..c9db3afd 100644 Binary files a/Doc/RomWBW System Guide.pdf and b/Doc/RomWBW System Guide.pdf differ diff --git a/Doc/RomWBW User Guide.pdf b/Doc/RomWBW User Guide.pdf index 56f3bb73..1649d887 100644 Binary files a/Doc/RomWBW User Guide.pdf and b/Doc/RomWBW User Guide.pdf differ diff --git a/ReadMe.md b/ReadMe.md index e3b042d3..4ebb4a09 100644 --- a/ReadMe.md +++ b/ReadMe.md @@ -3,7 +3,7 @@ **RomWBW ReadMe** \ Version 3.3 \ Wayne Warthen ([wwarthen@gmail.com](mailto:wwarthen@gmail.com)) \ -09 Sep 2023 +10 Sep 2023 # Overview diff --git a/ReadMe.txt b/ReadMe.txt index 51e1a2ce..bff0f894 100644 --- a/ReadMe.txt +++ b/ReadMe.txt @@ -1,6 +1,6 @@ RomWBW ReadMe Wayne Warthen (wwarthen@gmail.com) -09 Sep 2023 +10 Sep 2023 diff --git a/Source/Apps/Test/DMAmon/dmamon.asm b/Source/Apps/Test/DMAmon/dmamon.asm index d13830c8..e98035da 100644 --- a/Source/Apps/Test/DMAmon/dmamon.asm +++ b/Source/Apps/Test/DMAmon/dmamon.asm @@ -136,6 +136,8 @@ MAIN: ld de,$A000 ld bc,hsiz ldir + ld a,(dmaport) + ld (int_dmaport),a ; ; Install interrupt vector (RomWBW specific!!!) ld hl,int ; pointer to my interrupt handler @@ -215,6 +217,9 @@ DMACFG_S: call HEXIN ld hl,dmaport ld (hl),a +#IF (INTENABLE) + ld (int_dmaport),a +#ENDIF jp MENULP ; DMACFG_L: @@ -1193,7 +1198,6 @@ CST: RET ; USEINT .DB FALSE ; USE INTERRUPTS FLAG -counter .dw 0 dmaport .db DMABASE dmalach .db DMALATCH dmaxfer .db DMA_XMODE @@ -1214,11 +1218,16 @@ reladr .equ $ ; relocation start adr .org $A000 ; code will run here ; 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 ; a DMA_DISABLE command prior to a ; DMA_REINIT_STATUS_BYTE command to avoid a ; potential race condition. - ld a,(dmaport) + ld a,(int_dmaport) ld c,a ld a,DMA_DISABLE out (c),a @@ -1238,6 +1247,11 @@ int: or $ff ; signal int handled 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 ; .org reladr + hsiz diff --git a/Source/Doc/UserGuide.md b/Source/Doc/UserGuide.md index 01c1aa60..653ffdf5 100644 --- a/Source/Doc/UserGuide.md +++ b/Source/Doc/UserGuide.md @@ -2143,10 +2143,36 @@ regarding the RomWBW adaptation and customizations. #### 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 diff --git a/Source/Images/d_qpm/ReadMe.txt b/Source/Images/d_qpm/ReadMe.txt index c9456ee7..5704aba2 100644 --- a/Source/Images/d_qpm/ReadMe.txt +++ b/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 (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 == diff --git a/Source/ver.inc b/Source/ver.inc index de6d8147..1c16ee83 100644 --- a/Source/ver.inc +++ b/Source/ver.inc @@ -2,7 +2,7 @@ #DEFINE RMN 3 #DEFINE RUP 0 #DEFINE RTP 0 -#DEFINE BIOSVER "3.3.0-dev.51" +#DEFINE BIOSVER "3.3.0-dev.52" #define rmj RMJ #define rmn RMN #define rup RUP diff --git a/Source/ver.lib b/Source/ver.lib index 1b26d219..86e336fc 100644 --- a/Source/ver.lib +++ b/Source/ver.lib @@ -3,5 +3,5 @@ rmn equ 3 rup equ 0 rtp equ 0 biosver macro - db "3.3.0-dev.51" + db "3.3.0-dev.52" endm