Skip to content

Commit

Permalink
Added a Master compatible version (MAST130)
Browse files Browse the repository at this point in the history
Change-Id: If90a0921b8140604e46644c3ff91bf8bd9e410f7
  • Loading branch information
hoglet67 committed Dec 13, 2021
1 parent 5b9693e commit b034160
Show file tree
Hide file tree
Showing 5 changed files with 103 additions and 25 deletions.
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Acorn ADFS 1.0x / 1.3x - Release 003
# Acorn ADFS 1.0x / 1.3x - Release 004

## Summary

Expand All @@ -21,7 +21,7 @@ __src/top_ADFS130.asm__

__src/top_ADFS133.asm__

* My preferred Acorn ADFS build with IDE drivers for the Model B
* My preferred Acorn ADFS build with IDE drivers for the Model B
* includes most of JGH's v1.23 IDE Patch
* excludes the PRESERVE CONTEXT patch
* excludes the TUBE DELAY patch
Expand Down Expand Up @@ -69,33 +69,45 @@ __src/top_JGH133.asm__
* md5sum = 2be42f51899aded44607c5167d72e34d (will change)
* 0 bytes free

__src/top_MAST130.asm__

* Acorn ADFS 1.30 adapted for the Master register addresses
* preserves all padding and dead code
* contains HELP message: Advanced DFS 1.30
* md5sum = eba60d5fa071148444581bb65fb2d75b
* 0 bytes free

