Commit 013c01da authored by Jeffrey Lee's avatar Jeffrey Lee
Browse files

IOMD/HAL build fixes

Detail:
  s/Adfs12 - Don't use DefaultIDEHardware in HAL builds, use the proper addresses instead
  s/Adfs19 - Make floppy code use HAL_ControllerAddress to get 82C710 address in non-PCI, non-Podule, HAL builds. However floppy code is currently disabled in this configuration because it hangs the machine when floppy access is attempted.
  s/Consts, s/StaticsIDE - Get rid of some bad address constants for HAL builds
Admin:
  Tested in Iyonix & IOMD ROM softloads.


Version 3.38. Tagged as 'ADFS-3_38'
parent a2d689f9
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "3.37"
Module_Version SETA 337
Module_MajorVersion SETS "3.38"
Module_Version SETA 338
Module_MinorVersion SETS ""
Module_Date SETS "06 Dec 2010"
Module_ApplicationDate SETS "06-Dec-10"
Module_Date SETS "22 Jun 2011"
Module_ApplicationDate SETS "22-Jun-11"
Module_ComponentName SETS "ADFS"
Module_ComponentPath SETS "castle/RiscOS/Sources/FileSys/ADFS/ADFS"
Module_FullVersion SETS "3.37"
Module_HelpVersion SETS "3.37 (06 Dec 2010)"
Module_FullVersion SETS "3.38"
Module_HelpVersion SETS "3.38 (22 Jun 2011)"
END
/* (3.37)
/* (3.38)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 3.37
#define Module_MajorVersion_CMHG 3.38
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 06 Dec 2010
#define Module_Date_CMHG 22 Jun 2011
#define Module_MajorVersion "3.37"
#define Module_Version 337
#define Module_MajorVersion "3.38"
#define Module_Version 338
#define Module_MinorVersion ""
#define Module_Date "06 Dec 2010"
#define Module_Date "22 Jun 2011"
#define Module_ApplicationDate "06-Dec-10"
#define Module_ApplicationDate "22-Jun-11"
#define Module_ComponentName "ADFS"
#define Module_ComponentPath "castle/RiscOS/Sources/FileSys/ADFS/ADFS"
#define Module_FullVersion "3.37"
#define Module_HelpVersion "3.37 (06 Dec 2010)"
#define Module_LibraryVersionInfo "3:37"
#define Module_FullVersion "3.38"
#define Module_HelpVersion "3.38 (22 Jun 2011)"
#define Module_LibraryVersionInfo "3:38"
......@@ -444,7 +444,12 @@ WinInit ROUT
|
; Set up regs to point to default (motherboard) IDE hardware
[ HAL
sbaddr R9,WinIDEHardware
ADD R1,R9,#WinIDEPtr
|
baddr R1,DefaultIDEHardware
]
LDMIA R1,{R2-R6}
MOV R7,#0 ; initialise data in ptr
MOV R8,#0 ; and data out ptr
......@@ -502,8 +507,10 @@ WinInit ROUT
B %FT15
05
]
ADD R14,R9,#WinIDEPtr
|
LDR R14, =DefaultIDE
]
TEQ R2, R14
[ HAL
MOVEQ R14, #IOMD_IDE_DevNo
......
......@@ -198,12 +198,39 @@ FlpInit ROUT
ADD LR, R0, #&3F0 * 4
STR LR, FlpBase
BL Configure37C665
|
[ HAL
[ {FALSE} ; IOMD HAL floppy support doesn't work yet. Disable it.
Push "r0-r3,r8,r9"
MOV r0, #0
MOV r1, #&600
MOV r8, #0
MOV r9, #EntryNo_HAL_ControllerAddress
SWI XOS_Hardware
MOVVS r0, #MachHasNoFDC
ASSERT MachHasNoFDC = -1 ; 0 or -1 can be returned if controller unknown
MOVS lr, r0
MOVEQ lr, #MachHasNoFDC
CMPNE lr, #MachHasNoFDC
STREQ lr, MachineID
ADDNE r1, r0, #&3F0*4
STRNE r1, FlpBase
ADDNE r1, r0, #&1A000
STRNE r1, FlpDACK_TC
Pull "r0-r3,r8,r9"
BEQ %BT02
|
MOV R0, #MachHasNoFDC
STR R0, MachineID
B %BT02
]
|
LDR LR, =CnTbase + (&3F0 *4)
STR LR, FlpBase
LDR LR, =CnTbase + &1A000
STR LR, FlpDACK_TC
]
]
]
MOV R0, #3 ; Max drive number
......
......@@ -21,7 +21,9 @@ true SETL {TRUE}
GBLL false
false SETL {FALSE}
[ :LNOT: HAL
CnTbase * C710 ; Base address of 82C710 = PC/AT I/O 000H
]
bit0 bit 0
bit1 bit 1
......@@ -71,9 +73,13 @@ BigBit * 0
; Hardware addresses
[ :LNOT: HAL
BerlinFlpAddr * &32000000 ;Blah blah blah
]
[ :LNOT: HAL
FdcAddress * &03310000
]
FdcStatus * 0
FdcMotorOnBit bit 7
WProtBit bit 6 ;write protect
......@@ -122,7 +128,9 @@ MaxWinnies * 0
MaxWinnies * 2
]
[ :LNOT: HAL
IoChip * &03200000 ;IO controller
]
IoControl * 0
ReadyBit bit 2
DiscChangedBit bit 4
......@@ -146,7 +154,9 @@ FiqMask * &38
FdcFiqMaskBits * &03
Timer0Period * 20000
[ :LNOT: HAL
SharedLatch * &03350018
]
FdcResetBit bit 3
HeadSelectBit3 bit 7
Single * 1
......@@ -156,7 +166,9 @@ DensityBits * &02
SingleBits * &02
DoubleBits * &00
[ :LNOT: HAL
DiscLatch * &03350040
]
Drive0 bit 0
Drive1 bit 1
Drive2 bit 2
......@@ -173,8 +185,10 @@ M * K*K
;Cpu
[ :LNOT: No26bitCode
PsrMask * &FC000003
NZCV * N_bit :OR: Z_bit :OR: C_bit :OR: V_bit
]
FiqVector * &1C
FiqVectorMaxCode * &FC ;last word allowed for FIQ code
......
......@@ -231,12 +231,12 @@ WinTickCallAddress a4 4 ; if !0, called when count==0
;*********************************************************************
; Hardware details
[ :LNOT: HAL
DefaultIDE * CnTbase + (&1F0 * IDEReg_Spacing)
[ TwinIDEHardware
DefaultIDE2 * CnTbase + (&170 * IDEReg_Spacing)
]
]
; Initialise data in module to describe the motherboard IDE
; NOTE: the interrupt stuff is the same as for the motherboard
......@@ -244,13 +244,14 @@ DefaultIDE2 * CnTbase + (&170 * IDEReg_Spacing)
; on the motherboard.
ALIGN
[ :LNOT: HAL
DefaultIDEHardware
& DefaultIDE
& IoChip + IoIrqBStatus
& WinnieBits
& IoChip + IoIrqBMask
& WinnieBits
]
[ TwinIDEHardware
WinIDECurrentHW a4 4
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment