diff options
author | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-02-15 23:07:56 +0300 |
---|---|---|
committer | Alexey 'Cluster' Avdyukhin <clusterrr@clusterrr.com> | 2021-02-15 23:07:56 +0300 |
commit | 3eeeea564cd5446d3692c16af8c0d19ec674d127 (patch) | |
tree | c25648c6a56c19775b8f9ee00377afb1ab8ef346 | |
parent | 0509099f2fc7ea4c4bc1b351e6d1b3dd6d1fee27 (diff) |
FDS disk info block fix
-rw-r--r-- | FdsBlockDiskInfo.cs | 11 | ||||
-rw-r--r-- | NesFile.cs | 2 |
2 files changed, 6 insertions, 7 deletions
diff --git a/FdsBlockDiskInfo.cs b/FdsBlockDiskInfo.cs index 447e51a..3bdb0e8 100644 --- a/FdsBlockDiskInfo.cs +++ b/FdsBlockDiskInfo.cs @@ -205,13 +205,12 @@ namespace com.clusterrr.Famicom.Containers [MarshalAs(UnmanagedType.U1)]
// Raw byte: $00. Speculative: Location/site?
byte unknown08 = 0x00;
- [MarshalAs(UnmanagedType.U1)]
- // Raw byte: $00
- byte unknown09 = 0x00;
- [MarshalAs(UnmanagedType.U1)]
- // Raw byte: $02
+ [MarshalAs(UnmanagedType.U2)]
+ // Raw bytes: $00 $02
+ ushort unknown09 = 0x0200;
+ [MarshalAs(UnmanagedType.ByValArray, SizeConst = 5)]
// Speculative: some kind of game information representation?
- byte unknown10 = 0x02;
+ byte[] unknown10;
[MarshalAs(UnmanagedType.ByValArray, SizeConst = 3)]
byte[] rewrittenDate;
@@ -822,7 +822,7 @@ namespace com.clusterrr.Famicom.Containers header[8] |= (byte)(Submapper << 4);
var prgRamBitSize = GetBitSize((int)PrgRamSize);
var prgNvRamBitSize = GetBitSize((int)PrgNvRamSize);
- // PRG-RAM (volatile) shift count
+ // PRG RAM (volatile) shift count
header[10] |= (byte)(Math.Max(prgRamBitSize - 7, 0) & 0x0F);
// PRG-NVRAM/EEPROM (non-volatile) shift count
header[10] |= (byte)((Math.Max(prgNvRamBitSize - 7, 0) << 4) & 0xF0);
|