📄 smt_dat.h
字号:
/********************************************************************************/
/* */
/* Copyright (C) SEIKO EPSON CORP. 2000 */
/* */
/* File name : smt_dat.h */
/* This is smart media physical & logical format data */
/* */
/* Revision history */
/* 2000.04.25 H.Ogura start */
/* 2001.12.14 A.Saito Append initial value FAT Type to smtDevInf */
/* 2003.06.05 A.Saito Modify Comment */
/* */
/********************************************************************************/
/********************************************************************************/
/* The tab size of this file is 4. */
/********************************************************************************/
#ifndef __SMART_MEDIA_FORMAT_DATA_HEADER__
#define __SMART_MEDIA_FORMAT_DATA_HEADER__
#include "smt_ctl.h"
#include "smt_fat.h"
/****************************************************************/
/* INFORMATION DATA TABLE */
/****************************************************************/
/*--------------------------------------------------------------*/
/* SECTOR MAPPING INFORMATION TABLE */
/*--------------------------------------------------------------*/
const struct SMT_SCT_INFO smtSctInf[SMT_MDL_MAX] = {
/*----------------------------------------------------------------------------------*/
/* Mast Not-Use Part FAT FAT-Copy Root-Dir Data-Area */
/* Boot [0] [1] Boot [0] [1] [0] [1] [0] [1] [0] [1] */
/*----------------------------------------------------------------------------------*/
{ 0, { 1, 26 }, 27, { 28, 29 }, { 30, 31 }, { 32, 47 }, { 48, 7999 } }, // 4 MB
{ 0, { 1, 24 }, 25, { 26, 28 }, { 29, 31 }, { 32, 47 }, { 48, 15999 } }, // 8 MB
{ 0, { 1, 40 }, 41, { 42, 44 }, { 45, 47 }, { 48, 63 }, { 64, 31999 } }, // 16 MB
{ 0, { 1, 34 }, 35, { 36, 41 }, { 42, 47 }, { 48, 63 }, { 64, 63999 } }, // 32 MB
{ 0, { 1, 54 }, 55, { 56, 67 }, { 68, 79 }, { 80, 95 }, { 96, 127999 } }, // 64 MB
{ 0, { 1, 46 }, 47, { 48, 79 }, { 80, 111 }, { 112, 127 }, { 128, 255999 } }, // 128 MB
{ 0, { 1, 46 }, 47, { 48, 79 }, { 80, 111 }, { 112, 127 }, { 128, 255999 } }, // 128 MB ADV
};
/*--------------------------------------------------------------*/
/* SMART MEDIA SIZE INFORMATION TABLE */
/*--------------------------------------------------------------*/
const struct SMT_SIZ_INFO smtSizeInf[SMT_MDL_MAX] = {
/*-------------------------------------------------------------------------------------------*/
/* Num of Head Sector Num of Sector Prolix Page Block Num of Num of Erase Bad */
/* Cylind /Track /Head Sector Size Size Size Size Block Page Unit Block */
/*-------------------------------------------------------------------------------------------*/
{ 250, 4, 8, 8000, 512, 16, 528, 16, 512, 8192, 8, 10 }, // 4 MB
// { 250, 4, 16, 16000, 512, 16, 528, 16, 1024, 16384, 8, 23 }, // 8 MB
{ 250, 4, 16, 16000, 512, 16, 528, 32, 512, 16384, 8, 23 }, // 8 MB
{ 500, 4, 16, 32000, 512, 16, 528, 32, 1024, 32768, 16, 23 }, // 16 MB
{ 500, 8, 16, 64000, 512, 16, 528, 32, 2048, 65536, 16, 23 }, // 32 MB
{ 500, 8, 32, 128000, 512, 16, 528, 32, 4096, 131072, 16, 23 }, // 64 MB
{ 500, 16, 32, 256000, 512, 16, 528, 32, 8192, 262144, 16, 23 }, // 128 MB
{ 500, 16, 32, 256000, 512, 16, 528, 256, 1024, 262144, 16, 23 }, // 128 MB ADV
};
/*--------------------------------------------------------------*/
/* SMART MEDIA MASTER BOOT PARTITION INFORMATION TABLE */
/*--------------------------------------------------------------*/
const struct SMT_PRT_STR smtMptInf[SMT_MDL_MAX] = {
/*------------------------------------------------------------------------------------*/
/* Boot Start Start Start System End End End Start Partition */
/* Dist Head Sector Cylind Dist Head Sector Cylind Log Sector Size */
/*------------------------------------------------------------------------------------*/
{ 0x80, 0x03, 0x04, 0x00, 0x01, 0x03, 0x08, 0xF9, 0x0000001B, 0x00001F25 }, // 4MB
{ 0x80, 0x01, 0x0A, 0x00, 0x01, 0x03, 0x10, 0xF9, 0x00000019, 0x00003E67 }, // 8MB
{ 0x80, 0x02, 0x0A, 0x00, 0x01, 0x03, 0x50, 0xF3, 0x00000029, 0x00007CD7 }, // 16MB
{ 0x80, 0x02, 0x04, 0x00, 0x01, 0x07, 0x50, 0xF3, 0x00000023, 0x0000F9DD }, // 32MB
{ 0x80, 0x01, 0x18, 0x00, 0x01, 0x07, 0x60, 0xF3, 0x00000037, 0x0001F3C9 }, // 64MB
{ 0x80, 0x01, 0x10, 0x00, 0x06, 0x0F, 0x60, 0xF3, 0x0000002F, 0x0003E7D1 }, // 128MB
{ 0x80, 0x01, 0x10, 0x00, 0x06, 0x0F, 0x60, 0xF3, 0x0000002F, 0x0003E7D1 }, // 128MB ADV
};
/*--------------------------------------------------------------*/
/* SMART MEDIA DEVICE INFORMATION TABLE */
/*--------------------------------------------------------------*/
const struct SMT_DEV_INFO smtDevInf[SMT_TYP_MAX][SMT_MDL_MAX] = {
{
/*------------------------------------------------------------------------------------------------+--------------*/
/* Maker Device Media FAT Type Media Sector Info Size Info Master Boot | Flash Memory */
/* Code Code Type Size Struct Pointer Struct Pointer Sector | SAMSUNG */
/*------------------------------------------------------------------------------------------------+--------------*/
{ 0x00, 0xFF, SMT_T_FLASH, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], &smtMptInf[0] }, // 4 MB Type
{ 0x00, 0xFF, SMT_T_FLASH, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], &smtMptInf[0] }, // 4 MB Type
{ 0x00, 0xFF, SMT_T_FLASH, SMT_FATTYPE_12, 8, &smtSctInf[1], &smtSizeInf[1], &smtMptInf[1] }, // 8 MB Type
{ 0x00, 0x53, SMT_T_FLASH, SMT_FATTYPE_12, 16, &smtSctInf[2], &smtSizeInf[2], &smtMptInf[2] }, // 16 MB Type
{ 0x00, 0x55, SMT_T_FLASH, SMT_FATTYPE_12, 32, &smtSctInf[3], &smtSizeInf[3], &smtMptInf[3] }, // 32 MB Type
{ 0x00, 0xFF, SMT_T_FLASH, SMT_FATTYPE_12, 64, &smtSctInf[4], &smtSizeInf[4], &smtMptInf[4] }, // 64 MB Type
{ 0x00, 0xC1, SMT_T_FLASH, SMT_FATTYPE_16, 128, &smtSctInf[6], &smtSizeInf[6], &smtMptInf[6] } // 128 MB Type ADV
},
{
/*------------------------------------------------------------------------------------------------+--------------*/
/* Maker Device Media FAT Type Media Sector Info Size Info Master Boot | Flash Memory */
/* Code Code Type Size Struct Pointer Struct Pointer Sector | SMT */
/*------------------------------------------------------------------------------------------------+--------------*/
{ 0x00, 0xE3, SMT_T_FLASH, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], &smtMptInf[0] }, // 4 MB Type
{ 0x00, 0xE5, SMT_T_FLASH, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], &smtMptInf[0] }, // 4 MB Type
{ 0x00, 0xE6, SMT_T_FLASH, SMT_FATTYPE_12, 8, &smtSctInf[1], &smtSizeInf[1], &smtMptInf[1] }, // 8 MB Type
{ 0x00, 0x73, SMT_T_FLASH, SMT_FATTYPE_12, 16, &smtSctInf[2], &smtSizeInf[2], &smtMptInf[2] }, // 16 MB Type
{ 0x00, 0x75, SMT_T_FLASH, SMT_FATTYPE_12, 32, &smtSctInf[3], &smtSizeInf[3], &smtMptInf[3] }, // 32 MB Type
{ 0x00, 0x76, SMT_T_FLASH, SMT_FATTYPE_12, 64, &smtSctInf[4], &smtSizeInf[4], &smtMptInf[4] }, // 64 MB Type
{ 0x00, 0x79, SMT_T_FLASH, SMT_FATTYPE_16, 128, &smtSctInf[5], &smtSizeInf[5], &smtMptInf[5] } // 128 MB Type
},
{
/*------------------------------------------------------------------------------------------------+--------------*/
/* Maker Device Media FAT Type Media Sector Info Size Info Master Boot | MASK ROM */
/* Code Code Type Size Struct Pointer Struct Pointer Sector | */
/*------------------------------------------------------------------------------------------------+--------------*/
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], 0x00 }, // 4 MB type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 4, &smtSctInf[0], &smtSizeInf[0], 0x00 }, // 4 MB type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 8, &smtSctInf[1], &smtSizeInf[1], 0x00 }, // 8 MB type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 16, &smtSctInf[2], &smtSizeInf[2], 0x00 }, // 16 MB Type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 32, &smtSctInf[3], &smtSizeInf[3], 0x00 }, // 32 MB Type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_12, 64, &smtSctInf[4], &smtSizeInf[4], 0x00 }, // 64 MB Type
{ 0x00, 0x00, SMT_T_MASK, SMT_FATTYPE_16, 128, &smtSctInf[5], &smtSizeInf[5], 0x00 } // 128 MB Type
}
};
/****************************************************************/
/* CIS/IDENTIFY DRIVE INFORMATION DATA */
/****************************************************************/
/*--------------------------------------------------------------*/
/* CIS AREA COMPARE DATA */
/*--------------------------------------------------------------*/
const unsigned char smtCIS[10] = {
0x01, 0x03, 0xd9, 0x01, 0xff, 0x18, 0x02, 0xdf, 0x01, 0x20
};
/*--------------------------------------------------------------*/
/* < 512 Byte/Page MODEL > */
/*--------------------------------------------------------------*/
const unsigned char smtCIS512[512+16] = { // !!!!! DATA CHANGE PROHIBITION !!!!! //
/*+----+--------------------------------------------------------------------------------------------------+*/
/*| | 0 1 2 3 4 5 6 7 8 9 A B C D E F |*/
/*+----+--------------------------------------------------------------------------------------------------+*/
/*| 00 |*/ 0x01, 0x03, 0xd9, 0x01, 0xff, 0x18, 0x02, 0xdf, 0x01, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x21,
/*| 01 |*/ 0x02, 0x04, 0x01, 0x22, 0x02, 0x01, 0x01, 0x22, 0x03, 0x02, 0x04, 0x07, 0x1a, 0x05, 0x01, 0x03,
/*| 02 |*/ 0x00, 0x02, 0x0f, 0x1b, 0x08, 0xc0, 0xc0, 0xa1, 0x01, 0x55, 0x08, 0x00, 0x20, 0x1b, 0x0a, 0xc1,
/*| 03 |*/ 0x41, 0x99, 0x01, 0x55, 0x64, 0xf0, 0xff, 0xff, 0x20, 0x1b, 0x0c, 0x82, 0x41, 0x18, 0xea, 0x61,
/*| 04 |*/ 0xf0, 0x01, 0x07, 0xf6, 0x03, 0x01, 0xee, 0x1b, 0x0c, 0x83, 0x41, 0x18, 0xea, 0x61, 0x70, 0x01,
/*| 05 |*/ 0x07, 0x76, 0x03, 0x01, 0xee, 0x15, 0x14, 0x05, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
/*| 06 |*/ 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x2e, 0x30, 0x00, 0xff, 0x14, 0x00, 0xff, 0x00, 0x00,
/*| 07 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 08 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 09 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0A |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0B |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0C |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0D |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0E |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 0F |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 10 |*/ 0x01, 0x03, 0xd9, 0x01, 0xff, 0x18, 0x02, 0xdf, 0x01, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x21,
/*| 11 |*/ 0x02, 0x04, 0x01, 0x22, 0x02, 0x01, 0x01, 0x22, 0x03, 0x02, 0x04, 0x07, 0x1a, 0x05, 0x01, 0x03,
/*| 12 |*/ 0x00, 0x02, 0x0f, 0x1b, 0x08, 0xc0, 0xc0, 0xa1, 0x01, 0x55, 0x08, 0x00, 0x20, 0x1b, 0x0a, 0xc1,
/*| 13 |*/ 0x41, 0x99, 0x01, 0x55, 0x64, 0xf0, 0xff, 0xff, 0x20, 0x1b, 0x0c, 0x82, 0x41, 0x18, 0xea, 0x61,
/*| 14 |*/ 0xf0, 0x01, 0x07, 0xf6, 0x03, 0x01, 0xee, 0x1b, 0x0c, 0x83, 0x41, 0x18, 0xea, 0x61, 0x70, 0x01,
/*| 15 |*/ 0x07, 0x76, 0x03, 0x01, 0xee, 0x15, 0x14, 0x05, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
/*| 16 |*/ 0x00, 0x20, 0x20, 0x20, 0x20, 0x00, 0x30, 0x2e, 0x30, 0x00, 0xff, 0x14, 0x00, 0xff, 0x00, 0x00,
/*| 17 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 18 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 19 |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1A |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1B |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1C |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1D |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1E |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*| 1F |*/ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/*+----+*/
/*| -- |*/ 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x0c, 0xcc, 0xc3, 0x00, 0x00, 0x0c, 0xcc, 0xc3
/*+----+*/
};
#endif //__SMART_MEDIA_FORMAT_DATA_HEADER__
/***** End of file *****/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -