/[projet1]/public/oric/demos/PushingTheEnvelope/code/disk_info.h
Defence Force logotype

Annotation of /public/oric/demos/PushingTheEnvelope/code/disk_info.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1403 - (hide annotations)
Mon Apr 17 20:43:40 2017 UTC (2 years, 5 months ago) by Jede
File MIME type: text/plain
File size: 2684 byte(s)
Telestrat correction



1 dbug 1099 ;
2     ; http://oric.free.fr/programming.html#disc
3     ;
4 Jede 1403 #define location_loader $fb00 ; Need to match the information set in loader.asm
5 dbug 1099 #define loader_track_position 0 ; Location of the loader on the disk (track number)
6     #define loader_sector_position 4 ; Location of the loader on the disk (sector number)
7    
8     #define wait_status_floppy 30
9    
10     ; Jasmin registers are equivalent to microdisc + $e4 / 228
11     #define FDC_OFFSET_MICRODISC $00
12     #define FDC_OFFSET_JASMIN $E4
13    
14     #ifdef MICRODISC_LOADER
15    
16     #define FDC_command_register $0310
17     #define FDC_status_register $0310
18     #define FDC_track_register $0311
19     #define FDC_sector_register $0312
20     #define FDC_data $0313
21     #define FDC_flags $0314
22     #define FDC_drq $0318
23    
24     #define FDC_Flag_DiscSide %00010000
25    
26     #define CMD_ReadSector $80
27     #define CMD_Seek $1F
28    
29     #else
30     #ifdef JASMIN_LOADER
31     #define FDC_command_register $03f4
32     #define FDC_status_register $03f4
33     #define FDC_track_register $03f5
34     #define FDC_sector_register $03f6
35     #define FDC_data $03f7
36     #define FDC_flags $03f8
37     #define FDC_drq $03FC
38    
39     #define FDC_Flag_DiscSide %00000001
40    
41     #define CMD_ReadSector $8c
42     #define CMD_Seek $1F
43    
44     #endif
45     #endif
46    
47    
48     ; ____________ bit 7: INTRQ state (only if bit 0 above has been set to 1) in negative logic so it's 0 if FDC requests an Interrupt.
49     ; |
50     ; |x.......| Read
51     ;#define FDC_flags $0314
52     ; |xxxxxxxx| Write
53     ; ||||||||
54     ; ||||||||_____bit 0: enable FDC INTRQ to appear on read location $0314 and to drive cpu IRQ
55     ; |||||||_____ bit 1: ROMDIS (active low). When 0, internal Basic rom is disabled.
56     ; ||||||______ bit 2: along with bit 3, selects the data separator clock divisor (1: double density, 0: single-density)
57     ; |||||_______ bit 3: double density enable (0: double density, 1: single density)
58     ; ||||________ bit 4: side select
59     ; |||_________ bits 56: drive select (0 to 3)
60     ; |___________ bit 7: Eprom select (active low)
61     ;
62     ; %10000101 -> Eprom deselected, double density, ROM disabled, irq enabled
63     ; %10000001 ->
64     ;
65     ; $0318
66     ; bit 7: DRQ state (active low)
67    
68    

  ViewVC Help
Powered by ViewVC 1.1.26