diff --git a/Source/HBIOS/PPI_Bus.txt b/Doc/Contrib/PPI_Bus.txt similarity index 100% rename from Source/HBIOS/PPI_Bus.txt rename to Doc/Contrib/PPI_Bus.txt diff --git a/Source/Apps/Test/DMAmon/std.asm b/Source/Apps/Test/DMAmon/std.asm index 95e5283e..3c25f7bb 100644 --- a/Source/Apps/Test/DMAmon/std.asm +++ b/Source/Apps/Test/DMAmon/std.asm @@ -384,6 +384,17 @@ WDOG_NONE .EQU 0 ; NONE WDOG_EZZ80 .EQU 1 ; EASY Z80 WATCHDOG WDOG_SKZ .EQU 2 ; SK Z80 CPU W/ 512K ; +; SYSTEM SPEED CAPABILITIES +; +SPD_FIXED .EQU 0 ; PLATFORM SPEED FIXED AND CANNOT CHANGE SPEEDS +SPD_HILO .EQU 1 ; PLATFORM CAN CHANGE BETWEEN TWO SPEEDS +; +; SYSTEM SPEED CHARACTERISTICS +; +SPD_UNSUP .EQU 0 ; PLATFORM CAN CHANGE SPEEDS BUT IS UNSUPPORTED +SPD_HIGH .EQU 1 ; PLATFORM CAN CHANGE SPEED, STARTS HIGH +SPD_LOW .EQU 2 ; PLATFORM CAN CHANGE SPEED, STARTS LOW +; #INCLUDE "build.inc" ; INCLUDE USER CONFIG, ADD VARIANT, TIMESTAMP, & ROMSIZE ; #IF (BIOS == BIOS_WBW) @@ -488,33 +499,40 @@ SYSTIM .SET TM_Z280 ; ; MEMORY BANK CONFIGURATION ; +WBW_ROM_R .EQU 128 ; 128K ; RESERVED ROM REQUIRED FOR ROMWBW +WBW_RAM_R .EQU 256 ; 256K ; RESERVED RAM REQUIRED FOR ROMWBW +TOT_ROM_RB .EQU (PLT_ROM_R + WBW_ROM_R)/32 ; TOTAL ROM BANKS RESERVED +TOT_RAM_RB .EQU (PLT_RAM_R + WBW_RAM_R)/32 ; TOTAL RAM BANKS RESERVED +; #IF (BIOS == BIOS_UNA) -BID_ROM0 .EQU $0000 + (ROM_RESERVE / 32) -BID_RAM0 .EQU $8000 + (RAM_RESERVE / 32) +BID_ROM0 .EQU $0000 + (PLT_ROM_R / 32) +BID_RAM0 .EQU $8000 + (PLT_RAM_R / 32) #ENDIF ; #IF (BIOS == BIOS_WBW) -BID_ROM0 .EQU $00 + (ROM_RESERVE / 32) -BID_RAM0 .EQU $80 + (RAM_RESERVE / 32) +BID_ROM0 .EQU $00 + (PLT_ROM_R / 32) +BID_RAM0 .EQU $80 + (PLT_RAM_R / 32) #ENDIF BID_ROMN .EQU (BID_ROM0 + ((ROMSIZE / 32) - 1)) BID_RAMN .EQU (BID_RAM0 + ((RAMSIZE / 32) - 1)) - -BID_BOOT .EQU BID_ROM0 ; BOOT BANK -BID_IMG0 .EQU BID_ROM0 + 1 ; ROM LOADER AND FIRST IMAGES BANK -BID_IMG1 .EQU BID_ROM0 + 2 ; SECOND IMAGES BANK -;BID_FSFAT .EQU BID_ROM0 + 3 ; FAT FILESYSTEM DRIVER BANK -BID_IMG2 .EQU BID_ROM0 + 3 ; NETWORK BOOT -BID_ROMD0 .EQU BID_ROM0 + 4 ; FIRST ROM DRIVE BANK -BID_ROMDN .EQU BID_ROMN ; LAST ROM DRIVE BANK - -BID_RAMD0 .EQU BID_RAM0 ; FIRST RAM DRIVE BANK -BID_RAMDN .EQU BID_RAMN - 4 ; LAST RAM DRIVE BANK -BID_AUX .EQU BID_RAMN - 3 ; AUX BANK (BPBIOS, ETC.) -BID_BIOS .EQU BID_RAMN - 2 ; BIOS BANK -BID_USR .EQU BID_RAMN - 1 ; USER BANK (CP/M TPA, ETC.) -BID_COM .EQU BID_RAMN ; COMMON BANK, UPPER 32K +; +BID_RAMD0 .EQU BID_RAM0 ; FIRST RAM DRIVE BANK ^ RAM +BID_RAMDN .EQU BID_RAMN - TOT_RAM_RB ; LAST RAM DRIVE BANK | DRIVE +; ; OS BUFFERS CP/M3? -+ THESE +; ; OS BUFFERS CP/M3? | MAKE +; ; OS BUFFERS CP/M3? | UP +; ; OS BUFFERS CP/M3? | THE +BID_AUX .EQU BID_RAMN - 3 ; AUX BANK (BPBIOS, ETC.) | 256KB +BID_BIOS .EQU BID_RAMN - 2 ; BIOS BANK | RESERVED +BID_USR .EQU BID_RAMN - 1 ; USER BANK (CP/M TPA, ETC.) | RAM +BID_COM .EQU BID_RAMN - 0 ; COMMON BANK, UPPER 32K -+ BANKS +BID_BOOT .EQU BID_ROM0 + 0 ; BOOT BANK -+ THESE MAKE +BID_IMG0 .EQU BID_ROM0 + 1 ; ROM LOADER AND FIRST IMAGES BANK | UP THE 128KB +BID_IMG1 .EQU BID_ROM0 + 2 ; SECOND IMAGES BANK | RESERVED +BID_IMG2 .EQU BID_ROM0 + 3 ; NETWORK BOOT -+ ROM BANKS +BID_ROMD0 .EQU BID_ROM0 + 4 ; FIRST ROM DRIVE BANK | ROM +BID_ROMDN .EQU BID_ROMN ; LAST ROM DRIVE BANK V DRIVE ; ; MEMORY LAYOUT ; diff --git a/Source/Apps/Test/DMAmon/ver.inc b/Source/Apps/Test/DMAmon/ver.inc index 8338aafc..202747a4 100644 --- a/Source/Apps/Test/DMAmon/ver.inc +++ b/Source/Apps/Test/DMAmon/ver.inc @@ -1,5 +1,5 @@ #DEFINE RMJ 3 #DEFINE RMN 1 #DEFINE RUP 1 -#DEFINE RTP 03 -#DEFINE BIOSVER "3.1.1-pre.111" +#DEFINE RTP 0 +#DEFINE BIOSVER "3.1.1-pre.128" diff --git a/Source/HBIOS/dma.asm b/Source/HBIOS/dma.asm index a7eaf7d6..52e0bed8 100644 --- a/Source/HBIOS/dma.asm +++ b/Source/HBIOS/dma.asm @@ -165,6 +165,7 @@ DMACode_Len .equ $-DMACode DMALDIR: ld (DMASource),hl ; populate the dma ld (DMADest),de ; register template + dec bc ld (DMALength),bc ; ld hl,DMACopy ; program the @@ -211,6 +212,7 @@ DMACopy_Len .equ $-DMACopy DMAOTIR: ld (DMAOutSource),hl ; populate the dma ld (DMAOutDest),a ; register template + dec bc ld (DMAOutLength),bc ; ld hl,DMAOutCode ; program the @@ -262,6 +264,7 @@ DMAOut_Len .equ $-DMAOutCode DMAINIR: ld (DMAInDest),hl ; populate the dma ld (DMAInSource),a ; register template + dec bc ld (DMAInLength),bc ; ld hl,DMAInCode ; program the diff --git a/Source/HBIOS/md.asm b/Source/HBIOS/md.asm index 10e08d07..6a92d206 100644 --- a/Source/HBIOS/md.asm +++ b/Source/HBIOS/md.asm @@ -382,7 +382,7 @@ MD_SECM: OR A JR NZ,MD_NODMA #ENDIF - LD BC,512-1 ; COPY ONE 512B SECTOR FROM THE + LD BC,512 ; COPY ONE 512B SECTOR FROM THE JP DMALDIR ; 4K SECTOR TO THE DISK BUFFER #ENDIF MD_NODMA: @@ -516,7 +516,7 @@ MD_SECM1: ; DESIRED SECTOR IS IN BUFFER OR A JR NZ,MD_NODMA1 #ENDIF - LD BC,512-1 ; COPY ONE 512B SECTOR FROM THE + LD BC,512 ; COPY ONE 512B SECTOR FROM THE CALL DMALDIR ; THE DISK BUFFER TO 4K SECTOR RET NZ ; EXIT IF DMA COPY ERROR JR MD_NODMAERR diff --git a/Source/HBIOS/rf.asm b/Source/HBIOS/rf.asm index 47d78238..caf54546 100644 --- a/Source/HBIOS/rf.asm +++ b/Source/HBIOS/rf.asm @@ -273,7 +273,7 @@ RF_RDSEC: LD HL,(RF_DSKBUF) ; HL := DISK BUFFER ADDRESS LD A,(RF_IO) ; GET IO PORT BASE #IF (DMAENABLE & (DMAMODE=DMAMODE_ECB)) - LD BC,512-1 ; READ 512 BYTES + LD BC,512 ; READ 512 BYTES CALL DMAINIR ; USING DMA #ELSE OR RF_DAT ; OFFSET TO DAT PORT @@ -293,7 +293,7 @@ RF_WRSEC: LD A,(RF_IO) ; GET IO PORT BASE OR RF_DAT ; OFFSET TO DAT PORT #IF (DMAENABLE & (DMAMODE=DMAMODE_ECB)) - LD BC,512-1 ; WRITE 512 BYTES + LD BC,512 ; WRITE 512 BYTES CALL DMAOTIR ; USING DMA #ELSE LD C,A ; PUT IN C FOR PORT IO