x68000:writing_drivers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
x68000:writing_drivers [2014/07/11 00:44] – eidis | x68000:writing_drivers [2014/07/11 00:59] – [0x01 - Media Check] eidis | ||
---|---|---|---|
Line 13: | Line 13: | ||
**Note :** the following contains very hard stuff ! I might be confusing sometimes, sorry in advance. Don't hesitate to ask for help if you do not understand something. Thank you. | **Note :** the following contains very hard stuff ! I might be confusing sometimes, sorry in advance. Don't hesitate to ask for help if you do not understand something. Thank you. | ||
- | |||
**Terminology :** | **Terminology :** | ||
Line 21: | Line 20: | ||
* Char : 1 character = 1 byte | * Char : 1 character = 1 byte | ||
* All data types are CPU specific : M68K family. So, byte ordering is always "Big Endian" | * All data types are CPU specific : M68K family. So, byte ordering is always "Big Endian" | ||
- | |||
====== Compilation flags, libraries and startup code ====== | ====== Compilation flags, libraries and startup code ====== | ||
Line 89: | Line 87: | ||
**Command execution result flags :** | **Command execution result flags :** | ||
- | This list contains all acceptable values to fill the result status flags in the request packet header. S_**** flags will display (or hide) the " | + | This list contains all acceptable values to fill the result status flags in the request packet header. S_**** flags will display (or hide) the " |
+ | |||
+ | " | ||
* 0x1000 - S_ABORT : " | * 0x1000 - S_ABORT : " | ||
Line 155: | Line 155: | ||
- | Output parameters : | + | **Output parameters :** |
^ Position | ^ Position | ||
Line 381: | Line 381: | ||
These following request command codes are only performed when the driver header have the " | These following request command codes are only performed when the driver header have the " | ||
+ | |||
I actually do not know very much about them but they seems to be really filesystem level. | I actually do not know very much about them but they seems to be really filesystem level. | ||
+ | |||
Here is all known command ID : | Here is all known command ID : | ||
- | | + | * 0x40 - CR_INIT |
- | 0x41 - CR_SEARCH_DIR | + | |
- | 0x42 - CR_CREATE_DIR | + | |
- | 0x43 - CR_DELETE_DIR | + | |
- | 0x44 - CR_RENAME_FILE | + | |
- | 0x45 - CR_DELETE_FILE | + | |
- | 0x46 - CR_CHMOD | + | |
- | 0x47 - CR_FILES | + | |
- | 0x48 - CR_NFILES | + | |
- | 0x49 - CR_CREATE | + | |
- | 0x4A - CR_OPEN | + | |
- | 0x4B - CR_CLOS | + | |
- | 0x4C - CR_READ | + | |
- | 0x4D - CR_WRITE | + | |
- | 0x4E - CR_SEEK | + | |
- | 0x4F - CR_TIMEMOD | + | |
- | 0x50 - CR_GETCAP | + | |
- | 0x51 - CR_CONTROL | + | |
- | 0x52 - CR_BUILD_BPB | + | |
- | 0x53 - CR_IOCTL_IN | + | |
- | 0x54 - CR_IOCTL_OUT | + | |
- | 0x55 - CR_IOCTL_SPECIAL | + | |
- | 0x56 - CR_ABORT | + | |
- | 0x57 - CR_MEDIA_CHECK | + | |
- | 0x58 - CR_LOCK | + | |
I do have parameters. I will write them later. | I do have parameters. I will write them later. | ||
- | BIOS Parameter Block (BPB) | + | ====== |
I will not explain this structure as there is plenty of informations about it on the internet. | I will not explain this structure as there is plenty of informations about it on the internet. | ||
+ | |||
Starting from wikipedia : http:// | Starting from wikipedia : http:// | ||
+ | |||
Just read everything you can about FAT12 and FAT16. 95% of these also apply to Human68k. | Just read everything you can about FAT12 and FAT16. 95% of these also apply to Human68k. | ||
- | Most of difference is the byte ordering, which is big endian instead of little endian. The structure is also a bit different. From my ddk.h file : | ||
- | Code: [Select] | ||
+ | Most of difference is the byte ordering, which is big endian instead of little endian. The structure is also a bit different. | ||
+ | |||
+ | From my ddk.h file : | ||
+ | |||
+ | < | ||
struct bpb { | struct bpb { | ||
UWORD bpb_nbyte; | UWORD bpb_nbyte; | ||
Line 431: | Line 439: | ||
ULONG bpb_huge; | ULONG bpb_huge; | ||
}; | }; | ||
+ | </ | ||
See ? Only the " | See ? Only the " | ||
x68000/writing_drivers.txt · Last modified: 2019/08/27 20:45 by 127.0.0.1