NesContainers
Public Member Functions | Static Public Member Functions | Properties
com.clusterrr.Famicom.Containers.FdsDiskSide Class Reference

Single FDS disk side: disk info block, file amount block and file blocks More...

Public Member Functions

 FdsDiskSide ()
 Constructor to create empty FdsDiskSide object More...
 
 FdsDiskSide (FdsBlockDiskInfo diskInfoBlock, FdsBlockFileAmount fileAmountBlock, IEnumerable< FdsDiskFile > files)
 Constructor to create FdsDiskSide object from blocks and files More...
 
 FdsDiskSide (IEnumerable< IFdsBlock > blocks)
 Constructor to create FdsDiskSide object from blocks More...
 
 FdsDiskSide (byte[] data)
 Constructor to create FdsDiskSide object from raw data More...
 
void FixFileNumbers ()
 Change file's "file number" fields orderly More...
 
IEnumerable< IFdsBlockGetBlocks ()
 Get FDS blocks More...
 
byte[] ToBytes ()
 Return raw data More...
 
override string ToString ()
 String representation More...
 

Static Public Member Functions

static FdsDiskSide FromBytes (byte[] data)
 Create FdsDiskSide object from raw data More...
 

Properties

FdsBlockDiskInfo DiskInfoBlock [get]
 Disk info block More...
 
string DiskVerification [get]
 Literal ASCII string: NINTENDO-HVC More...
 
Company LicenseeCode [get, set]
 Manufacturer code. 0x00 = Unlicensed, 0x01 = Nintendo More...
 
string? GameName [get, set]
 3-letter ASCII code per game (e.g. ZEL for The Legend of Zelda) More...
 
char GameType [get, set]
 0x20 = " " — Normal disk 0x45 = "E" — Event(e.g.Japanese national DiskFax tournaments) 0x52 = "R" — Reduction in price via advertising More...
 
byte GameVersion [get, set]
 Game version/revision number. Starts at 0x00, increments per revision More...
 
DiskSides DiskSide [get, set]
 Side number. Single-sided disks use A More...
 
byte DiskNumber [get, set]
 Disk number. First disk is 0x00, second is 0x01, etc. More...
 
DiskTypes DiskType [get, set]
 Disk type. 0x00 = FMC ("normal card"), 0x01 = FSC ("card with shutter"). May correlate with FMC and FSC product codes More...
 
byte Unknown01 [get, set]
 Unknown, offset 0x18. Always 0x00 More...
 
byte BootFile [get, set]
 Boot read file code. Refers to the file code/file number to load upon boot/start-up More...
 
byte Unknown02 [get, set]
 Unknown, offset 0x1A. Always 0xFF More...
 
byte Unknown03 [get, set]
 Unknown, offset 0x1B. Always 0xFF More...
 
byte Unknown04 [get, set]
 Unknown, offset 0x1C. Always 0xFF More...
 
byte Unknown05 [get, set]
 Unknown, offset 0x1D. Always 0xFF More...
 
byte Unknown06 [get, set]
 Unknown, offset 0x1E. Always 0xFF More...
 
DateTime? ManufacturingDate [get, set]
 Manufacturing date More...
 
Country CountryCode [get, set]
 Country code. 0x49 = Japan More...
 
byte Unknown07 [get, set]
 Unknown, offset 0x23. Always 0x61. Speculative: Region code? More...
 
byte Unknown08 [get, set]
 Unknown, offset 0x24. Always 0x00. Speculative: Location/site? More...
 
byte Unknown09 [get, set]
 Unknown, offset 0x25. Always 0x00 More...
 
byte Unknown10 [get, set]
 Unknown, offset 0x26. Always 0x02 More...
 
byte Unknown11 [get, set]
 Unknown, offset 0x27. Speculative: some kind of game information representation? More...
 
byte Unknown12 [get, set]
 Unknown, offset 0x28. Speculative: some kind of game information representation? More...
 
byte Unknown13 [get, set]
 Unknown, offset 0x29. Speculative: some kind of game information representation? More...
 
byte Unknown14 [get, set]
 Unknown, offset 0x2A. Speculative: some kind of game information representation? More...
 
byte Unknown15 [get, set]
 Unknown, offset 0x2B. Speculative: some kind of game information representation? More...
 
DateTime? RewrittenDate [get, set]
 "Rewritten disk" date. It's speculated this refers to the date the disk was formatted and rewritten by something like a Disk Writer kiosk. In the case of an original (non-copied) disk, this should be the same as Manufacturing date More...
 
byte Unknown16 [get, set]
 Unknown, offset 0x2F More...
 
