diff --git a/Source/CPM22/loader.asm b/Source/CPM22/loader.asm index 6703e9aa..7abdaeb6 100644 --- a/Source/CPM22/loader.asm +++ b/Source/CPM22/loader.asm @@ -11,7 +11,7 @@ ; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE ; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES): ; -; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, +; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, ; PARTITION TABLE, AND BOOT SIGNATURE ; SECTOR 2: RESERVED ; SECTOR 3: METADATA @@ -29,6 +29,7 @@ ; SYS_ENT .EQU $E600 ; SYSTEM (OS) ENTRY POINT ADDRESS SYS_LOC .EQU $D000 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE +SYS_SEC .EQU 22 ; NUMBER OF SECTORS TO READ SYS_END .EQU $FE00 ; ENDING ADDRESS OF SYSTEM IMAGE ; SEC_SIZE .EQU 512 ; DISK SECTOR SIZE @@ -76,8 +77,8 @@ BOOT: CALL PRTDOT ; PROGRESS ; LD C,$42 ; UNA FUNC: READ SECTORS - LD DE,$D000 ; STARTING ADDRESS FOR IMAGE - LD L,22 ; READ 22 SECTORS + LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE + LD L,SYS_SEC ; NUMBER OF SECTORS CALL $FFFD ; DO READ JR NZ,ERROR ; HANDLE ERROR CALL PRTDOT ; PROGRESS @@ -147,10 +148,10 @@ HEXASCII: HEXCONV: AND $0F ;LOW NIBBLE ONLY ADD A,$90 - DAA + DAA ADC A,$40 - DAA - RET + DAA + RET ; ERROR: LD DE,STR_ERR ; POINT TO ERROR STRING @@ -252,7 +253,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?) PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION -PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) +PR_LABEL .DB "CP/M 2.2$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) .DW 0 ; (2) DEPRECATED PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM diff --git a/Source/CPM3/loader.asm b/Source/CPM3/loader.asm index 3e770243..5339f181 100644 --- a/Source/CPM3/loader.asm +++ b/Source/CPM3/loader.asm @@ -11,7 +11,7 @@ ; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE ; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES): ; -; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, +; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, ; PARTITION TABLE, AND BOOT SIGNATURE ; SECTOR 2: RESERVED ; SECTOR 3: METADATA @@ -31,6 +31,7 @@ ; THE SIZE OF CPMLDR.BIN CHANGES, SYS_SIZ MUST BE UPDATED!!! ; SYS_SIZ .EQU $0F00 ; SIZE OF CPMLDR.BIN +SYS_SEC .EQU 8 ; NUMBER OF SECTORS TO READ SYS_ENT .EQU $0100 ; SYSTEM (OS) ENTRY POINT ADDRESS SYS_LOC .EQU $0100 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE SYS_END .EQU SYS_SIZ + SYS_LOC ; ENDING ADDRESS OF SYSTEM IMAGE @@ -57,6 +58,8 @@ PT_SIZ .EQU $40 ; THE FOLLOWING BOOTSTRAP CODE IS BUILT TO ASSUME IT WILL BE EXECUTED AT A STARTING ; ADDRESS OF $8000. THIS CODE IS *ONLY* FOR UNA. THE ROMWBW ROM BOOTLOADER ; USES THE METADATA TO LOAD THE OS DIRECTLY. +; +; UNA DOES NOT SUPPORT CP/M 3 THIS CODE IS NOT USED, AND COULD BE REMOVED ; .ORG $8000 JR BOOT @@ -80,8 +83,8 @@ BOOT: CALL PRTDOT ; PROGRESS ; LD C,$42 ; UNA FUNC: READ SECTORS - LD DE,$D000 ; STARTING ADDRESS FOR IMAGE - LD L,22 ; READ 22 SECTORS + LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE + LD L,SYS_SEC ; NUMBER OF SECTORS CALL $FFFD ; DO READ JR NZ,ERROR ; HANDLE ERROR CALL PRTDOT ; PROGRESS @@ -151,10 +154,10 @@ HEXASCII: HEXCONV: AND $0F ;LOW NIBBLE ONLY ADD A,$90 - DAA + DAA ADC A,$40 - DAA - RET + DAA + RET ; ERROR: LD DE,STR_ERR ; POINT TO ERROR STRING @@ -256,7 +259,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?) PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION -PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) +PR_LABEL .DB "CP/M 3.0$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) .DW 0 ; (2) DEPRECATED PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM diff --git a/Source/QPM/loader.asm b/Source/QPM/loader.asm index 6703e9aa..6df164ac 100644 --- a/Source/QPM/loader.asm +++ b/Source/QPM/loader.asm @@ -11,7 +11,7 @@ ; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE ; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES): ; -; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, +; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, ; PARTITION TABLE, AND BOOT SIGNATURE ; SECTOR 2: RESERVED ; SECTOR 3: METADATA @@ -29,6 +29,7 @@ ; SYS_ENT .EQU $E600 ; SYSTEM (OS) ENTRY POINT ADDRESS SYS_LOC .EQU $D000 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE +SYS_SEC .EQU 22 ; NUMBER OF SECTORS TO READ SYS_END .EQU $FE00 ; ENDING ADDRESS OF SYSTEM IMAGE ; SEC_SIZE .EQU 512 ; DISK SECTOR SIZE @@ -76,8 +77,8 @@ BOOT: CALL PRTDOT ; PROGRESS ; LD C,$42 ; UNA FUNC: READ SECTORS - LD DE,$D000 ; STARTING ADDRESS FOR IMAGE - LD L,22 ; READ 22 SECTORS + LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE + LD L,SYS_SEC ; NUMBER OF SECTORS CALL $FFFD ; DO READ JR NZ,ERROR ; HANDLE ERROR CALL PRTDOT ; PROGRESS @@ -147,10 +148,10 @@ HEXASCII: HEXCONV: AND $0F ;LOW NIBBLE ONLY ADD A,$90 - DAA + DAA ADC A,$40 - DAA - RET + DAA + RET ; ERROR: LD DE,STR_ERR ; POINT TO ERROR STRING @@ -252,7 +253,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?) PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION -PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) +PR_LABEL .DB "QP/M 2.7$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) .DW 0 ; (2) DEPRECATED PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM diff --git a/Source/ZPM3/loader.asm b/Source/ZPM3/loader.asm index 256a8a23..e7cf85b4 100644 --- a/Source/ZPM3/loader.asm +++ b/Source/ZPM3/loader.asm @@ -11,7 +11,7 @@ ; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE ; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES): ; -; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, +; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, ; PARTITION TABLE, AND BOOT SIGNATURE ; SECTOR 2: RESERVED ; SECTOR 3: METADATA @@ -31,6 +31,7 @@ ; THE SIZE OF ZPMLDR.BIN CHANGES, SYS_SIZ MUST BE UPDATED!!! ; SYS_SIZ .EQU $0F00 ; SIZE OF CPMLDR.BIN +SYS_SEC .EQU 8 ; NUMBER OF SECTORS TO READ SYS_ENT .EQU $0100 ; SYSTEM (OS) ENTRY POINT ADDRESS SYS_LOC .EQU $0100 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE SYS_END .EQU SYS_SIZ + SYS_LOC ; ENDING ADDRESS OF SYSTEM IMAGE @@ -57,6 +58,8 @@ PT_SIZ .EQU $40 ; THE FOLLOWING BOOTSTRAP CODE IS BUILT TO ASSUME IT WILL BE EXECUTED AT A STARTING ; ADDRESS OF $8000. THIS CODE IS *ONLY* FOR UNA. THE ROMWBW ROM BOOTLOADER ; USES THE METADATA TO LOAD THE OS DIRECTLY. +; +; UNA DOS NOT SUPPORT ZPM3 THIS CODE IS NOT USED, AND COULD BE REMOVED ; .ORG $8000 JR BOOT @@ -80,8 +83,8 @@ BOOT: CALL PRTDOT ; PROGRESS ; LD C,$42 ; UNA FUNC: READ SECTORS - LD DE,$D000 ; STARTING ADDRESS FOR IMAGE - LD L,22 ; READ 22 SECTORS + LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE + LD L,SYS_SEC ; NUMBER OF SECTORS CALL $FFFD ; DO READ JR NZ,ERROR ; HANDLE ERROR CALL PRTDOT ; PROGRESS @@ -151,10 +154,10 @@ HEXASCII: HEXCONV: AND $0F ;LOW NIBBLE ONLY ADD A,$90 - DAA + DAA ADC A,$40 - DAA - RET + DAA + RET ; ERROR: LD DE,STR_ERR ; POINT TO ERROR STRING @@ -256,7 +259,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?) PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION -PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) +PR_LABEL .DB "ZPM 3$$$$$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) .DW 0 ; (2) DEPRECATED PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM diff --git a/Source/ZSDOS/loader.asm b/Source/ZSDOS/loader.asm index 6703e9aa..543cb773 100644 --- a/Source/ZSDOS/loader.asm +++ b/Source/ZSDOS/loader.asm @@ -11,7 +11,7 @@ ; THE RETROBREW COMPUTING GROUP HAS BEEN USING A CONVENTION OF PREFIXING THE ; OS IMAGE WITH 3 SECTORS (512 BYTES X 3 FOR A TOTAL OF 1536 BYTES): ; -; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, +; SECTOR 1: IBM-PC STYLE BOOT BLOCK CONTAINING BOOTSTRAP, ; PARTITION TABLE, AND BOOT SIGNATURE ; SECTOR 2: RESERVED ; SECTOR 3: METADATA @@ -29,6 +29,7 @@ ; SYS_ENT .EQU $E600 ; SYSTEM (OS) ENTRY POINT ADDRESS SYS_LOC .EQU $D000 ; STARTING ADDRESS TO LOAD SYSTEM IMAGE +SYS_SEC .EQU 22 ; NUMBER OF SECTORS TO READ SYS_END .EQU $FE00 ; ENDING ADDRESS OF SYSTEM IMAGE ; SEC_SIZE .EQU 512 ; DISK SECTOR SIZE @@ -76,8 +77,8 @@ BOOT: CALL PRTDOT ; PROGRESS ; LD C,$42 ; UNA FUNC: READ SECTORS - LD DE,$D000 ; STARTING ADDRESS FOR IMAGE - LD L,22 ; READ 22 SECTORS + LD DE,SYS_LOC ; STARTING ADDRESS FOR IMAGE + LD L,SYS_SEC ; NUMBER OF SECTORS CALL $FFFD ; DO READ JR NZ,ERROR ; HANDLE ERROR CALL PRTDOT ; PROGRESS @@ -147,10 +148,10 @@ HEXASCII: HEXCONV: AND $0F ;LOW NIBBLE ONLY ADD A,$90 - DAA + DAA ADC A,$40 - DAA - RET + DAA + RET ; ERROR: LD DE,STR_ERR ; POINT TO ERROR STRING @@ -252,7 +253,7 @@ PR_SIG .DB $5A,$A5 ; SIGNATURE GOES HERE PR_WP .DB 0 ; (1) WRITE PROTECT BOOLEAN PR_UPDSEQ .DW 0 ; (2) PREFIX UPDATE SEQUENCE NUMBER (DEPRECATED?) PR_VER .DB RMJ,RMN,RUP,RTP ; (4) OS BUILD VERSION -PR_LABEL .DB "Unlabeled$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) +PR_LABEL .DB "ZSDOS 1.1$$$$$$$","$" ; (17) DISK LABEL (EXACTLY 16 BYTES!!!) .DW 0 ; (2) DEPRECATED PR_LDLOC .DW SYS_LOC ; (2) ADDRESS TO START LOADING SYSTEM PR_LDEND .DW SYS_END ; (2) ADDRESS TO STOP LOADING SYSTEM