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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1403 - (show 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 ;
2 ; http://oric.free.fr/programming.html#disc
3 ;
4 #define location_loader $fb00 ; Need to match the information set in loader.asm
5 #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