ubee: floppy support for direct to user copies
authorAlan Cox <alan@linux.intel.com>
Sun, 13 May 2018 17:34:56 +0000 (18:34 +0100)
committerAlan Cox <alan@linux.intel.com>
Sun, 13 May 2018 17:34:56 +0000 (18:34 +0100)
Kernel/platform-ubee/README
Kernel/platform-ubee/floppy.s

index b1c665f..6e0ab29 100644 (file)
@@ -104,9 +104,9 @@ Done so far:
 - Non premium video setup                              COLOUR DONE
 - Support RAM font setting                             DONE
 - Figure out how I broke the 6545 cursor               DONE
+- Debugging floppy driver - need to add direct I/O to user support     DONE
 
 In Progress
-- Debugging floppy driver - we seem to have broken it
 - Swap
 - Graphics not just vt interfaces
 - RAM based fonts
index c4e209d..2233c5b 100644 (file)
@@ -12,6 +12,9 @@
        .globl _fd_motor_on
        .globl fd_nmi_handler
 
+       .globl map_kernel
+       .globl map_process_always
+
 FDCREG .equ    0x40
 FDCTRK .equ    0x41
 FDCSEC .equ    0x42
@@ -39,6 +42,7 @@ TRACK .equ    1
 SECTOR .equ    2
 DIRECT .equ    3               ; 0 = read 2 = write 1 = status
 DATA   .equ    4
+USER   .equ    6
 
        .area   _COMMONMEM
 ;
@@ -178,6 +182,10 @@ fdiosetup:
        ld      a, (fdcctrl)
        ld      d, a                    ; we need this in a register
                                        ; to meet timing
+       ld      a, USER(ix)
+       or      a
+       call    nz, map_process_always
+
        ld      a, #1
        ld      (fdc_active), a         ; NMI pop and jump
        jr      z, fdio_in
@@ -190,6 +198,7 @@ fdiosetup:
 ;
 fdxferdone:
        ei
+       call    map_kernel
 fdxferdone2:
        xor     a
        ld      (fdc_active), a