diff --git a/Level3/Binary Files/FS3-124 b/Level3/Binary Files/FS3-124 deleted file mode 100644 index 866b8a7..0000000 Binary files a/Level3/Binary Files/FS3-124 and /dev/null differ diff --git a/Level3/Binary Files/FS3-124.inf b/Level3/Binary Files/FS3-124.inf deleted file mode 100644 index 4545165..0000000 --- a/Level3/Binary Files/FS3-124.inf +++ /dev/null @@ -1 +0,0 @@ -$.FS3-124 00000400 00000400 diff --git a/Level3/Binary Files/Original binary/patched/FS3-124p b/Level3/Binary Files/FS3-124c similarity index 99% rename from Level3/Binary Files/Original binary/patched/FS3-124p rename to Level3/Binary Files/FS3-124c index 1c55181..9f86e20 100644 Binary files a/Level3/Binary Files/Original binary/patched/FS3-124p and b/Level3/Binary Files/FS3-124c differ diff --git a/Level3/Binary Files/FS3-124c.inf b/Level3/Binary Files/FS3-124c.inf new file mode 100644 index 0000000..a8a13a5 --- /dev/null +++ b/Level3/Binary Files/FS3-124c.inf @@ -0,0 +1 @@ +$.FS3-124c 00000400 00000400 000084BE 33 diff --git a/Level3/Binary Files/FS3-124d b/Level3/Binary Files/FS3-124d deleted file mode 100644 index 3dcc007..0000000 Binary files a/Level3/Binary Files/FS3-124d and /dev/null differ diff --git a/Level3/Binary Files/FS3-124d.INF b/Level3/Binary Files/FS3-124d.INF deleted file mode 100644 index 88983c2..0000000 --- a/Level3/Binary Files/FS3-124d.INF +++ /dev/null @@ -1 +0,0 @@ -FS3-124d 00000400 00000400 0000846A WR diff --git a/Level3/Binary Files/FS3-124dp b/Level3/Binary Files/FS3-124dp deleted file mode 100644 index 73bfa48..0000000 Binary files a/Level3/Binary Files/FS3-124dp and /dev/null differ diff --git a/Level3/Binary Files/FS3-124dp.inf b/Level3/Binary Files/FS3-124dp.inf deleted file mode 100644 index 31a18e1..0000000 --- a/Level3/Binary Files/FS3-124dp.inf +++ /dev/null @@ -1 +0,0 @@ -$.FS3-124dp 00000400 00000400 diff --git a/Level3/Binary Files/FS3-124p b/Level3/Binary Files/FS3-124p deleted file mode 100644 index 7d01711..0000000 Binary files a/Level3/Binary Files/FS3-124p and /dev/null differ diff --git a/Level3/Binary Files/FS3-124p.inf b/Level3/Binary Files/FS3-124p.inf deleted file mode 100644 index 29708cb..0000000 --- a/Level3/Binary Files/FS3-124p.inf +++ /dev/null @@ -1 +0,0 @@ -$.FS3-124p 00000400 00000400 diff --git a/Level3/Binary Files/Original binary/FS3-124 b/Level3/Binary Files/Original binary/FS3-124 deleted file mode 100644 index 73bfa48..0000000 Binary files a/Level3/Binary Files/Original binary/FS3-124 and /dev/null differ diff --git a/Level3/Binary Files/Original binary/FS3-124.INF b/Level3/Binary Files/Original binary/FS3-124.INF deleted file mode 100644 index 218f3d1..0000000 --- a/Level3/Binary Files/Original binary/FS3-124.INF +++ /dev/null @@ -1 +0,0 @@ -FS3-124 00000400 00000400 000084BE WR diff --git a/Level3/Binary Files/Original binary/patched/FS124.adl b/Level3/Binary Files/Original binary/patched/FS124.adl deleted file mode 100644 index be2e2cc..0000000 Binary files a/Level3/Binary Files/Original binary/patched/FS124.adl and /dev/null differ diff --git a/Level3/Binary Files/Original binary/patched/FS3-124p.INF b/Level3/Binary Files/Original binary/patched/FS3-124p.INF deleted file mode 100644 index 1ff7303..0000000 --- a/Level3/Binary Files/Original binary/patched/FS3-124p.INF +++ /dev/null @@ -1 +0,0 @@ -FS3-124p 00000400 00000400 000084BE WR diff --git a/Level3/Binary Files/Original binary/patched/PATCHFS b/Level3/Binary Files/PATCHFS similarity index 100% rename from Level3/Binary Files/Original binary/patched/PATCHFS rename to Level3/Binary Files/PATCHFS diff --git a/Level3/Binary Files/Original binary/patched/PATCHFS.INF b/Level3/Binary Files/PATCHFS.INF similarity index 100% rename from Level3/Binary Files/Original binary/patched/PATCHFS.INF rename to Level3/Binary Files/PATCHFS.INF diff --git a/Level3/Change Log.txt b/Level3/Change Log.txt index 8e6c4e9..d937b1e 100644 --- a/Level3/Change Log.txt +++ b/Level3/Change Log.txt @@ -1,5 +1,30 @@ -Version 1.24 +Version 1.24c +============= + +Date - unknown + +Clock hack to set the clock to 1/1/1984 at 12:30:00 + +Binary Files (* denotes the official ACORN released version) ============ + FS3-124c - Assembler options: DONGLE=1 (absent) + PATCHFS - The original BASIC program to patch the FS code + +Comments +======== +There was a patch program for v1.24 to simply set the clock and not use the RTC. +This has been incorporated into the code with an assembler directive CHACK. + +Changes (from v1.24) +==================== +Option for assembly with Clock Hack (file Uade01) +Code to fix the values and prevent updated from RTC (file Uade04) + + +------------------------------------------------------------------------------- + +Level3 Version 1.24 +=================== Date - estimated between Jun 87 and Feb 1988. @@ -11,20 +36,15 @@ include 1/2/12/15/26 June 1987, 1/9/24 July 1987, 8/18/24 Feb 1988 and Binary Files (* denotes the official ACORN released version) ============ - FS3-124 - Assembler options DONGLE absent, Pseudo directory symbols No - FS3-124d - Assembler options DONGLE present, Pseudo directory symbols No - FS3-124p - Assembler options DONGLE absent, Pseudo directory symbols Yes -* FS3-124dp - Assembler options DONGLE present, Pseudo directory symbols Yes + FS3-124 - Assembler options: DONGLE=1 (absent) +* FS3-124d - Assembler options: DONGLE=0 (present) Comments ======== This code has been created using the v1.31 source code. Within that code there are options for Lang English/Italian (added Feb 1987) and the Pseudo directory -symbols (%, &, @). Pseudo directory symbols were definately available in v1.24, -but as the comment for the switch option is dated 1988, it is possible that it -was hard coded and later modified to be an option at assembly time. The switch -has been left in. +symbols (%, &, @). Pseudo directory symbols were present in v1.24, but later a switch option was added and is not present in later versions. Changes (from v1.06) ==================== @@ -38,8 +58,8 @@ Pseudo directory symbols (%, &, @) ------------------------------------------------------------------------------- -Version 1.07 -============ +Level3 Version 1.07 +=================== Date - estimated about May 1987. Only one change comment dated 20/5/87 @@ -73,8 +93,8 @@ Dates are displayed as dd/mm/yy instead of dd:mm:yy (file Uade0E) ------------------------------------------------------------------------------- -Version 1.06 -============ +Level3 Version 1.06 +=================== Date - estimated about May 1987. Only one change comment dated 20/5/87 @@ -112,8 +132,8 @@ MAPMAN UTILS 2 ------------------------------------------------------------------------------- -Version 1.04 -============ +Level3 Version 1.04 +=================== Date - estimated sometime after June 1986. no dated comments after June 1986 @@ -148,8 +168,8 @@ DSCMAN ------------------------------------------------------------------------------- -Version 1.03 -============ +Level3 Version 1.03 +=================== Date - estimated about June 1986. Last comment was 5/6/86 @@ -179,8 +199,8 @@ DSCMAN ------------------------------------------------------------------------------- -Version 1.01 -============ +Level3 Version 1.01 +=================== Date - estimated about Jan 1986 @@ -292,8 +312,8 @@ COMMAND PROCESSOR ------------------------------------------------------------------------------- -Version 0.92 -============ +Level3 Version 0.92 +=================== Date - Dec 1998 @@ -323,17 +343,19 @@ Dates are displayed as dd/mm/yy instead of dd:mm:yy (file Uade0E) ------------------------------------------------------------------------------- -Version 0.90 Pre-Release IV.05 -============================== +Level3 Version 0.90 Pre-Release IV.05 +===================================== -Date - estimated. May-Oct 1985 (possibly 4 May from the pre-release version). +Date - estimated. May-Oct 1985 (possibly 4 May from the pre-release version). Two comments are dated after that date but with code included in the binary. The comments could have been added at a later date to already existing code or versions were kept the same but the code was different. That would date the code to Oct 1985. There are changes labelled 15/12/85 that are not in this binary. The assembler directive file FSASM has the comment updated by Glenn 8/5/85. - + Level3 File server was first included in the Technomatic advert in Acorn + User magazine issue of April 1985. + Binary Files (* denotes the official ACORN released version) ============ * FS3-090 - Dongle absent @@ -341,13 +363,13 @@ Binary Files (* denotes the official ACORN released version) Comments ======== -There are two Trace debug pieces of code in the final binary although the +There are two trace debug pieces of code in the final binary although the DEBUG directive is set to 0 (file Uade14) and the binary performs a simple RTS when it is called. There is also a version of the same code with the banner displaying BARSON COMPUTERS. Barson were one of Acorn's distributors in Australia and it looks -like the branding was probably done by hex editing the binary directly rather +like the branding was probably done by hex editing the binary directly rather than altering the code. Changes diff --git a/Level3/SRC/L3/MBBMCM.inf b/Level3/SRC/L3/MBBMCM.inf new file mode 100644 index 0000000..6d81170 --- /dev/null +++ b/Level3/SRC/L3/MBBMCM.inf @@ -0,0 +1 @@ +MBBMCM 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Rman01.inf b/Level3/SRC/L3/Rman01.inf new file mode 100644 index 0000000..b016e6c --- /dev/null +++ b/Level3/SRC/L3/Rman01.inf @@ -0,0 +1 @@ +Rman01 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Rman02.inf b/Level3/SRC/L3/Rman02.inf new file mode 100644 index 0000000..9dde4a5 --- /dev/null +++ b/Level3/SRC/L3/Rman02.inf @@ -0,0 +1 @@ +Rman02 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Rman03.inf b/Level3/SRC/L3/Rman03.inf new file mode 100644 index 0000000..bd36a4e --- /dev/null +++ b/Level3/SRC/L3/Rman03.inf @@ -0,0 +1 @@ +Rman03 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Rman04.inf b/Level3/SRC/L3/Rman04.inf new file mode 100644 index 0000000..9529677 --- /dev/null +++ b/Level3/SRC/L3/Rman04.inf @@ -0,0 +1 @@ +Rman04 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Rman05.inf b/Level3/SRC/L3/Rman05.inf new file mode 100644 index 0000000..2db41e4 --- /dev/null +++ b/Level3/SRC/L3/Rman05.inf @@ -0,0 +1 @@ +Rman05 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade01 b/Level3/SRC/L3/Uade01 index 038bc68..8bb1433 100644 --- a/Level3/SRC/L3/Uade01 +++ b/Level3/SRC/L3/Uade01 @@ -57,16 +57,17 @@ Sys * &FF ;flags to indicate which type of FS Ztime * &FF FS * &FF Dongle * 0 ;Real Time Clock present(=0) absent(=1) +CHACK * 1 ; no(=0) Apply the Clock Hack Patch (=1) Debug * 0 ;Make this +ve for debug letters Verla * "2" ;Version level .... two digits Verlb * "4" ;Range 0-99 + Lang * English Mask * &3F ;protection state (&3F for service system) Yes * 0 No * &FFFF -Pseudods * Yes ; **18/2/88** Pseudo-directory (%, &, @) switch ;*** MODULE CODE NAMES *** diff --git a/Level3/SRC/L3/Uade01.inf b/Level3/SRC/L3/Uade01.inf new file mode 100644 index 0000000..9f3a39b --- /dev/null +++ b/Level3/SRC/L3/Uade01.inf @@ -0,0 +1 @@ +Uade01 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade02 b/Level3/SRC/L3/Uade02 index 6eee948..c2d7e89 100644 --- a/Level3/SRC/L3/Uade02 +++ b/Level3/SRC/L3/Uade02 @@ -119,9 +119,7 @@ UTUSID # MAXUNM+1 ;START OF USERID UTDISC # 2 ;CURRENTLY SELECTED DISC NUMBER UTPRIV # 1 ;SYSTEM PRIVILEGE & INUSE FLAG UTHSLD # 1 ;HANDLE FOR SELECTED DIR - [ Pseudods = Yes UTHUFD # 1 ;**26/6/87** handle for logon directory - ] UTHNDB # 1 ;BYTE INDICATING HANDLES IN USE PER MC UTFREE # UTFRLN ;User disc space allocation ** 2/10/84 ** UTENSZ * @ ;SIZE OF A USERTB ENTRY diff --git a/Level3/SRC/L3/Uade02.inf b/Level3/SRC/L3/Uade02.inf new file mode 100644 index 0000000..aa8b214 --- /dev/null +++ b/Level3/SRC/L3/Uade02.inf @@ -0,0 +1 @@ +Uade02 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade03.inf b/Level3/SRC/L3/Uade03.inf new file mode 100644 index 0000000..75ad55c --- /dev/null +++ b/Level3/SRC/L3/Uade03.inf @@ -0,0 +1 @@ +Uade03 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade04 b/Level3/SRC/L3/Uade04 index 0336d42..e69a09f 100644 --- a/Level3/SRC/L3/Uade04 +++ b/Level3/SRC/L3/Uade04 @@ -822,7 +822,12 @@ SETYR ASLA SETTME ROUT + [ CHACK = 1 + RTS ; REM STOP CLOCK READ + = :LSB:MUNTHS, :MSB:MUNTHS ; fill + | LDA MUNTHS + ] LSRA LSRA LSRA @@ -919,7 +924,21 @@ PRTIM2 JSR DWIND ;set up window JMP MWIND ;reset window and return RTC ;check that the read time clock is present - + [ CHACK = 1 + LDAIM 30 + STA &8A94 ; \MINUTES + LDAIM 12 + STA &8A95 ; \HOURS + LDAIM 1 + STA &8A7E ; \DAY + STA &8A96 ; \.. + LDAIM &31 + STA &8A7F ; \high nibble = YEAR FROM 1981, low nibble = MONTH + STA &8A97 ; \.. + LDAIM 0 ; \ensure clock test passed + STA &8A93 ; \SECONDS +RTCX RTS + | LDXIM 7 LDAIM &71 JSR #95 ;write the minutes alarm register @@ -937,10 +956,15 @@ RTC ;check that the read time clock is present JSR #00 ;read result CMPIM 0 RTCX RTS ;returns EQ if dongle present - + ] + RDDONG - + [ CHACK = 1 + RTS + = 6 ; REM STOP CLOCK READ + | LDXIM 6 ;read minutes + ] JSR #00 JSR #70 STA MINS diff --git a/Level3/SRC/L3/Uade04.inf b/Level3/SRC/L3/Uade04.inf new file mode 100644 index 0000000..7ed628c --- /dev/null +++ b/Level3/SRC/L3/Uade04.inf @@ -0,0 +1 @@ +Uade04 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade05.inf b/Level3/SRC/L3/Uade05.inf new file mode 100644 index 0000000..5b24bd2 --- /dev/null +++ b/Level3/SRC/L3/Uade05.inf @@ -0,0 +1 @@ +Uade05 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade06 b/Level3/SRC/L3/Uade06 index 7832dda..0468312 100644 --- a/Level3/SRC/L3/Uade06 +++ b/Level3/SRC/L3/Uade06 @@ -913,10 +913,8 @@ MAKHDS ROUT BNE #20 STA UMHUFD ;make this the handle for the UFD - [ Pseudods = Yes LDYIM UTHUFD ;**26/6/87** and store in user table STAIY USTPTR - ] JSR OPEN ;now get a handle for selected dir BEQ #10 diff --git a/Level3/SRC/L3/Uade06.inf b/Level3/SRC/L3/Uade06.inf new file mode 100644 index 0000000..1ab92fe --- /dev/null +++ b/Level3/SRC/L3/Uade06.inf @@ -0,0 +1 @@ +Uade06 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0A.inf b/Level3/SRC/L3/Uade0A.inf new file mode 100644 index 0000000..e0d4998 --- /dev/null +++ b/Level3/SRC/L3/Uade0A.inf @@ -0,0 +1 @@ +Uade0A 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0B.inf b/Level3/SRC/L3/Uade0B.inf new file mode 100644 index 0000000..6f7cf07 --- /dev/null +++ b/Level3/SRC/L3/Uade0B.inf @@ -0,0 +1 @@ +Uade0B 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0C b/Level3/SRC/L3/Uade0C index ede604e..f981f29 100644 --- a/Level3/SRC/L3/Uade0C +++ b/Level3/SRC/L3/Uade0C @@ -202,7 +202,6 @@ DRRET2 LDYIM ARGH BPL #22 BMI #05 ;**23/1/87** complete info entry a la root - [ Pseudods = Yes 25 LDYIM 1 ;**20/5/87** check lone pseudo-directory LDAIY NAMPTR CMPIM TERMIN @@ -213,9 +212,6 @@ DRRET2 LDYIM ARGH BNE #27 JSR LOADDR ;**20/5/87** load directory BNE #60 - | -25 BNE #27 - ] 26 JSR UNLOCK JMP #21 ;**20/5/87** go update details @@ -520,14 +516,12 @@ DRCRDR ROUT JSR UNLOCK ;release parent pro tem JSR TSTPAR ;prohibit new name of "^" BEQ #50 - [ Pseudods = Yes LDYIM 0 ;**20/5/87** prohibit new names of "&", "%", "@" LDAIY NAMPTR JSR Testpd BNE #15 JSR TSTTER BEQ #50 - ] 15 LDYIM ARGG LDAIY ARGPTR STA DIRWC ;**24/7/87** get wild card flag again diff --git a/Level3/SRC/L3/Uade0C.inf b/Level3/SRC/L3/Uade0C.inf new file mode 100644 index 0000000..b44636c --- /dev/null +++ b/Level3/SRC/L3/Uade0C.inf @@ -0,0 +1 @@ +Uade0C 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0D b/Level3/SRC/L3/Uade0D index cb3b454..06deb50 100644 --- a/Level3/SRC/L3/Uade0D +++ b/Level3/SRC/L3/Uade0D @@ -421,12 +421,10 @@ INITDV ROUT INY LDAIY NAMPTR ;**20/5/87** disc name, must prohibit "^","&", "%" CMPIM "^" ;**20/5/87** as these have a disc name implied - [ Pseudods = Yes BEQ #15 CMPIM "&" BEQ #15 CMPIM "%" - ] BNE #40 15 INY LDAIY NAMPTR ;**20/5/87** check single char names only @@ -523,13 +521,11 @@ INITDV ROUT ;LOOK UP ACCESS, DISC NUMBER, & SIN OF SELECTED DIR - [ Pseudods = Yes 72 LDA UMHUFD ;**20/5/87** "&", get ufd JMP #78 74 LDA UMHLIB ;**20/5/87** "%", get lib JMP #78 - ] 75 INY ;**20/5/87** check pseudo-directory names LDAIY NAMPTR ;**20/5/87** single char only @@ -541,12 +537,10 @@ INITDV ROUT LDAIY NAMPTR CMPIM "^" ;**20/5/87** parent directory BEQ #85 - [ Pseudods = Yes CMPIM "&" ;**20/5/87** ufd BEQ #72 CMPIM "%" ;**20/5/87** lib BEQ #74 - ] 77 LDYIM UTHSLD ;OFFSET OF HANDLE FOR SELECTED DIR LDAIY DRUSIN ;A:=HANDLE FOR SELECTED DIR 78 JSR FNDHND ;FIND HANDLE IN HANDTB @@ -1245,14 +1239,12 @@ TSTPAR ;**23/1/87** TESTPD ROUT ;**2/6/87** test pseudo-directory name CMPIM "^" - [ Pseudods = Yes BEQ #10 CMPIM "&" BEQ #10 CMPIM "%" BEQ #10 CMPIM "@" - ] 10 RTS TSTOWN ROUT diff --git a/Level3/SRC/L3/Uade0D.inf b/Level3/SRC/L3/Uade0D.inf new file mode 100644 index 0000000..4598436 --- /dev/null +++ b/Level3/SRC/L3/Uade0D.inf @@ -0,0 +1 @@ +Uade0D 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0E.inf b/Level3/SRC/L3/Uade0E.inf new file mode 100644 index 0000000..da410b4 --- /dev/null +++ b/Level3/SRC/L3/Uade0E.inf @@ -0,0 +1 @@ +Uade0E 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade0F.inf b/Level3/SRC/L3/Uade0F.inf new file mode 100644 index 0000000..e798ce6 --- /dev/null +++ b/Level3/SRC/L3/Uade0F.inf @@ -0,0 +1 @@ +Uade0F 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade10.inf b/Level3/SRC/L3/Uade10.inf new file mode 100644 index 0000000..fb2b735 --- /dev/null +++ b/Level3/SRC/L3/Uade10.inf @@ -0,0 +1 @@ +Uade10 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade11.inf b/Level3/SRC/L3/Uade11.inf new file mode 100644 index 0000000..12e9a68 --- /dev/null +++ b/Level3/SRC/L3/Uade11.inf @@ -0,0 +1 @@ +Uade11 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade12.inf b/Level3/SRC/L3/Uade12.inf new file mode 100644 index 0000000..bd48978 --- /dev/null +++ b/Level3/SRC/L3/Uade12.inf @@ -0,0 +1 @@ +Uade12 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade13.inf b/Level3/SRC/L3/Uade13.inf new file mode 100644 index 0000000..4e01c3a --- /dev/null +++ b/Level3/SRC/L3/Uade13.inf @@ -0,0 +1 @@ +Uade13 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade14.inf b/Level3/SRC/L3/Uade14.inf new file mode 100644 index 0000000..3f33088 --- /dev/null +++ b/Level3/SRC/L3/Uade14.inf @@ -0,0 +1 @@ +Uade14 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade15.inf b/Level3/SRC/L3/Uade15.inf new file mode 100644 index 0000000..ec18cde --- /dev/null +++ b/Level3/SRC/L3/Uade15.inf @@ -0,0 +1 @@ +Uade15 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade16 b/Level3/SRC/L3/Uade16 index f9f41de..b35c0d9 100644 --- a/Level3/SRC/L3/Uade16 +++ b/Level3/SRC/L3/Uade16 @@ -377,11 +377,9 @@ LOAD ROUT JSR GETUSE ;Get user info. using FINDMC BNE #17 ;Fail, exit - [ Pseudods = Yes LDYIM UTHUFD ;**1/7/87** fix up user root directory LDAIY USTPTR STA UMHUFD - ] JSR LDRETR ;Do retrieve BEQ #20 ;OK, continue diff --git a/Level3/SRC/L3/Uade16.inf b/Level3/SRC/L3/Uade16.inf new file mode 100644 index 0000000..7e426ea --- /dev/null +++ b/Level3/SRC/L3/Uade16.inf @@ -0,0 +1 @@ +Uade16 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade17.inf b/Level3/SRC/L3/Uade17.inf new file mode 100644 index 0000000..27995da --- /dev/null +++ b/Level3/SRC/L3/Uade17.inf @@ -0,0 +1 @@ +Uade17 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade18.inf b/Level3/SRC/L3/Uade18.inf new file mode 100644 index 0000000..72e827f --- /dev/null +++ b/Level3/SRC/L3/Uade18.inf @@ -0,0 +1 @@ +Uade18 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade19.inf b/Level3/SRC/L3/Uade19.inf new file mode 100644 index 0000000..3ce44da --- /dev/null +++ b/Level3/SRC/L3/Uade19.inf @@ -0,0 +1 @@ +Uade19 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/Uade20.inf b/Level3/SRC/L3/Uade20.inf new file mode 100644 index 0000000..745ffe0 --- /dev/null +++ b/Level3/SRC/L3/Uade20.inf @@ -0,0 +1 @@ +Uade20 00 00 00 19 \ No newline at end of file diff --git a/Level3/SRC/L3/X/MBBMCM b/Level3/SRC/L3/X/MBBMCM new file mode 100644 index 0000000..5ceb2f1 Binary files /dev/null and b/Level3/SRC/L3/X/MBBMCM differ diff --git a/Level3/SRC/L3/X/MBBMCM.inf b/Level3/SRC/L3/X/MBBMCM.inf new file mode 100644 index 0000000..33e8a8e --- /dev/null +++ b/Level3/SRC/L3/X/MBBMCM.inf @@ -0,0 +1 @@ +$.MBBMCM 00005F2E 00005F2E 00000482 33 diff --git a/Level3/SRC/L3/X/RMAN01 b/Level3/SRC/L3/X/RMAN01 new file mode 100644 index 0000000..3ada258 Binary files /dev/null and b/Level3/SRC/L3/X/RMAN01 differ diff --git a/Level3/SRC/L3/X/RMAN01.inf b/Level3/SRC/L3/X/RMAN01.inf new file mode 100644 index 0000000..6c89c41 --- /dev/null +++ b/Level3/SRC/L3/X/RMAN01.inf @@ -0,0 +1 @@ +$.RMAN01 0000178F 0000178F 000002BB 33 diff --git a/Level3/SRC/L3/X/RMAN02 b/Level3/SRC/L3/X/RMAN02 new file mode 100644 index 0000000..b8a33e3 Binary files /dev/null and b/Level3/SRC/L3/X/RMAN02 differ diff --git a/Level3/SRC/L3/X/RMAN02.inf b/Level3/SRC/L3/X/RMAN02.inf new file mode 100644 index 0000000..44f2a89 --- /dev/null +++ b/Level3/SRC/L3/X/RMAN02.inf @@ -0,0 +1 @@ +$.RMAN02 00001A4A 00001A4A 0000038D 33 diff --git a/Level3/SRC/L3/X/RMAN03 b/Level3/SRC/L3/X/RMAN03 new file mode 100644 index 0000000..2a1c402 Binary files /dev/null and b/Level3/SRC/L3/X/RMAN03 differ diff --git a/Level3/SRC/L3/X/RMAN03.inf b/Level3/SRC/L3/X/RMAN03.inf new file mode 100644 index 0000000..0d3ccce --- /dev/null +++ b/Level3/SRC/L3/X/RMAN03.inf @@ -0,0 +1 @@ +$.RMAN03 00001DD7 00001DD7 00000121 33 diff --git a/Level3/SRC/L3/X/RMAN04 b/Level3/SRC/L3/X/RMAN04 new file mode 100644 index 0000000..bf7056c Binary files /dev/null and b/Level3/SRC/L3/X/RMAN04 differ diff --git a/Level3/SRC/L3/X/RMAN04.inf b/Level3/SRC/L3/X/RMAN04.inf new file mode 100644 index 0000000..e13594b --- /dev/null +++ b/Level3/SRC/L3/X/RMAN04.inf @@ -0,0 +1 @@ +$.RMAN04 00001EF8 00001EF8 000002E1 33 diff --git a/Level3/SRC/L3/X/RMAN05 b/Level3/SRC/L3/X/RMAN05 new file mode 100644 index 0000000..37d842c Binary files /dev/null and b/Level3/SRC/L3/X/RMAN05 differ diff --git a/Level3/SRC/L3/X/RMAN05.inf b/Level3/SRC/L3/X/RMAN05.inf new file mode 100644 index 0000000..928fb5e --- /dev/null +++ b/Level3/SRC/L3/X/RMAN05.inf @@ -0,0 +1 @@ +$.RMAN05 000021D9 000021D9 000000FB 33 diff --git a/Level3/SRC/L3/X/UADE03 b/Level3/SRC/L3/X/UADE03 new file mode 100644 index 0000000..61e1c27 Binary files /dev/null and b/Level3/SRC/L3/X/UADE03 differ diff --git a/Level3/SRC/L3/X/UADE03.inf b/Level3/SRC/L3/X/UADE03.inf new file mode 100644 index 0000000..f0025bf --- /dev/null +++ b/Level3/SRC/L3/X/UADE03.inf @@ -0,0 +1 @@ +$.UADE03 00000400 00000400 000006A7 33 diff --git a/Level3/SRC/L3/X/UADE04 b/Level3/SRC/L3/X/UADE04 new file mode 100644 index 0000000..fc03a47 Binary files /dev/null and b/Level3/SRC/L3/X/UADE04 differ diff --git a/Level3/SRC/L3/X/UADE04.inf b/Level3/SRC/L3/X/UADE04.inf new file mode 100644 index 0000000..2581f25 --- /dev/null +++ b/Level3/SRC/L3/X/UADE04.inf @@ -0,0 +1 @@ +$.UADE04 00000AA7 00000AA7 000005C4 33 diff --git a/Level3/SRC/L3/X/UADE05 b/Level3/SRC/L3/X/UADE05 new file mode 100644 index 0000000..1b8fbba Binary files /dev/null and b/Level3/SRC/L3/X/UADE05 differ diff --git a/Level3/SRC/L3/X/UADE05.inf b/Level3/SRC/L3/X/UADE05.inf new file mode 100644 index 0000000..777f1f5 --- /dev/null +++ b/Level3/SRC/L3/X/UADE05.inf @@ -0,0 +1 @@ +$.UADE05 0000106B 0000106B 000000E0 33 diff --git a/Level3/SRC/L3/X/UADE06 b/Level3/SRC/L3/X/UADE06 new file mode 100644 index 0000000..08bd421 Binary files /dev/null and b/Level3/SRC/L3/X/UADE06 differ diff --git a/Level3/SRC/L3/X/UADE06.inf b/Level3/SRC/L3/X/UADE06.inf new file mode 100644 index 0000000..3363966 --- /dev/null +++ b/Level3/SRC/L3/X/UADE06.inf @@ -0,0 +1 @@ +$.UADE06 0000114B 0000114B 00000644 33 diff --git a/Level3/SRC/L3/X/UADE0A b/Level3/SRC/L3/X/UADE0A new file mode 100644 index 0000000..49403e9 Binary files /dev/null and b/Level3/SRC/L3/X/UADE0A differ diff --git a/Level3/SRC/L3/X/UADE0A.inf b/Level3/SRC/L3/X/UADE0A.inf new file mode 100644 index 0000000..abec1bb --- /dev/null +++ b/Level3/SRC/L3/X/UADE0A.inf @@ -0,0 +1 @@ +$.UADE0A 000022D4 000022D4 0000025C 33 diff --git a/Level3/SRC/L3/X/UADE0B b/Level3/SRC/L3/X/UADE0B new file mode 100644 index 0000000..f1cfa6b Binary files /dev/null and b/Level3/SRC/L3/X/UADE0B differ diff --git a/Level3/SRC/L3/X/UADE0B.inf b/Level3/SRC/L3/X/UADE0B.inf new file mode 100644 index 0000000..0fdc6f1 --- /dev/null +++ b/Level3/SRC/L3/X/UADE0B.inf @@ -0,0 +1 @@ +$.UADE0B 00002530 00002530 00000425 33 diff --git a/Level3/SRC/L3/X/UADE0C b/Level3/SRC/L3/X/UADE0C new file mode 100644 index 0000000..66621da Binary files /dev/null and b/Level3/SRC/L3/X/UADE0C differ diff --git a/Level3/SRC/L3/X/UADE0C.inf b/Level3/SRC/L3/X/UADE0C.inf new file mode 100644 index 0000000..f208762 --- /dev/null +++ b/Level3/SRC/L3/X/UADE0C.inf @@ -0,0 +1 @@ +$.UADE0C 00002955 00002955 0000047E 33 diff --git a/Level3/SRC/L3/X/UADE0D b/Level3/SRC/L3/X/UADE0D new file mode 100644 index 0000000..71fcef4 Binary files /dev/null and b/Level3/SRC/L3/X/UADE0D differ diff --git a/Level3/SRC/L3/X/UADE0D.inf b/Level3/SRC/L3/X/UADE0D.inf new file mode 100644 index 0000000..af96082 --- /dev/null +++ b/Level3/SRC/L3/X/UADE0D.inf @@ -0,0 +1 @@ +$.UADE0D 00002DD3 00002DD3 00000783 33 diff --git a/Level3/SRC/L3/X/UADE0E b/Level3/SRC/L3/X/UADE0E new file mode 100644 index 0000000..53ed0b8 Binary files /dev/null and b/Level3/SRC/L3/X/UADE0E differ diff --git a/Level3/SRC/L3/X/UADE0E.inf b/Level3/SRC/L3/X/UADE0E.inf new file mode 100644 index 0000000..54eef7f --- /dev/null +++ b/Level3/SRC/L3/X/UADE0E.inf @@ -0,0 +1 @@ +$.UADE0E 00003556 00003556 000005F4 33 diff --git a/Level3/SRC/L3/X/UADE0F b/Level3/SRC/L3/X/UADE0F new file mode 100644 index 0000000..0ef0718 Binary files /dev/null and b/Level3/SRC/L3/X/UADE0F differ diff --git a/Level3/SRC/L3/X/UADE0F.inf b/Level3/SRC/L3/X/UADE0F.inf new file mode 100644 index 0000000..1fa2785 --- /dev/null +++ b/Level3/SRC/L3/X/UADE0F.inf @@ -0,0 +1 @@ +$.UADE0F 00003B4A 00003B4A 00000657 33 diff --git a/Level3/SRC/L3/X/UADE10 b/Level3/SRC/L3/X/UADE10 new file mode 100644 index 0000000..9980496 Binary files /dev/null and b/Level3/SRC/L3/X/UADE10 differ diff --git a/Level3/SRC/L3/X/UADE10.inf b/Level3/SRC/L3/X/UADE10.inf new file mode 100644 index 0000000..151c1da --- /dev/null +++ b/Level3/SRC/L3/X/UADE10.inf @@ -0,0 +1 @@ +$.UADE10 000041A1 000041A1 00000789 33 diff --git a/Level3/SRC/L3/X/UADE11 b/Level3/SRC/L3/X/UADE11 new file mode 100644 index 0000000..f6bd2f1 Binary files /dev/null and b/Level3/SRC/L3/X/UADE11 differ diff --git a/Level3/SRC/L3/X/UADE11.inf b/Level3/SRC/L3/X/UADE11.inf new file mode 100644 index 0000000..55f4654 --- /dev/null +++ b/Level3/SRC/L3/X/UADE11.inf @@ -0,0 +1 @@ +$.UADE11 0000492A 0000492A 0000076A 33 diff --git a/Level3/SRC/L3/X/UADE12 b/Level3/SRC/L3/X/UADE12 new file mode 100644 index 0000000..1949833 Binary files /dev/null and b/Level3/SRC/L3/X/UADE12 differ diff --git a/Level3/SRC/L3/X/UADE12.inf b/Level3/SRC/L3/X/UADE12.inf new file mode 100644 index 0000000..91dc797 --- /dev/null +++ b/Level3/SRC/L3/X/UADE12.inf @@ -0,0 +1 @@ +$.UADE12 00005094 00005094 00000860 33 diff --git a/Level3/SRC/L3/X/UADE13 b/Level3/SRC/L3/X/UADE13 new file mode 100644 index 0000000..70c2c17 Binary files /dev/null and b/Level3/SRC/L3/X/UADE13 differ diff --git a/Level3/SRC/L3/X/UADE13.inf b/Level3/SRC/L3/X/UADE13.inf new file mode 100644 index 0000000..91ba2ae --- /dev/null +++ b/Level3/SRC/L3/X/UADE13.inf @@ -0,0 +1 @@ +$.UADE13 000058F4 000058F4 0000063A 33 diff --git a/Level3/SRC/L3/X/UADE14 b/Level3/SRC/L3/X/UADE14 new file mode 100644 index 0000000..552d78c Binary files /dev/null and b/Level3/SRC/L3/X/UADE14 differ diff --git a/Level3/SRC/L3/X/UADE14.inf b/Level3/SRC/L3/X/UADE14.inf new file mode 100644 index 0000000..999ad77 --- /dev/null +++ b/Level3/SRC/L3/X/UADE14.inf @@ -0,0 +1 @@ +$.UADE14 000063B0 000063B0 00000444 33 diff --git a/Level3/SRC/L3/X/UADE15 b/Level3/SRC/L3/X/UADE15 new file mode 100644 index 0000000..2d840ab Binary files /dev/null and b/Level3/SRC/L3/X/UADE15 differ diff --git a/Level3/SRC/L3/X/UADE15.inf b/Level3/SRC/L3/X/UADE15.inf new file mode 100644 index 0000000..014a952 --- /dev/null +++ b/Level3/SRC/L3/X/UADE15.inf @@ -0,0 +1 @@ +$.UADE15 000067F4 000067F4 00000595 33 diff --git a/Level3/SRC/L3/X/UADE16 b/Level3/SRC/L3/X/UADE16 new file mode 100644 index 0000000..fc0a8e6 Binary files /dev/null and b/Level3/SRC/L3/X/UADE16 differ diff --git a/Level3/SRC/L3/X/UADE16.inf b/Level3/SRC/L3/X/UADE16.inf new file mode 100644 index 0000000..e3530e2 --- /dev/null +++ b/Level3/SRC/L3/X/UADE16.inf @@ -0,0 +1 @@ +$.UADE16 00006D89 00006D89 0000050B 33 diff --git a/Level3/SRC/L3/X/UADE17 b/Level3/SRC/L3/X/UADE17 new file mode 100644 index 0000000..41016fc Binary files /dev/null and b/Level3/SRC/L3/X/UADE17 differ diff --git a/Level3/SRC/L3/X/UADE17.inf b/Level3/SRC/L3/X/UADE17.inf new file mode 100644 index 0000000..7e069b6 --- /dev/null +++ b/Level3/SRC/L3/X/UADE17.inf @@ -0,0 +1 @@ +$.UADE17 00007294 00007294 00000641 33 diff --git a/Level3/SRC/L3/X/UADE18 b/Level3/SRC/L3/X/UADE18 new file mode 100644 index 0000000..b461d24 Binary files /dev/null and b/Level3/SRC/L3/X/UADE18 differ diff --git a/Level3/SRC/L3/X/UADE18.inf b/Level3/SRC/L3/X/UADE18.inf new file mode 100644 index 0000000..ab9f684 --- /dev/null +++ b/Level3/SRC/L3/X/UADE18.inf @@ -0,0 +1 @@ +$.UADE18 000078D5 000078D5 000004CF 33 diff --git a/Level3/SRC/L3/X/UADE19 b/Level3/SRC/L3/X/UADE19 new file mode 100644 index 0000000..f000731 Binary files /dev/null and b/Level3/SRC/L3/X/UADE19 differ diff --git a/Level3/SRC/L3/X/UADE19.inf b/Level3/SRC/L3/X/UADE19.inf new file mode 100644 index 0000000..03ede35 --- /dev/null +++ b/Level3/SRC/L3/X/UADE19.inf @@ -0,0 +1 @@ +$.UADE19 00007DA4 00007DA4 000003C2 33 diff --git a/Level3/SRC/L3/X/UADE20 b/Level3/SRC/L3/X/UADE20 new file mode 100644 index 0000000..749703c Binary files /dev/null and b/Level3/SRC/L3/X/UADE20 differ diff --git a/Level3/SRC/L3/X/UADE20.inf b/Level3/SRC/L3/X/UADE20.inf new file mode 100644 index 0000000..387b87d --- /dev/null +++ b/Level3/SRC/L3/X/UADE20.inf @@ -0,0 +1 @@ +$.UADE20 00008166 00008166 00000758 33 diff --git a/Level3/SRC/README b/Level3/SRC/README index b78bad8..dd3f168 100644 Binary files a/Level3/SRC/README and b/Level3/SRC/README differ diff --git a/Level3/SRC/README.INF b/Level3/SRC/README.INF index 32ed433..a0f9863 100644 --- a/Level3/SRC/README.INF +++ b/Level3/SRC/README.INF @@ -1 +1 @@ -README 00000000 00000000 000009FE WR +README FFFFFF59 18948126 00000907 19 CRC32=6EFA0E6D \ No newline at end of file diff --git a/Level3/SRC/patch/PATCHFS b/Level3/SRC/patch/PATCHFS new file mode 100644 index 0000000..cedd327 Binary files /dev/null and b/Level3/SRC/patch/PATCHFS differ diff --git a/Level3/SRC/patch/PATCHFS.INF b/Level3/SRC/patch/PATCHFS.INF new file mode 100644 index 0000000..0f20f4e --- /dev/null +++ b/Level3/SRC/patch/PATCHFS.INF @@ -0,0 +1 @@ +PATCHFS 00000800 00000800 0000027B WR diff --git a/Level3/adfs/Level3-124bin.adl b/Level3/adfs/Level3-124cbin.adl similarity index 94% rename from Level3/adfs/Level3-124bin.adl rename to Level3/adfs/Level3-124cbin.adl index 0934bd6..39258c7 100644 Binary files a/Level3/adfs/Level3-124bin.adl and b/Level3/adfs/Level3-124cbin.adl differ diff --git a/Level3/adfs/Level3-124src.adl b/Level3/adfs/Level3-124csrc.adl similarity index 95% rename from Level3/adfs/Level3-124src.adl rename to Level3/adfs/Level3-124csrc.adl index 8d9fd76..1e971d4 100644 Binary files a/Level3/adfs/Level3-124src.adl and b/Level3/adfs/Level3-124csrc.adl differ diff --git a/README.md b/README.md index 5e04341..5be53d1 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,26 @@ -Notes on Level3, Source Code and versions -============================================ +Notes on Level3 and FileStore source code and versions +====================================================== -The goal of this project was to use the Level3 1.06 source code, Level3 1.31 souce code and the FileStore 1.31 source code to recreate source code for all the different known binaries. This was to identify precisely what changes were made between the version releases as no known documentation is available. +The goal of this project is to use the Acorn Fileserver Level3 1.06 source code, Level3 1.31 souce code and the FileStore 1.31 source code to recreate source code for all the different known binaries. This will help to identify precisely what changes were made between the version releases as no known documentation is available. -The source code for v1.06 is thought to be the original and creates a binary identical to an orginal 1.06 disk set albeit without the serial number. The file set on the disc had been updated to assemble on an Archimedes under the 6502 Turbo Co-Processor emulator at some point - most likely at Acorn. +The source code for v1.06 is thought to be the original and creates a binary identical to an orginal 1.06 disk set albeit without the serial number. Assembling the source code appears to have originally been done on a BBC Micro with 256K Turbo co-processor and updated to assemble on an Archimedes under the 6502 Turbo Co-Processor emulator at some point - most likely at Acorn. The FileStore 1.31 source code did not contain the MOS part of the ROM, only the Fileserver code. On examination it was clear this was a derivative work of the Level3 source code. The source code for the versions 0.90, 0.92, 1.01, 1.03, 1.04 have been recreated using the v1.06 source code and the individual binaries. -v1.06 stayed the same as the binary was identical to that produced from the source. It was found the binary for v1.07 was produced from the v1.06 source code but the dongle directive was set to present. This should not result in a different version number. +No changes were needed to the v1.06 souce code as it produced a binary identical to the original. It was found the binary for v1.07 was produced from the v1.06 source code but the dongle directive was set to present. This should not have resulted in a different version number and it is interesting that a binary without protection but with a valid serial number was "in the wild". -All the binaries are dated (C)1984 and this is probably left over from the Level2 code. There were several comments with dates in the source code which enabled recreation of an approximate time line and further understanding of the versions. Dates of the code versions have been estimated using the dates on source code comments. +All the binaries to v1.07 are dated (C)1984 and this is probably left over from the Level2 code. There were several comments with dates in the source code which enabled recreation of an approximate time line and further understanding of the versions. Dates of the code versions have been estimated using the dates on source code comments. -The first version to update the copyright notice was v1.24 that used (C)1987. The availability of the source code from v1.31 enabled the creation of code for v1.24 which by now had support for AUN and pseudo directory symbols. +The first version to update the copyright notice was v1.24 which used (C)1987. The availability of the source code from v1.31 enabled the creation of code for v1.24 which by now had support for AUN and pseudo directory symbols. The source code for v1.31 had directories for L3, FileStore and Filesever. -\L3 contained the Level3 source code and \FileStore the source code for the E01 FS ROM. The directory \Fileserver contained a set of files where work had been started to merge the two code bases for Level3 and FileStore, but was incomplete. +\L3 contained the Level3 source code and \FileStore the source code for the E01 FS ROM. The directory \Fileserver contained a set of files where work had been started to merge the two code bases for Level3 and FileStore, but was incomplete. -The FileStore uses a 65C102 processor and the code had been optimised to make use of the extended instruction set, whereas the Level3 Fileserver was kept as 6502 instruction compatible. It made sense to complete this work and enable the creation of later Level3 versions based on FileStore changes and a single code base. However, it has been found the FileStore has implemented some changes to the filing structure which is causing backwards compatibility issues with existing filing systems. This may have been why the shared source was not finished, or was on the "to do" list. +The FileStore uses a 65C102 processor and the code had been optimised to make use of the extended instruction set, whereas the Level3 Fileserver was kept as 6502 instruction compatible. It made sense to complete this work and enable the creation of later Level3 Fiileserver versions based on FileStore changes and a single code base. However, it has been found the FileStore has implemented some changes to the filing structure which is causing backwards compatibility issues with existing filing systems. This may have been why the shared source was not finished, or was on the "to do" list. -The code will assemble on both BBC and RISC OS based machines. Due to limits on the number of files in a directory on the BBC, and to create a standard approach throughout the different code sets, the files used for the build process were moved to the root directory. +The code will assemble on both BBC and RISC OS based machines. Due to limits on the number of files in a directory on the BBC, and to create a standard approach throughout the different code sets, the files used for the build process were moved to the root directory. There are two discs for each version, one containing the source and the other has pre-assembled binaries for convenience. @@ -30,7 +30,7 @@ Assembling the Fileserver Source Code The assembler sequence for the source code has been updated to assemble on either a BBC or RISC OS. No changes were required to the code, only the setting of directories and loading the 6502 Turbo Co-Processor emulator. -For the later versions using the shared code base, a program asks which is required, Level3 or FileStore, and triggers the corresponding sequence. Due to space constraints, a 800K ADFS disc is provided for the RISC OS version. +For later versions using the shared code base, a program asks which is required, Level3 or FileStore, and triggers the corresponding sequence. Due to space constraints, an 800K ADFS disc is provided for the RISC OS version. On the BBC, ADFS and an Acorn Turbo (256K) 6502 Co Processor are needed to assemble the sources. @@ -60,13 +60,17 @@ On an Archimedes/RISC PC execute the file $.GO. It uses the turbo emulator 65ARTHURT so no changes to the assembler executables are required. -A BBC emulator will need to be running with an Acorn Turbo (256K) 6502 Co-Processor emulation. Pressing SHIFT-BREAK or *E.!BOOT will start the processs. +A BBC emulator will need to be running with an Acorn Turbo (256K) 6502 Co-Processor emulation. The b-em emulator supports this configuration. Pressing SHIFT-BREAK or *E.!BOOT will start the processs. The resulting binary will be placed in the root directory, under the filename "FS". Pre-built executables are already included. ROM images for the FileStore are created with the name FSRom. -The source code is in Acorn MASM format, and a copy of the "Turbo" version of MASM (called TurMASM) is included in the disk images in the library folder. +The source code is in Acorn MASM format, and a copy of the "Turbo" version of MASM (called TurMASM) is included in the disk images in the library folder. MASM was released by Acornsoft as part of the "6502 Development Package" and many details how to use it are in the accompanying manual: +http://8bs.com/othrdnld/manuals/applications/6502-Development-Package.zip. + +Source for the assembler is available on GitHub: +https://github.com/stardot/AcornMASMv115 Assembler directives @@ -74,6 +78,7 @@ Assembler directives The assembler directive flag for the Winchester being present is &00. If set to another value the code assembly will fail as the definitions for PARAMS and NOPRMS are missing from the source. This directive may have been used in earlier versions of the code to produce L2 or L3 fileservers, however there is no directive to remove the banner in the code for "Winchester File Server" or Version 3 at the start of the source file UADE03. There appear to be significant differences to the code needed for Level2 to the source code for Level3 v0.90. + Software Protection =================== Version numbers @@ -88,11 +93,15 @@ Version numbers 1.07 24AES243002000 -These replace the text "Version string" found in line 30 of the source file UADE03. It is believed the file server binary "FS" had to be placed at the start of side 2 on the installation disc, and the install routine would apply this number when copying the binary. +1.24 + +1.31 + +The version numbers above replace the text "Version string" found in line 30 of the source file UADE03. It is believed the file server binary "FS" had to be placed at the start of side 2 on the installation disc, and the install routine would apply this number when copying the binary. The installation disc was in the DFS format and original install disc images can be found with v1.06. Dates ===== With all binaries that use the date from the RTC dongle, the year is displayed incorrectly. These versions also do not display the seconds on the main screen. The versions assembled not to use the RTC dongle must have the date and time entered manually. There were large changes to the date handling in v1.24 and by v1.33 all the issues seem to have been resolved. -These versions without the dongle do display the seconds on the main screen. Only the patched version 0.92 corrects this problem and allows years after 1999 to be entered and displayed correctly. +The versions without the dongle do display the seconds on the main screen. Only the patched version 0.92 corrects this problem and allows years after 1999 to be entered and displayed correctly.