# HG changeset patch # User afra # Date 1136761711 0 # Node ID 434d4bf3895bc7e5e931e25a148e180a7bffd9d2 # Parent b2ee6d24edcc8779d1df874ff587f9c6c8295f7e Fixed up step rate to be same as default specified for descriptors at build time. diff -r b2ee6d24edcc -r 434d4bf3895b level1/modules/boot_d64.asm --- a/level1/modules/boot_d64.asm Sun Jan 08 21:43:31 2006 +0000 +++ b/level1/modules/boot_d64.asm Sun Jan 08 23:08:31 2006 +0000 @@ -1,19 +1,21 @@ * -* Boot_d64, bootfile for Dragon 64, Dragon Alpha/Professional. +* Boot_d64, bootfile for Dragon 32/64, Dragon Alpha/Professional. * -* First disasembly and porting 2004-11-07, P.Harvey-Smith. +* 2004-11-07, P.Harvey-Smith. +* First disasembly and porting * -* Dragon Alpha code, 2004-11-09, P.Harvey-Smith. -* I am not sure of how to disable NMI on the Alpha, it is -* simulated in software using the NMIFlag. +* 2004-11-09, P.Harvey-Smith. +* Dragon Alpha code, I am not sure of how to disable NMI +* on the Alpha, it is simulated in software using the NMIFlag. * * See DDisk.asm for a fuller discription of how Dragon Alpha * interface works. * -* Double sided Disk code added 2004-11-25, P.Harvey-Smith. +* 2004-11-25, P.Harvey-Smith. +* Double sided Disk code added * -* 2005-05-08, P.Harvey-Smith, added code to force 5/8 line low on -* Alpha so correct clock selected. +* 2005-05-08, P.Harvey-Smith, +* Added code to force 5/8 line low on Alpha so correct clock selected. * * 2005-06-16, P.Harvey-Smith. * Added NMI enable/disable code, as I know know how to enable/disable @@ -26,7 +28,15 @@ * Converted to using new boot system which can support fragmented * boot files. * - +* 2006-01-08, P.Harvey-Smith. +* Fixed up steprate so that it is the same as that specified as the +* default when building NitrOS9, currently the distribution sets +* this to 12ms, as this seems to be the default for both the +* Dragon Data original 5.25" floppies, and for the Sony 3.5" +* drives in the Alpha. This allows NitrOS9 to boot correctly +* on Dragon Data 5.25" drives, and should also make booting on +* the Alpha much more relaiable. +* nam Boot ttl os9 system module @@ -130,7 +140,7 @@ BootDr set DRVSEL3 Alternate boot from drive 3 ENDC -StepRate EQU %00000011 +StepRate EQU 3-STEP Convert OS9 steprate code to WD. tylg set Systm+Objct atrv set ReEnt+rev @@ -167,15 +177,7 @@ ;start equ * -HWInit clra - -; ldb #size -;L0015 pshs a ; Clear size bytes on system stack -; decb -; bne L0015 - -; tfr s,u ; Point u to data area on s stack. - +HWInit clra ldx #CMDREG ; Force inturrupt lda #FrcInt sta ,x @@ -216,64 +218,6 @@ rts use ../../6809l1/modules/boot_common.asm - - -; pshs u,x,b,a -; clra -; clrb -; ldy #$0001 -; ldx SideSel,U ; mask in side select orb side,u ; mask in side select stb SideSel,U ; Set side stb side,U ; Set side puls b ; Get sector number @@ -483,7 +415,6 @@ rts MotorOnCmdB -; lda #MotorOn ; Turn on motor lda drvsel,u ; Turn on motor IFNE DragonAlpha @@ -503,46 +434,14 @@ IFNE DragonAlpha -; Translate DragonDos Drive select mechinisim to work on Alpha -; Takes byte that would be output to $FF48, reformats it and -; outputs to Alpha AY-8912's IO port, which is connected to -; Drive selects, motor on and enable precomp. -; This code now expects Alpha NMI/DDEN etc codes, as defined -; at top of this file (and dgndefs). The exception to this is -; the drive number is still passed in the bottom 2 bits and -; converted with a lookup table. -; We do not need to preserve the ROM select bit as this code -; operates in RAM only mode. -ADrvTab FCB Drive0A,Drive1A,Drive2A,Drive3A +; +; Turn on drives/motor/nmi for The Dragon Alpha. +; AlphaDskCtl PSHS X,A,B,CC -; ldb PIA2CRA ; Get control reg -; bita #NMIEnA ; NMI enable flag set ? -; bne AlphaNMIEnabled ; yes : enable it - -; andb #PIANMIDisA ; Set PIA2 CA2 as output & disable NMI -; ldb #NMICA2Dis -; bra AlphaSetNMI -AlphaNMIEnabled -; orb #PIANMIEnA ; Enable NMI -; ldb #NMICA2En - -AlphaSetNMI -; stb PIA2CRA ; Save back in ctrl reg - - PSHS A -; anda #DDosDriveMask ; mask out dragondos format drive number -; leax ADrvTab,pcr ; point at table -; lda a,x ; get bitmap -; ldb ,s -; andb #AlphaCtrlMask ; mask out drive number bits -; stb ,s -; ora ,s ; recombine drive no & ctrl bits -; sta ,s - bita #MotorOn ; test motor on ? bne MotorRunning @@ -555,23 +454,17 @@ ldx #PIA2DA lda #AYIOREG ; AY-8912 IO register -; sta PIA2DB ; Output to PIA sta 2,X ; Output to PIA ldb #AYREGLatch ; Latch register to modify -; stb PIA2DA stb ,x -; clr PIA2DA ; Idle AY clr ,x ; Idle AY lda ,s+ ; Fetch saved Drive Selects etc -; sta PIA2DB ; output to PIA sta 2,x ; output to PIA ldb #AYWriteReg ; Write value to latched register -; stb PIA2DA ; Set register stb ,x -; clr PIA2DA ; Idle AY clr ,x PULS x,A,B,CC