## Full build log
```
Blank build/adfs.ssd created
Building ADFS130...
code ends at &C000 ( 0 bytes free )
code ends at &C000 ( 0 bytes free )
mdsum is 831ee90ac5d49ba5507252faf0c12536 -
Building ADFS133...
code ends at &BF69 ( 151 bytes free )
code ends at &BF69 ( 151 bytes free )
mdsum is 802d9dff4964eef91f7aa43add0f1aa5 -
Building DC133...
code ends at &C000 ( 0 bytes free )
code ends at &C000 ( 0 bytes free )
mdsum is c7714bd93602fdc11d2cdaab4af03b07 -
Building ELK100...
code ends at &C000 ( 0 bytes free )
code ends at &C000 ( 0 bytes free )
mdsum is 883ab9513765f25d16277fce4a4581bc -
Building ELK103...
code ends at &BFF9 ( 7 bytes free )
code ends at &BFF9 ( 7 bytes free )
mdsum is da081bc503368cdb621e5d3f6588a968 -
Building JGH133...
code ends at &C000 ( 0 bytes free )
code ends at &C000 ( 0 bytes free )
mdsum is 2be42f51899aded44607c5167d72e34d -
Building MAST130...
code ends at &C000 ( 0 bytes free )
mdsum is eba60d5fa071148444581bb65fb2d75b -
Disk title: (1) Disk size: &320 - 200K
Boot Option: 0 (None) File count: 6
Boot Option: 0 (None) File count: 7
Filename: Lck Lo.add Ex.add Length Sct
$.MAST130 008000 008000 004000 182
$.JGH133 008000 008000 004000 142
$.ELK103 008000 008000 004000 102
$.ELK100 008000 008000 004000 0C2
Expand Down
24 changes: 24 additions & 0 deletions src/ADFS130.asm
Original file line number Diff line number Diff line change
Expand Up @@ -10612,8 +10612,32 @@ IF PLATFORM = PLAT_ELK

INCLUDE "floppy_electron.asm"

ELIF PLATFORM = PLAT_BBC

DS0SEL = $21
DS1SEL = $22
SIDESEL = $04

LFE80 = $FE80
LFE84 = $FE84
LFE85 = $FE85
LFE86 = $FE86
LFE87 = $FE87

INCLUDE "floppy_bbc.asm"

ELSE

DS0SEL = $05
DS1SEL = $06
SIDESEL = $10

LFE80 = $FE24
LFE84 = $FE28
LFE85 = $FE29
LFE86 = $FE2A
LFE87 = $FE2B

INCLUDE "floppy_bbc.asm"

ENDIF
Expand Down
4 changes: 2 additions & 2 deletions src/BUILD.asm
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
; Common build version, appended to help string
MACRO INSERT_BUILD_STR
EQUS "003"
ENDMACRO
EQUS "004"
ENDMACRO
22 changes: 8 additions & 14 deletions src/floppy_bbc.asm
Original file line number Diff line number Diff line change
@@ -1,9 +1,3 @@
LFE80 = $FE80
LFE84 = $FE84
LFE85 = $FE85
LFE86 = $FE86
LFE87 = $FE87

LFE30 = $FE30

.LBA00
Expand Down Expand Up @@ -88,11 +82,11 @@ LFE30 = $FE30
AND #$20
BNE LBA72

LDA #$21
LDA #DS0SEL
BNE LBA74

.LBA72
LDA #$22
LDA #DS1SEL
.LBA74
STA L0D5E
ROR L10E4
Expand Down Expand Up @@ -566,14 +560,14 @@ LFE30 = $FE30
IF PRESERVE_PADDING
;; TODO/FIX - how is this referenced?
LDA L0D5E
AND #$FB
AND #($FF-SIDESEL)
STA L0D5E
RTS
ENDIF

.LBD22
LDA L0D5E
ORA #$04
ORA #SIDESEL
STA L0D5E
RTS

Expand Down Expand Up @@ -830,7 +824,7 @@ ENDIF
BCC LBECF

LDA L0D5E
AND #$04
AND #SIDESEL
BEQ LBEBC

LDX #$00
Expand Down Expand Up @@ -905,11 +899,11 @@ ENDIF
AND #$20
BNE LBF23

LDA #$21
LDA #DS0SEL
BNE LBF25

.LBF23
LDA #$22
LDA #DS1SEL
.LBF25
STA L0D5E
ROR L10E4
Expand Down Expand Up @@ -1070,7 +1064,7 @@ ENDIF
LDY L00B1
AND #$7F
RTS

IF PRESERVE_PADDING
EQUS "and Hugo."
IF PATCH_IDE_JGH
Expand Down
48 changes: 48 additions & 0 deletions src/top_MAST130.asm
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
; Define platforms
PLAT_ELK = 1
PLAT_BBC = 2
PLAT_MASTER = 3
PLATFORM = PLAT_MASTER

; Optional ADFS patches
PATCH_IDE = FALSE ; replace SCSI drivers with IDE
PATCH_IDE_JGH = FALSE ; track JGH's latest IDE patch
PATCH_IDE_RESULTCODES = FALSE ; correct the result codes returned by IDE driver
PATCH_FULL_ACCESS = FALSE ; allow the E access bit to be removed
PATCH_INFO = FALSE ; show full info on directories
PATCH_UNSUPPORTED_OSFILE = FALSE ; fix corrupted A register in unsupported OSFILE
PATCH_PRESERVE_CONTEXT = FALSE ; preseve context (e.g. directory) over hard-break
PATCH_TUBE_DELAY = FALSE ; add additional delay to tube accesses for 6MHz 32016
PATCH_DATACENTRE = FALSE ; forward on to DataCentre OSWORD &76

; IO specific addresses
SCSI_IDE_BASE = $FC40
TUBE_BASE = $FEE0
VIA_BASE = $FE40

; Whether to preserve padding, for binary comparison with known versions
PRESERVE_PADDING = TRUE

; Version macros
MACRO INSERT_NAME_STR
EQUS "Acorn ADFS"
ENDMACRO
MACRO INSERT_COPYRIGHT_STR
EQUS "(C)1983 Acorn"
ENDMACRO
MACRO INSERT_VERSION_STR
EQUS "1.30"
ENDMACRO
MACRO INSERT_VERSION_BIN
EQUS $30
ENDMACRO
MACRO INSERT_HELP_STR
EQUS "Advanced DFS "
INSERT_VERSION_STR
ENDMACRO

; Note: this generates a version with the same md5sum as ADFS130
; released by Acorn: 831e831ee90ac5d49ba5507252faf0c12536

; Include common source file
include "ADFS130.asm"

0 comments on commit b034160

Please sign in to comment.