Oak SCSI software and source code
-
- Posts: 14
- Joined: Wed Nov 10, 2021 10:44 pm
- Contact:
Oak SCSI software and source code
Attached is an ArcFS archive ( had to set file .h to keep forum happy) Set type to 3FB.
This is the source code for the software for the Oak SCSI card I designed many years ago.
Likely a lot of other junk and internal/test/demo stuff in there as well.
It definitely works up to Risc OS 3.7 on RiscPC, not sure if StrongArm compatible.
Needless to say this is provided on an 'as-is', 'you're on your own' 'basis as I probably can't remember much about it!
Suggest any discussion is done in this thread and I'll chime in of there is anything useful I can add.
My only Arc machine is in semi-storage so I can't easily try anything out, but let me know if there appear to be any missing files and I'll see of I can find them - I had to trim some stuff to transfer on 1.44M floppies.
Feel free to post "what/why is this..." type questions, but please include relevant code snippets or attach a .txt ascii version as I don't have quick access to the files.
General notes on all my stuff :
Module sources are typically called xxxRMnn, where xxx is the module name. nn is version, use the highest ( 1990's version control!). Any suffix letter after nn may be a variant/test version
Run this to assemble and save the module. There will usually be an option to save or link directly to the module store without saving.
xxxLOADERnn is the utility to generate the ROM image, reading in the various modules etc. Looking at this will tell you what modules are needed. Again, if there's a digit after the name, highest is likely to be latest version.
RMs may not all soft-load as they need the hardware podule addresses. It's possible that suffixing it with teh slot number 0 to 3 may work, can't remember.
There may be some test/demo/debug functionality - typically enabled by assemble-time options near the start. You probably don't want to enable these.
This is the source code for the software for the Oak SCSI card I designed many years ago.
Likely a lot of other junk and internal/test/demo stuff in there as well.
It definitely works up to Risc OS 3.7 on RiscPC, not sure if StrongArm compatible.
Needless to say this is provided on an 'as-is', 'you're on your own' 'basis as I probably can't remember much about it!
Suggest any discussion is done in this thread and I'll chime in of there is anything useful I can add.
My only Arc machine is in semi-storage so I can't easily try anything out, but let me know if there appear to be any missing files and I'll see of I can find them - I had to trim some stuff to transfer on 1.44M floppies.
Feel free to post "what/why is this..." type questions, but please include relevant code snippets or attach a .txt ascii version as I don't have quick access to the files.
General notes on all my stuff :
Module sources are typically called xxxRMnn, where xxx is the module name. nn is version, use the highest ( 1990's version control!). Any suffix letter after nn may be a variant/test version
Run this to assemble and save the module. There will usually be an option to save or link directly to the module store without saving.
xxxLOADERnn is the utility to generate the ROM image, reading in the various modules etc. Looking at this will tell you what modules are needed. Again, if there's a digit after the name, highest is likely to be latest version.
RMs may not all soft-load as they need the hardware podule addresses. It's possible that suffixing it with teh slot number 0 to 3 may work, can't remember.
There may be some test/demo/debug functionality - typically enabled by assemble-time options near the start. You probably don't want to enable these.
- Attachments
-
- oakscsi.h
- (832.69 KiB) Downloaded 47 times
Re: Oak SCSI software and source code
Is there anything in the source that specifies what the default contents of the EEPROM are? In scsidoc it describes it's usage, and that it's checksummed, but haven't found anything that says what the factory settings should be.
- Nigel
BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
-
- Posts: 14
- Joined: Wed Nov 10, 2021 10:44 pm
- Contact:
Re: Oak SCSI software and source code
I don't recall any factory programming of this, see if you can see what the code does if the checksum is bad - it may intialise it to factory state.
The factory state of a blank eeprom is all FF's - it may be that the config is set up such that all FF's is a moderately sensible default config
The factory state of a blank eeprom is all FF's - it may be that the config is set up such that all FF's is a moderately sensible default config
Re: Oak SCSI software and source code
An eeprom containing FF's produces 'Warning : SCSI configuration data corrupt', but found the option to initialise it in SCSIForm.
- Nigel
BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
BBC Model B: ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, BeebZIF, etc.
Re: Oak SCSI software and source code
Whilst testing Partition Manager with the Oak SCSI card, it was noted SCSI_Initialise 2 was ignoring the card ID, resulting in four identical drives appearing in Partition Manager.
In the attached source updates, I've added a card check to SCSI_Initialise 2 (the minimum I needed for PM) and also corrected the Module Help strings, which do not comply with Acorn's standard (PRM1-216)
Attached are the source files I modified, the pre-built individual Modules and a ROM without CD support. The ROM can be used to update the Oak Podule in Arculator - rename it to match the existing BIN file and replace.
In the attached source updates, I've added a card check to SCSI_Initialise 2 (the minimum I needed for PM) and also corrected the Module Help strings, which do not comply with Acorn's standard (PRM1-216)
Attached are the source files I modified, the pre-built individual Modules and a ROM without CD support. The ROM can be used to update the Oak Podule in Arculator - rename it to match the existing BIN file and replace.
- Attachments
-
- source138.zip
- Source and pre-built SCSI, SCSIFS and SCSIFiler
- (46.71 KiB) Downloaded 20 times
-
- OAKROM138.zip
- ROM
- (7.24 KiB) Downloaded 16 times
- IanJeffray
- Posts: 5962
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
Re: Oak SCSI software and source code
This doesn't appear to work with real hardware - the podule is simply not present in *podules any more.
I then put the original ROM back, and it's fine.
- IanJeffray
- Posts: 5962
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
Re: Oak SCSI software and source code
For reference, here's the 1.36 ROM image as originally on the podule.
- Attachments
-
- OakSCSI_1.36_CDFS_M27C512_DIP28.BIN.zip
- (39.5 KiB) Downloaded 20 times
- IanJeffray
- Posts: 5962
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
Re: Oak SCSI software and source code
Ah, the "SCSICODE" from Mike's original Archive has the same behaviour as @sirbod's rebuild - podule doesn't show up at all. Guessing there may be different hardware revs or something? The rip from the real card doesn't work properly in Arculator either - just shows up as "Simple podule &E".
For reference, this is the podule hardware I'm using (thanks to IanS)...
I note it does say "Iss 2"... hmm! I note this ROM is a 512, and the part I'm testing with... but the original notes call for just a 128. There are no links to change ROM size.
For reference, this is the podule hardware I'm using (thanks to IanS)...
I note it does say "Iss 2"... hmm! I note this ROM is a 512, and the part I'm testing with... but the original notes call for just a 128. There are no links to change ROM size.
Re: Oak SCSI software and source code
Not that it's going to probably make a difference but CDLoader will create the ROM with CDFS - does that behave any differently?IanJeffray wrote: ↑Fri Jun 30, 2023 11:10 am Ah, the "SCSICODE" from Mike's original Archive has the same behaviour as @sirbod's rebuild - podule doesn't show up at all. Guessing there may be different hardware revs or something? The rip from the real card doesn't work properly in Arculator either - just shows up as "Simple podule &E".
CDFS pushing it over 16KB perhaps?IanJeffray wrote: ↑Fri Jun 30, 2023 11:10 am I note this ROM is a 512, and the part I'm testing with... but the original notes call for just a 128. There are no links to change ROM size.
Re: Oak SCSI software and source code
Later roms came with an updated PAL/GAL, but I have no idea what was different. (Not even sure which GAL/PAL was replaced)IanJeffray wrote: ↑Fri Jun 30, 2023 11:10 am Guessing there may be different hardware revs or something?
Your board should have the later version.