byte Unknown17 [get, set]
 Unknown, offset 0x30. Always 0x80 More...
 
ushort DiskWriterSerialNumber [get, set]
 Disk Writer serial number More...
 
byte Unknown18 [get, set]
 Unknown, offset 0x33, unknown. Always 0x07 More...
 
byte DiskRewriteCount [get, set]
 Disk rewrite count. 0x00 = Original (no copies) More...
 
DiskSides ActualDiskSide [get, set]
 Actual disk side More...
 
DiskTypesOther DiskTypeOther [get, set]
 Disk type (other) More...
 
byte Price [get, set]
 Price code (deprecated, no backing) More...
 
byte DiskVersion [get, set]
 Unknown how this differs from GameVersion. Disk version numbers indicate different software revisions. Speculation is that disk version incremented with each disk received from a licensee More...
 
byte FileAmount [get, set]
 Non-hidden file amount More...
 
IList< FdsDiskFileFiles [get]
 Files on disk More...
 

Detailed Description

Single FDS disk side: disk info block, file amount block and file blocks

Constructor & Destructor Documentation

◆ FdsDiskSide() [1/4]

com.clusterrr.Famicom.Containers.FdsDiskSide.FdsDiskSide ( )
inline

Constructor to create empty FdsDiskSide object

Here is the caller graph for this function:

◆ FdsDiskSide() [2/4]

com.clusterrr.Famicom.Containers.FdsDiskSide.FdsDiskSide ( FdsBlockDiskInfo  diskInfoBlock,
FdsBlockFileAmount  fileAmountBlock,
IEnumerable< FdsDiskFile files 
)
inline

Constructor to create FdsDiskSide object from blocks and files

Parameters
diskInfoBlockDisk info block
fileAmountBlockFile amount block
filesFiles

◆ FdsDiskSide() [3/4]

com.clusterrr.Famicom.Containers.FdsDiskSide.FdsDiskSide ( IEnumerable< IFdsBlock blocks)
inline

Constructor to create FdsDiskSide object from blocks

Parameters
blocks

◆ FdsDiskSide() [4/4]

com.clusterrr.Famicom.Containers.FdsDiskSide.FdsDiskSide ( byte[]  data)
inline

Constructor to create FdsDiskSide object from raw data

Parameters
data
Here is the call graph for this function:

Member Function Documentation

◆ FixFileNumbers()

void com.clusterrr.Famicom.Containers.FdsDiskSide.FixFileNumbers ( )
inline

Change file's "file number" fields orderly

◆ GetBlocks()

IEnumerable<IFdsBlock> com.clusterrr.Famicom.Containers.FdsDiskSide.GetBlocks ( )
inline

Get FDS blocks

Returns

◆ FromBytes()

static FdsDiskSide com.clusterrr.Famicom.Containers.FdsDiskSide.FromBytes ( byte[]  data)
inlinestatic

Create FdsDiskSide object from raw data

Parameters
dataData
Returns
FdsDiskSide object
Here is the call graph for this function:
Here is the caller graph for this function:

◆ ToBytes()

byte [] com.clusterrr.Famicom.Containers.FdsDiskSide.ToBytes ( )
inline

Return raw data

Returns

◆ ToString()

override string com.clusterrr.Famicom.Containers.FdsDiskSide.ToString ( )

String representation

Returns
Game name, disk number, side number as string

Property Documentation

◆ DiskInfoBlock

FdsBlockDiskInfo com.clusterrr.Famicom.Containers.FdsDiskSide.DiskInfoBlock
get

Disk info block

◆ DiskVerification

string com.clusterrr.Famicom.Containers.FdsDiskSide.DiskVerification
get

Literal ASCII string: NINTENDO-HVC

◆ LicenseeCode

Company com.clusterrr.Famicom.Containers.FdsDiskSide.LicenseeCode
getset

Manufacturer code. 0x00 = Unlicensed, 0x01 = Nintendo

◆ GameName

string? com.clusterrr.Famicom.Containers.FdsDiskSide.GameName
getset

3-letter ASCII code per game (e.g. ZEL for The Legend of Zelda)

◆ GameType

char com.clusterrr.Famicom.Containers.FdsDiskSide.GameType
getset

0x20 = " " — Normal disk 0x45 = "E" — Event(e.g.Japanese national DiskFax tournaments) 0x52 = "R" — Reduction in price via advertising

◆ GameVersion

byte com.clusterrr.Famicom.Containers.FdsDiskSide.GameVersion
getset

Game version/revision number. Starts at 0x00, increments per revision

◆ DiskSide

DiskSides com.clusterrr.Famicom.Containers.FdsDiskSide.DiskSide
getset

Side number. Single-sided disks use A

◆ DiskNumber

byte com.clusterrr.Famicom.Containers.FdsDiskSide.DiskNumber
getset

Disk number. First disk is 0x00, second is 0x01, etc.

◆ DiskType

DiskTypes com.clusterrr.Famicom.Containers.FdsDiskSide.DiskType
getset

Disk type. 0x00 = FMC ("normal card"), 0x01 = FSC ("card with shutter"). May correlate with FMC and FSC product codes

◆ Unknown01

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown01
getset

Unknown, offset 0x18. Always 0x00

◆ BootFile

byte com.clusterrr.Famicom.Containers.FdsDiskSide.BootFile
getset

Boot read file code. Refers to the file code/file number to load upon boot/start-up

◆ Unknown02

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown02
getset

Unknown, offset 0x1A. Always 0xFF

◆ Unknown03

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown03
getset

Unknown, offset 0x1B. Always 0xFF

◆ Unknown04

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown04
getset

Unknown, offset 0x1C. Always 0xFF

◆ Unknown05

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown05
getset

Unknown, offset 0x1D. Always 0xFF

◆ Unknown06

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown06
getset

Unknown, offset 0x1E. Always 0xFF

◆ ManufacturingDate

DateTime? com.clusterrr.Famicom.Containers.FdsDiskSide.ManufacturingDate
getset

Manufacturing date

◆ CountryCode

Country com.clusterrr.Famicom.Containers.FdsDiskSide.CountryCode
getset

Country code. 0x49 = Japan

◆ Unknown07

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown07
getset

Unknown, offset 0x23. Always 0x61. Speculative: Region code?

◆ Unknown08

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown08
getset

Unknown, offset 0x24. Always 0x00. Speculative: Location/site?

◆ Unknown09

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown09
getset

Unknown, offset 0x25. Always 0x00

◆ Unknown10

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown10
getset

Unknown, offset 0x26. Always 0x02

◆ Unknown11

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown11
getset

Unknown, offset 0x27. Speculative: some kind of game information representation?

◆ Unknown12

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown12
getset

Unknown, offset 0x28. Speculative: some kind of game information representation?

◆ Unknown13

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown13
getset

Unknown, offset 0x29. Speculative: some kind of game information representation?

◆ Unknown14

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown14
getset

Unknown, offset 0x2A. Speculative: some kind of game information representation?

◆ Unknown15

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown15
getset

Unknown, offset 0x2B. Speculative: some kind of game information representation?

◆ RewrittenDate

DateTime? com.clusterrr.Famicom.Containers.FdsDiskSide.RewrittenDate
getset

"Rewritten disk" date. It's speculated this refers to the date the disk was formatted and rewritten by something like a Disk Writer kiosk. In the case of an original (non-copied) disk, this should be the same as Manufacturing date

◆ Unknown16

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown16
getset

Unknown, offset 0x2F

◆ Unknown17

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown17
getset

Unknown, offset 0x30. Always 0x80

◆ DiskWriterSerialNumber

ushort com.clusterrr.Famicom.Containers.FdsDiskSide.DiskWriterSerialNumber
getset

Disk Writer serial number

◆ Unknown18

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Unknown18
getset

Unknown, offset 0x33, unknown. Always 0x07

◆ DiskRewriteCount

byte com.clusterrr.Famicom.Containers.FdsDiskSide.DiskRewriteCount
getset

Disk rewrite count. 0x00 = Original (no copies)

◆ ActualDiskSide

DiskSides com.clusterrr.Famicom.Containers.FdsDiskSide.ActualDiskSide
getset

Actual disk side

◆ DiskTypeOther

DiskTypesOther com.clusterrr.Famicom.Containers.FdsDiskSide.DiskTypeOther
getset

Disk type (other)

◆ Price

byte com.clusterrr.Famicom.Containers.FdsDiskSide.Price
getset

Price code (deprecated, no backing)

◆ DiskVersion

byte com.clusterrr.Famicom.Containers.FdsDiskSide.DiskVersion
getset

Unknown how this differs from GameVersion. Disk version numbers indicate different software revisions. Speculation is that disk version incremented with each disk received from a licensee

◆ FileAmount

byte com.clusterrr.Famicom.Containers.FdsDiskSide.FileAmount
getset

Non-hidden file amount

◆ Files

IList<FdsDiskFile> com.clusterrr.Famicom.Containers.FdsDiskSide.Files
get

Files on disk