SUBT Exported Podule constants => &.Hdr.Podule OldOpt SETA {OPT} OPT OptNoList+OptNoP1List ; *********************************** ; *** C h a n g e L i s t *** ; *********************************** ; Date Name Description ; ---- ---- ----------- ; 12-May-87 BC Added DeviceType_Link to allow for adding ROMS ; 19-Jun-87 BC Removed speed/access stuff ; 22-Jul-87 BC Added stand alone MIDI ProdType ; 23-Jul-87 BC Added DeviceType_PartNumber ; 10-Aug-87 BC Added Intelligent Interfaces ; 11-Aug-87 BC Added Caman ; 12-Aug-87 BC Added ProdType_FrameGrabber ; 20-Aug-87 BC Left RawRead and RawWrite in permanently ; 01-Sep-87 BC Added Armordillo ( [7,22], [7,23] ) ; 09-Sep-87 BC Added SoftOption GenLock [8,24] ; 15-Sep-87 BC Put in EXPORT of masking constants ; 05-Oct-87 BC Added CODEC sampler [25] ; 09-Oct-87 BC Added Wild Vision Analysis [9,26] ; 05-Nov-87 BC Added Anglo Computers [10,7] ; 05-Nov-87 BC Changed country allocations to Master/Compact ; 18-Nov-87 BC Added Resource and their AtoD ; 11-Jan-88 BC Added Armordillo ( [7,28..33] ) ; 10-Feb-88 BC Added Allied Interacive [12,34] ; 18-Feb-88 BC Added Musbury Consultants [13,??] ; 02-Mar-88 BC Added ProdType_LaserScanner [35] ; 10-May-88 BC Added SWI Podule_HardwareAddress ; 12-May-88 BC Added CamRingCons., [14,36], Moved VMEBus Added FastRing2 ; 12-May-88 BC Added ProdType_TapeStreamer 38 ; 24-May-88 BC Added ProdType_LaserTest 39 for JGreen ; 15-Jun-88 BC Added A&G Electronics VideoDigitiser [15,40] ; 15-Jun-88 BC Added SpaceTech WeatherSatellite [16,41] ; 29-Jul-88 BC Added Capricorn Consulting's Auto Cue [17,42] ; 19-Aug-88 BC Added II ProdTypes [5,43..45] ; 06-Sep-88 BC Added Syntec's MINI [18,46] ; 19-Sep-88 BC Added four products for WildVision [9,47..50] ; SWIClass SETS "Podule" ^ Module_SWISystemBase + PoduleSWI * Module_SWIChunkSize AddSWI ReadID AddSWI ReadHeader AddSWI EnumerateChunks AddSWI ReadChunk AddSWI ReadBytes AddSWI WriteBytes AddSWI CallLoader AddSWI RawRead AddSWI RawWrite AddSWI HardwareAddress PoduleSWICheckValue * @ ; The hardware address handed to loaders by the Podule manager consists of ; two parts, the Synchronous base address, and the CMOS base address. ; These two parts are combined into a single word as with the CMOS address ; (the first of four bytes) in the bottom 12 bits. The remainder is the ; hardware address, with the exception that the top six bits are undefined ; at present. ; ; 31 26 25 12 11 0 ; +-----------+-------------------------------------+------------------+ ; | Undefined | Hardware base address ( Sync ) | CMOS address | ; +-----------+-------------------------------------+------------------+ ; ; So this means that entry points expecting the hardware base address should ; now mask the incoming register value; ; ; LDR Rmv, =2_11111100000000000000111111111111 ; BIC Rba, Rha, Rmv ; OR ; LDR Rmv, =2_00000011111111111111000000000000 ; AND Rba, Rha, Rmv ; ; To obtain the true base address, and they should also mask to obtain the ; CMOS address for use in R1 in the SWI XOS_Byte for ReadCMOS or WriteCMOS; ; ; LDR Rmv, =2_11111111111111111111000000000000 ; BIC Rca, Rha, Rmv ; OR ; LDR Rmv, =2_00000000000000000000111111111111 ; AND Rca, Rha, Rmv ; ; These four constants are exported below. Podule_BaseAddressBICMask * 2_11111100000000000000111111111111 Podule_BaseAddressANDMask * 2_00000011111111111111000000000000 Podule_CMOSAddressBICMask * 2_11111111111111111111000000000000 Podule_CMOSAddressANDMask * 2_00000000000000000000111111111111 ; Allocation of Country codes ; Done in accordance with Master & Compact ^ 0 Country_UK * 0 Country_Italy * 4 Country_Spain * 5 Country_France * 6 Country_Germany * 7 Country_Portugal * 8 Country_Greece * 10 Country_Sweden * 11 Country_Finland * 12 Country_Denmark * 14 Country_Norway * 15 Country_Iceland * 16 Country_Canada * 17 Country_Turkey * 20 ; Allocation of Manufacturer codes ^ 0 Manf_AcornUK # 1 ; 0 Manf_AcornUSA # 1 ; 1 Manf_Olivetti # 1 ; 2 Manf_Watford # 1 ; 3 Manf_ComputerConcepts # 1 ; 4 Manf_IntelligentInterfaces # 1 ; 5 Manf_Caman # 1 ; 6 Manf_Armadillo # 1 ; 7 Manf_SoftOption # 1 ; 8 Manf_WildVision # 1 ; 9 Manf_AngloComputers # 1 ; 10 Manf_Resource # 1 ; 11 Manf_AlliedInteractive # 1 ; 12 Manf_MusburyConsultants # 1 ; 13 Manf_CambridgeRingConsultants # 1 ; 14 Manf_AAndGElectronics # 1 ; 15 Manf_SpaceTech # 1 ; 16 Manf_CapricornConsulting # 1 ; 17 Manf_Syntec # 1 ; 18 ; Podule types for within Acorn, Olivetti, ; and the rest of the known universe. ^ 0 ProdType_HostTube # 1 ; 0 To the BBC machine ProdType_ParasiteTube # 1 ; 1 To a second processor ProdType_SCSI # 1 ; 2 ProdType_Ethernet # 1 ; 3 ProdType_IBMDisc # 1 ; 4 ProdType_RAMROM # 1 ; 5 ProdType_BBCIO # 1 ; 6 ProdType_Modem # 1 ; 7 ProdType_Teletext # 1 ; 8 ProdType_CDROM # 1 ; 9 ProdType_IEEE488 # 1 ; 10 ProdType_Winchester # 1 ; 11 ProdType_ESDI # 1 ; 12 ProdType_SMD # 1 ; 13 ProdType_LaserPrinter # 1 ; 14 ProdType_Scanner # 1 ; 15 ProdType_FastRing # 1 ; 16 ProdType_FastRing2 # 1 ; 17 ProdType_PROMProgrammer # 1 ; 18 ProdType_MIDI # 1 ; 19 ProdType_MonoVPU # 1 ; 20 ProdType_FrameGrabber # 1 ; 21 ProdType_SoundSampler # 1 ; 22 ProdType_VideoDigitiser # 1 ; 23 ProdType_GenLock # 1 ; 24 ProdType_CODECSampler # 1 ; 25 ProdType_ImageAnalyser # 1 ; 26 ProdType_AnalogueInput # 1 ; 27 ProdType_CDSoundSampler # 1 ; 28 ProdType_6MIPSSigProc # 1 ; 29 ProdType_12MIPSSigProc # 1 ; 30 ProdType_33MIPSSigProc # 1 ; 31 ProdType_TouchScreen # 1 ; 32 ProdType_TransputerLink # 1 ; 33 ProdType_InteractiveVideo # 1 ; 34 ProdType_LaserScanner # 1 ; 35 ProdType_TransputerLink2 # 1 ; 36 ProdType_VMEBus # 1 ; 37 ProdType_TapeStreamer # 1 ; 38 ProdType_LaserTest # 1 ; 39 ProdType_ColourDigitiser # 1 ; 40 ProdType_WeatherSatellite # 1 ; 41 ProdType_AutoCue # 1 ; 42 ProdType_ParallelIO16Bit # 1 ; 43 ProdType_12BitAToD # 1 ; 44 ProdType_SerialPortRS423 # 1 ; 45 ProdType_MINI # 1 ; 46 ProdType_FrameGrabber2 # 1 ; 47 ProdType_InteractiveVideo2 # 1 ; 48 ProdType_WildAtoD # 1 ; 49 ProdType_WildDtoA # 1 ; 50 ; Operating system identity bytes for load chunks ^ 2_10000000 ; OS=0, Arthur OSType_Loader # 1 OSType_Module # 1 OSType_BBCROM # 1 OSType_Sprite # 1 OSType_File # 1 ; General get out mechanism ^ 2_10010000 ; OS=1, ARX ARXType_Loader # 1 ^ 2_10100000 ; OS=2, Unix UnixType_Loader # 1 ^ 2_11110000 ; OS=7, Device data DeviceType_Link # 1 ; Used to link directory sections together DeviceType_SerialNumber # 1 DeviceType_Date # 1 DeviceType_Modification # 1 DeviceType_Place # 1 DeviceType_Description # 1 DeviceType_PartNumber # 1 DeviceType_Empty * &FF ; Used to patch ROMS ASSERT @ <= DeviceType_Empty OPT OldOpt END