/[projet1]/public/oric/demos/SlideShowDemo/code/loader.asm
Defence Force logotype

Diff of /public/oric/demos/SlideShowDemo/code/loader.asm

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1046 by dbug, Sat Dec 21 13:50:30 2013 UTC revision 1047 by dbug, Sun Dec 22 11:02:56 2013 UTC
# Line 28  nb_dst                         .dsb 1 Line 28  nb_dst                         .dsb 1
28    
29          *=location_loader          *=location_loader
30    
31    ;
32    ; This is called from the bootsectors with the X register containing the fdc offset;
33    ; +$00 = Microdisc
34    ; +$e4 = Jasmin
35    ;
36  Initialize  Initialize
37          jmp StartUp          jmp StartUp
38    
# Line 38  Initialize Line 42  Initialize
42  #include "floppy_description.h"  #include "floppy_description.h"
43    
44  ; Some local variables we need  ; Some local variables we need
45    fdc_register_offset             .dsb 1
46    
47  StartUp  StartUp
48            stx fdc_register_offset                         ; Store the FDC offset value
49            
50          ;jmp StartUp          ;jmp StartUp
51          jsr SoftHiresWithCopyCharset          jsr SoftHiresWithCopyCharset
52    
# Line 179  StartReadOperation Line 186  StartReadOperation
186          jsr WaitCompletion          jsr WaitCompletion
187                    
188          lda #%10000100                  ; Disable the FDC (Eprom select + FDC Interrupt request)          lda #%10000100                  ; Disable the FDC (Eprom select + FDC Interrupt request)
189          sta MICRODISC          sta FDC_flags
190    
191          ;jsr WaitCompletion          ;jsr WaitCompletion
192    
# Line 200  StartReadOperation Line 207  StartReadOperation
207          lda FileStartTrack,x        ; If the track id is larger than 128, it means it is on the other side of the floppy          lda FileStartTrack,x        ; If the track id is larger than 128, it means it is on the other side of the floppy
208          bpl first_side          bpl first_side
209          ; The file starts on the second side          ; The file starts on the second side
210          ldy #%00010000                          ; Side 1          ldy #FDC_Flag_DiscSide      ; Side 1
211          and #%01111111              ; Mask out the extra bit          and #%01111111              ; Mask out the extra bit
212  first_side  first_side
213          sty current_side          sty current_side
# Line 270  same_track Line 277  same_track
277          beq stay_on_the_track          beq stay_on_the_track
278                                    
279          ; Set the new track          ; Set the new track
280          sta     FDC_data          sta FDC_data
281                                    
282          lda #CMD_Seek          lda #CMD_Seek
283          sta FDC_command_register                  sta FDC_command_register        
# Line 278  same_track Line 285  same_track
285                    
286          lda #%10000100 ; on force les le Microdisk en side0, drive A ... Set le bit de données !!!          lda #%10000100 ; on force les le Microdisk en side0, drive A ... Set le bit de données !!!
287          ora current_side          ora current_side
288          sta MICRODISC          sta FDC_flags
289    
290  stay_on_the_track  stay_on_the_track
291          lda #CMD_ReadSector          lda #CMD_ReadSector
# Line 300  microdisc_read_data Line 307  microdisc_read_data
307          lda $0318          lda $0318
308      bmi microdisc_read_data      bmi microdisc_read_data
309    
310          lda $313          lda FDC_data
311          sta $200,y              ; Store the byte in page 2          sta $200,y              ; Store the byte in page 2
312          iny          iny
313    

Legend:
Removed from v.1046  
changed lines
  Added in v.1047

  ViewVC Help
Powered by ViewVC 1.1.26