stream analysis : configurable index length. better weakbits area filling.

git-svn-id: svn://svn.code.sf.net/p/hxcfloppyemu/code/HxCFloppyEmulator/libhxcfe/trunk@2601 63fa2f70-6a9b-4bc4-b855-9c6a949b1d69
This commit is contained in:
Jean-François DEL NERO
2022-09-06 21:04:18 +00:00
parent 9f9173cb0e
commit d85ad1740a
7 changed files with 325 additions and 163 deletions
+11
View File
@@ -175,6 +175,17 @@ set FLUXSTREAM_ANALYSIS_REV2REV_MAX_PULSES_JITTER 10 # Max pulses duration jitte
set FLUXSTREAM_BITRATE_FILTER_PASSES 2 # number of filter passes.
set FLUXSTREAM_BITRATE_FILTER_WINDOW 24 # Filter window size.
#
# Post analysis default index length setting
#
set FLUXSTREAM_ANALYSIS_OUT_INDEX_LENGTH -1 # -1 : Auto, > 0 index length in uS
#
# Weakbits cells threshold
#
set FLUXSTREAM_PLL_WEAKBITS_CELLCNT_THRESHOLD 6
#
# Victor 9000 Bands mode pll
+163 -155
View File
@@ -5,8 +5,8 @@
//
// File: init.script
//
// Original size: 11732 Bytes
// Packed size: 5576 Bytes
// Original size: 11952 Bytes
// Packed size: 5704 Bytes
//
#ifndef DATATYPEDEF
@@ -222,161 +222,169 @@ unsigned char data__init_script[] =
0xb2,0xe4,0xd0,0x35,0xa3,0x15,0x09,0x26,0xa4,0x0e,0x6c,0x89,0x16,0x11,0x1a,0xa7,
0xc9,0x14,0x97,0x4c,0x69,0x12,0x60,0x93,0x3e,0xa7,0xa3,0x34,0xd0,0x4b,0x35,0x33,
0xf4,0xba,0x89,0x44,0xaa,0xf3,0xd2,0x59,0xa3,0x8e,0x27,0xd3,0x70,0x76,0xe6,0xa0,
0x99,0x46,0x8a,0x0a,0xc4,0xb4,0x4a,0x23,0x3c,0x07,0x28,0xa8,0x08,0x50,0x72,0xaf,
0x30,0x0a,0x2a,0xc0,0xd9,0x3d,0xb2,0x94,0x82,0xb3,0x81,0x38,0x40,0xbf,0x35,0xaf,
0x72,0xc3,0xcc,0x41,0x1c,0xce,0xe1,0x16,0x80,0x9c,0x08,0xf0,0xca,0xfd,0x26,0x96,
0x70,0xe3,0x68,0x52,0xc6,0xfe,0x05,0xe6,0xec,0x32,0x85,0x1e,0x71,0xe0,0x5c,0x05,
0x24,0x64,0x73,0x64,0x41,0x45,0x27,0x83,0x1b,0xb4,0x5c,0x90,0xee,0xce,0xac,0xaa,
0x7c,0x96,0xe0,0x9c,0xe6,0xc7,0xb2,0xfd,0x69,0x20,0x90,0x09,0xb0,0x72,0x85,0x90,
0x6e,0x87,0x16,0x43,0xa2,0xab,0x49,0x90,0x62,0x9c,0xb2,0x01,0x4c,0xd4,0x2c,0xc2,
0x94,0xb9,0x47,0xd4,0xbf,0x47,0xd4,0xc2,0x81,0x10,0xa8,0x61,0xe2,0x7e,0x05,0x04,
0x8a,0x39,0x4d,0x0a,0x45,0x00,0xe4,0xe6,0x06,0x8a,0x66,0x6a,0x68,0x4b,0x03,0x02,
0x4b,0x65,0x22,0x5c,0xa0,0xe4,0x41,0xc2,0x26,0xcd,0x86,0xa8,0x65,0x06,0xae,0x66,
0x27,0x24,0xbb,0x27,0x92,0x84,0x47,0x16,0x52,0x86,0xa2,0x6b,0xa6,0xab,0x00,0x05,
0x60,0x57,0x02,0xc0,0xde,0xc5,0x1c,0x0d,0xe5,0xc2,0x94,0xc0,0xda,0x2c,0x11,0x96,
0x45,0x27,0x02,0xb6,0x08,0xdc,0x8e,0x55,0x18,0x7f,0x27,0xe7,0x3e,0x2f,0xce,0x92,
0x54,0xcf,0x18,0x31,0xbc,0x35,0x0f,0x94,0x40,0x93,0xcc,0x29,0x43,0xfe,0x52,0xd0,
0x9e,0x27,0x82,0x8c,0x0d,0xe0,0x5a,0x2b,0x82,0x8f,0x2d,0x27,0x22,0x81,0xb5,0x46,
0x79,0x55,0x4a,0x7c,0xa8,0x58,0x88,0x34,0xd3,0x55,0x4e,0x93,0x49,0x63,0xc0,0x05,
0xe2,0xac,0x5d,0xee,0xa9,0x3c,0x85,0xb8,0x72,0xad,0xf6,0x0d,0x70,0x02,0x7a,0x62,
0x1e,0x41,0xc4,0x20,0x99,0x55,0x16,0x5e,0xd4,0xba,0x55,0xb5,0x1e,0x33,0xd5,0x0a,
0x6b,0xd5,0x26,0x81,0x68,0x1a,0x7b,0x87,0xbc,0x96,0x55,0x81,0x35,0x00,0xaa,0xc5,
0xcf,0x72,0x78,0x60,0x8a,0x54,0x15,0x53,0x1f,0xe7,0x84,0xf0,0xe2,0xa2,0x40,0x8a,
0xf4,0x27,0xe7,0x02,0x05,0xf5,0xa1,0x0a,0xc8,0xdd,0x5c,0x68,0xe5,0x58,0x08,0x3f,
0x47,0x40,0x99,0x5d,0x40,0x92,0x79,0xf5,0x89,0x20,0x15,0xe0,0xf1,0x04,0x45,0x00,
0x82,0x1c,0x97,0xc7,0x1d,0x5f,0x47,0xbb,0x5f,0x87,0x9a,0x7e,0x4f,0xc9,0x41,0x68,
0x45,0x5d,0xd4,0xce,0xaa,0xf5,0x5a,0xbf,0xf1,0x4a,0xfa,0x55,0x64,0x05,0x15,0x68,
0x2b,0xe4,0xa3,0x57,0x06,0xab,0x57,0x76,0x1b,0x5c,0x8a,0xb5,0x58,0x09,0x61,0x17,
0xb6,0x2b,0x5d,0xe0,0x40,0xe9,0x44,0x41,0x59,0x2c,0xe7,0x59,0x82,0x8d,0x59,0xd4,
0xbc,0xdd,0x83,0x3f,0x5a,0x66,0xd5,0x5f,0x26,0x8b,0x48,0x85,0x1c,0x6d,0xc3,0xa0,
0x6f,0x45,0x99,0x5b,0xb5,0x22,0x65,0x13,0xda,0x7d,0x87,0xdc,0x7e,0x16,0x20,0x7c,
0x95,0xcf,0x5d,0x29,0x0f,0x5d,0x96,0x09,0x58,0xa6,0x93,0x5e,0x23,0xf7,0x5e,0x94,
0x7e,0x6d,0x75,0xf1,0x40,0xe6,0xea,0x7d,0xa7,0xdf,0x5f,0xae,0xea,0x08,0xf6,0x00,
0x82,0x56,0x05,0x62,0x95,0x54,0x92,0x96,0xa1,0x60,0xe3,0xcb,0x61,0x2f,0xd7,0x61,
0x88,0x1b,0x68,0xb6,0xb5,0x69,0x15,0x4d,0x62,0x76,0x9d,0x6c,0x55,0x56,0x08,0xd6,
0x30,0x3f,0x75,0x60,0xfa,0x75,0x66,0x4a,0x55,0x6d,0x64,0x35,0x74,0xd9,0x28,0xdd,
0x6d,0x76,0x8e,0x7c,0x67,0xe6,0x81,0xf5,0x87,0x65,0x56,0x2d,0x65,0x95,0x8e,0x0e,
0x96,0x5f,0x59,0x64,0x08,0x22,0x15,0x9a,0x9d,0xac,0xc0,0xb2,0x75,0xa4,0x73,0x15,
0xa8,0x48,0x76,0x72,0xbb,0x20,0xa6,0x2a,0x03,0xae,0x08,0x62,0x72,0x27,0xe0,0xa0,
0x47,0xe6,0x92,0x53,0xe6,0x93,0x47,0xd5,0xb8,0x6b,0x86,0x4d,0x52,0x4f,0x03,0x54,
0x45,0x3f,0x5c,0xc0,0x9f,0x5d,0x16,0xbd,0x5d,0x75,0xdb,0x6e,0x36,0xc6,0x0a,0x76,
0xa3,0x5e,0x60,0xc8,0x58,0xad,0xd9,0x6a,0xe7,0xf1,0x6d,0xb6,0xbf,0x5f,0xf6,0x03,
0x60,0x77,0x0b,0x4c,0xd6,0x0d,0x5e,0x56,0xcd,0x00,0xad,0x29,0x75,0x2e,0xf7,0x77,
0x74,0x14,0xfc,0xd6,0xc3,0x76,0x32,0x03,0x6e,0x60,0xe5,0x55,0xc8,0x04,0x22,0x53,
0xce,0x4e,0xd6,0x3b,0x6f,0x36,0x41,0x57,0x32,0x56,0x2f,0xf5,0x78,0x85,0x57,0x75,
0x70,0x35,0x82,0x8e,0x16,0x53,0x79,0xb6,0xc7,0x65,0xb5,0x91,0x59,0x4b,0xee,0x3d,
0xc0,0xdd,0x71,0xd1,0x4f,0x66,0xa6,0xe9,0x66,0xf5,0xab,0x11,0x66,0x8a,0x08,0x82,
0x40,0x0c,0x60,0x8c,0x95,0x68,0x54,0x08,0x89,0xab,0x74,0x47,0x2b,0x74,0x95,0xbd,
0x74,0xf3,0xdb,0x7f,0x34,0x1d,0x77,0x76,0x95,0x75,0xcc,0x69,0x76,0x17,0x9b,0x78,
0x56,0xa5,0x76,0xd7,0x20,0xcc,0x55,0xf2,0x81,0xb8,0x03,0x6b,0x77,0x7b,0x6b,0xf7,
0x7f,0x7c,0x78,0x13,0x61,0x17,0x8b,0x6a,0xf8,0x21,0x79,0x35,0x4f,0x79,0x97,0xc7,
0x6e,0x56,0xe9,0x55,0xf7,0xa7,0x56,0x37,0xab,0x63,0xd6,0xf5,0x7b,0x36,0x47,0x81,
0xf3,0xe9,0x79,0x37,0x06,0x7f,0xb7,0x81,0x70,0xd7,0xcb,0x71,0x37,0xcf,0x66,0x30,
0x17,0x71,0xf5,0xf1,0x66,0xd7,0x27,0x67,0x18,0x33,0x85,0x57,0xbe,0x0a,0x67,0x8e,
0xef,0x73,0xe6,0x78,0xb1,0x2d,0x13,0x00,0x86,0x0b,0x2a,0xcc,0x09,0x00,0xb4,0x8c,
0xf8,0x5c,0x8a,0xa0,0x40,0x08,0x82,0xba,0x57,0x22,0x96,0xb5,0x83,0x17,0x2f,0xf2,
0x8d,0x15,0xd5,0xae,0x23,0x90,0x22,0x2d,0x10,0x26,0x0e,0xa7,0x6a,0x08,0xc0,0x88,
0x26,0xb0,0x2c,0xfe,0x35,0xb4,0x57,0xd7,0xfb,0x68,0x44,0xf7,0x3d,0xb8,0xc1,0x82,
0x36,0xbb,0x77,0xd8,0x3b,0x6e,0x38,0x2d,0x78,0x96,0x15,0x6a,0xf8,0xd1,0x83,0x76,
0xdf,0x89,0x57,0x0d,0x79,0xf7,0xa2,0x21,0xd6,0xed,0x63,0x98,0x4b,0x7b,0x16,0x45,
0x6f,0xa8,0x1b,0x8e,0x57,0xbf,0x65,0x16,0xe1,0x8d,0xb7,0x0e,0x81,0x17,0x15,0x7d,
0x03,0x19,0x7d,0x74,0xd7,0x7d,0xa2,0xa7,0x7d,0xf7,0x2b,0x8e,0x30,0x2f,0x5f,0xac,
0x56,0x0a,0x10,0xba,0x7c,0x89,0x74,0xd3,0xb4,0xb3,0x60,0xb6,0xc8,0x2a,0x30,0x6d,
0x1e,0x57,0x22,0x4e,0xc0,0x94,0xd0,0x10,0x04,0x76,0xb4,0x0a,0x3f,0x70,0x9f,0x50,
0x46,0x49,0x6a,0xcf,0x04,0x68,0xf9,0x5b,0x95,0xd9,0x5a,0x67,0xb9,0x5f,0x96,0x59,
0x66,0x66,0xf3,0xc0,0x0a,0x96,0x6b,0x5a,0x60,0xee,0x22,0xf4,0x07,0x8c,0xb5,0xc1,
0x1b,0xb6,0x50,0x88,0xa8,0xea,0x83,0x88,0x3c,0x84,0x08,0x44,0x8b,0x40,0x65,0x42,
0xb7,0x82,0x85,0x60,0x40,0x9a,0xf4,0x3a,0x34,0xc9,0x5f,0x85,0x88,0x22,0x8e,0x88,
0x68,0x0b,0xf3,0x46,0x87,0x08,0x77,0x8e,0xa9,0x47,0x99,0x71,0x35,0x99,0xc9,0x09,
0x9a,0x28,0x39,0x9a,0x68,0x8e,0x0b,0x08,0xf0,0x89,0x94,0x70,0x8a,0x00,0x69,0x13,
0xf4,0xd1,0x99,0x00,0x60,0x4d,0xf9,0xbd,0x58,0x49,0x0d,0x9c,0x28,0x6b,0x9c,0x88,
0xf5,0x98,0xc8,0xfb,0x65,0x69,0x02,0x90,0x77,0xe4,0xa0,0x99,0x97,0x97,0x42,0x25,
0x52,0x17,0x4d,0x68,0x75,0xc2,0x85,0x47,0xa6,0xf7,0xec,0x55,0x7c,0x39,0x83,0x9a,
0x99,0x88,0x87,0x08,0x4c,0x8a,0x39,0xdd,0xa0,0xa0,0x97,0xa0,0xf9,0xe3,0x9a,0xb3,
0x56,0x04,0x00,0x73,0x9d,0x13,0xc0,0x3d,0xad,0xe6,0x0e,0x46,0xd8,0x35,0x15,0x06,
0x24,0x22,0xb8,0x2f,0xc5,0x2b,0x4c,0x82,0x7e,0x58,0x02,0x2e,0xb1,0xec,0x83,0x44,
0x45,0x0a,0x39,0x77,0x10,0xc0,0x52,0xe4,0x27,0xe0,0xc4,0x6e,0x68,0x04,0x80,0x99,
0xfb,0x50,0xee,0xae,0x40,0x86,0xf1,0x71,0xe4,0x1a,0x81,0x03,0xaf,0x54,0x39,0xa1,
0x9d,0xe8,0x23,0x13,0x00,0x83,0x69,0x73,0x48,0x09,0xe0,0x92,0x72,0xea,0xcd,0x0b,
0x98,0x86,0x09,0xef,0x7f,0x47,0x48,0xc9,0x9d,0xda,0x0f,0xa8,0x3a,0x86,0xf8,0x5a,
0x8c,0x82,0xba,0x92,0xf3,0x7a,0x97,0x6b,0x9a,0x9d,0xa7,0xda,0xa0,0x09,0xda,0x85,
0x6b,0xc7,0x8e,0x91,0x60,0x83,0xa9,0x08,0x2b,0xa9,0x5a,0x99,0x47,0x73,0x21,0xab,
0x68,0x5b,0x1c,0x7a,0xbb,0x69,0x60,0x8a,0x09,0xa0,0xab,0x12,0x7a,0xc9,0xaa,0xfa,
0xcd,0xab,0x5a,0x07,0x9b,0xfa,0xd7,0xab,0xcf,0x72,0x89,0xe0,0x9a,0x08,0x47,0xdd,
0x16,0xa9,0xa9,0xae,0x49,0x6f,0xae,0x9a,0xd1,0xae,0xda,0x7e,0x83,0x9a,0xa3,0x6b,
0xc0,0xa8,0x0b,0x29,0x6f,0xaa,0xbb,0x03,0xab,0x1a,0x9b,0xb0,0x88,0x7f,0xae,0xfb,
0x10,0xf7,0x2e,0x73,0x87,0xe0,0x92,0x09,0x20,0xbf,0x03,0xe0,0x63,0xad,0x7b,0x05,
0xab,0x3b,0x22,0x8d,0xfa,0xd5,0xb2,0x8e,0xd0,0x0a,0x1b,0x2f,0xb3,0x30,0x3e,0x06,
0x5b,0x3b,0xb1,0xfa,0xcf,0xa9,0xfb,0x45,0xad,0x9a,0xbf,0xb4,0xb6,0x00,0xb7,0x9b,
0x34,0xfe,0x1b,0x55,0xb0,0x7b,0x5a,0xab,0xbb,0x46,0x08,0x20,0xa4,0x08,0x40,0xaa,
0x0a,0x40,0x8e,0x08,0x92,0xc5,0xb6,0xda,0xb2,0x87,0xba,0xd3,0xb7,0x3b,0x5f,0xb2,
0xbb,0x79,0xb7,0xc0,0x8e,0xf3,0x2e,0xe7,0xac,0xbb,0x89,0xb7,0x09,0x0d,0xb4,0x69,
0xce,0x7b,0x20,0x90,0x78,0x7b,0x76,0x0b,0xfb,0xad,0xac,0x7b,0x87,0xa9,0xbb,0x8b,
0xb0,0xba,0xb9,0xaf,0x3b,0xb2,0x78,0xce,0x84,0xc5,0x68,0x39,0xbb,0x5a,0xad,0xb3,
0xdb,0xbb,0xba,0x3a,0x81,0xb9,0x08,0x62,0x08,0x69,0xa2,0x0b,0x0e,0x52,0xac,0xc0,
0x65,0xbd,0x1b,0x56,0xd4,0x7b,0x8d,0xba,0x5b,0xda,0x0a,0x20,0x88,0xac,0xc0,0x9e,
0x06,0xbb,0xb9,0x47,0x7b,0xbd,0xb2,0x5b,0x0d,0xaf,0x16,0x96,0xba,0x7b,0x68,0x7a,
0x3b,0x9f,0xbd,0x5b,0xf1,0xbd,0x9b,0xc3,0x46,0xac,0x43,0x44,0xa8,0xa5,0xc1,0x1c,
0x01,0x47,0x87,0x85,0x47,0xda,0x68,0x6a,0xd5,0x32,0x8d,0x97,0x51,0x57,0xa5,0x3f,
0xa0,0xe0,0x9c,0x0a,0xba,0xf8,0x7c,0x80,0x9e,0x08,0xce,0xd6,0xed,0xae,0xde,0xee,
0x29,0x1e,0x06,0x71,0xfc,0x5d,0xab,0x2c,0x59,0xa4,0xd2,0xec,0x27,0x42,0x5b,0x72,
0x72,0x77,0x63,0xaf,0x56,0x2b,0x44,0x3f,0x68,0x0e,0x44,0x03,0x9e,0x6f,0xf6,0xa9,
0x6f,0xd6,0xb2,0x0a,0xfc,0x3f,0xc4,0x20,0x85,0xc4,0x7c,0x4a,0x78,0xbc,0x4e,0x0a,
0xb2,0xa5,0xc5,0x53,0xf8,0x04,0x00,0x9d,0xc5,0xc3,0x3d,0xc6,0x12,0x18,0xd5,0x9c,
0x66,0x34,0x63,0x71,0x3c,0xfc,0x70,0xcb,0xb7,0x10,0x39,0xe7,0xd9,0x67,0xc6,0xf6,
0x71,0x07,0x53,0x6d,0x5c,0x81,0xa2,0x37,0x59,0x69,0x77,0x5f,0x90,0x99,0x36,0x08,
0xfc,0x6b,0x3c,0xe8,0x74,0x8b,0xb8,0x6c,0xb5,0x15,0x02,0xf8,0x9c,0xdb,0x66,0xab,
0x38,0xa2,0x37,0x2d,0xc3,0xbc,0x09,0xa1,0xea,0xc8,0x0b,0x27,0xa8,0x92,0x20,0xf0,
0xe8,0xd6,0x9f,0x0e,0x62,0xfc,0x0d,0xae,0x9a,0xf0,0x95,0x02,0x76,0xa0,0x5e,0x9e,
0x49,0xb8,0x53,0xb7,0x43,0x7e,0x6a,0x4e,0x23,0xa0,0xf2,0x4a,0xe7,0x0e,0x0c,0xa3,
0x38,0x93,0xd8,0x3d,0x81,0x05,0x6e,0x2d,0x0d,0xbe,0x73,0xc2,0x1b,0x27,0xfd,0x16,
0x54,0x06,0x58,0x28,0xbd,0x09,0x53,0xc3,0x1a,0x6c,0x63,0x54,0x50,0x75,0x72,0x0c,
0x22,0x54,0x75,0x22,0x09,0xce,0xfa,0x23,0x34,0x80,0x96,0x0b,0xe0,0x72,0x06,0xc0,
0xa8,0x0a,0x00,0x92,0x62,0x89,0x7d,0x90,0xbd,0x02,0x41,0x7d,0x08,0xeb,0xe3,0x58,
0x3f,0x63,0x34,0x49,0x66,0x5a,0x77,0x05,0x74,0x62,0x06,0xe8,0xf9,0x2b,0xff,0xd5,
0x97,0xbb,0xc3,0xda,0xd5,0xcf,0x28,0x77,0xd6,0x9d,0x6c,0x62,0x7d,0x71,0x6c,0x42,
0x0b,0xd9,0xe3,0x12,0xcc,0xe0,0xcf,0x3c,0x0c,0x58,0x08,0xc0,0x40,0x09,0x84,0x5e,
0x59,0xae,0x06,0x4c,0x35,0x93,0x97,0xbc,0x38,0x85,0x55,0x81,0xdb,0x4b,0x92,0xe7,
0x2e,0xe6,0xf7,0xe0,0xbe,0xc5,0xfd,0x61,0x34,0xe7,0xaa,0xd4,0x60,0x47,0x57,0xae,
0x74,0xac,0x2e,0x75,0xdd,0x9a,0x8c,0xf2,0xa7,0x8e,0x84,0x5d,0xea,0x83,0xe0,0xda,
0x30,0x60,0xc8,0x49,0x73,0xc0,0x53,0xe2,0x6b,0x04,0xc0,0x97,0xdb,0x9d,0xbc,0x33,
0xc5,0x6c,0x0a,0xf9,0x77,0x9f,0xf5,0x0d,0x8c,0xda,0x04,0x22,0x7e,0x07,0xe0,0xa0,
0xbe,0x0a,0xe0,0xa4,0xfc,0x27,0xc8,0x09,0x88,0x9c,0xfc,0x28,0x25,0x05,0x51,0xcd,
0xa2,0x9d,0xa5,0xc9,0x80,0x98,0x41,0xa9,0x2e,0x44,0x4f,0xf4,0x5c,0xc0,0xc8,0x29,
0x49,0x4a,0x6e,0x80,0x6c,0x06,0x20,0x68,0xba,0x9a,0x60,0x28,0xfc,0xc0,0x85,0x5e,
0x24,0xc5,0x5e,0x29,0xe2,0xd0,0xbd,0xa0,0xaa,0xc2,0x0a,0x5b,0xf8,0x0a,0xa0,0x9c,
0x08,0xc7,0xb0,0xac,0xe0,0xa8,0xc6,0x9b,0xf8,0x83,0xf6,0x07,0x32,0x06,0x8a,0x09,
0xe2,0x2e,0x4b,0x7e,0x0b,0xe0,0xe5,0x44,0xa9,0x4b,0xb5,0xe1,0x96,0x83,0xa0,0x1e,
0x1f,0x1b,0xa7,0xb0,0xc3,0xfe,0x27,0x58,0x07,0x8a,0x08,0xf1,0x30,0x7a,0x13,0xe4,
0xac,0x87,0xdc,0xc6,0x19,0x35,0xc9,0x87,0x34,0xdf,0x79,0x13,0xa3,0x34,0x47,0xa3,
0xfe,0x52,0x60,0x64,0x29,0xca,0xbc,0x6c,0x28,0xfd,0x2b,0xd2,0xd7,0x62,0xbd,0xc3,
0x1f,0x0f,0x63,0x36,0xdd,0x6b,0x27,0x8a,0xc8,0xac,0x8a,0x51,0x7f,0x35,0xa0,0x84,
0x32,0x05,0xed,0x53,0x15,0x34,0x08,0xb5,0x38,0xcc,0xf4,0x47,0x74,0xbe,0x1d,0x5c,
0x05,0x2d,0x1b,0xc0,0xa8,0xf7,0xe0,0x40,0x05,0x69,0xb2,0xef,0x73,0x36,0x6c,0xd2,
0x6c,0x34,0x2b,0x1a,0x32,0xe5,0x07,0xa7,0xa8,0x55,0xef,0xbb,0xb2,0x7b,0xa9,0x98,
0x09,0xfb,0x4a,0x0b,0x3a,0xdc,0x83,0x52,0xc5,0x1c,0xda,0x25,0x3e,0xec,0x60,0xd3,
0xf6,0xbf,0xa1,0x60,0x6c,0xb9,0x73,0xc1,0x52,0xbd,0x88,0x64,0xbf,0x10,0xe0,0x25,
0x2c,0x5a,0x63,0xa4,0x05,0xa7,0x76,0x27,0xe2,0x3e,0x3a,0x50,0x95,0xca,0x63,0x1b,
0xf0,0x20,0xe0,0x27,0x7c,0xe8,0xcf,0x44,0x1b,0x53,0xbf,0x0c,0x56,0xdf,0x7f,0xf8,
0x2a,0x0f,0xa7,0x93,0xdb,0x3e,0xe8,0x34,0xee,0xaf,0x73,0xa2,0x4c,0x58,0xed,0x00,
0x88,0x08,0x8f,0x30,0x91,0xe0,0x45,0xa1,0x80,0x5c,0x90,0x20,0x70,0x05,0xc8,0xa2,
0x05,0xc0,0x6f,0x24,0xe6,0x8a,0x56,0x42,0x1a,0x0b,0xe5,0xbf,0x53,0x3f,0x80,0x63,
0x1a,0x34,0x08,0x40,0xf3,0xfd,0x34,0x46,0x08,0x75,0x32,0x27,0x69,0x33,0x4e,0xc5,
0xcd,0x3d,0x67,0x70,0x22,0x02,0x38,0x2e,0xc6,0x18,0x4d,0x24,0x14,0x50,0xaf,0x94,
0x6d,0x42,0x02,0x39,0xe1,0x0d,0x08,0xc9,0x20,0xa1,0x9e,0x69,0x28,0xee,0x1e,0x4a,
0xd1,0xa0,0x90,0x85,0xf9,0xf8,0x05,0x1b,0x01,0xf0,0x0f,0x48,0xba,0x2f,0x20,0x21,
0xba,0x64,0x3b,0x05,0xa7,0x0b,0x48,0x97,0xdd,0x46,0x6f,0x27,0xc3,0x1b,0xb8,0x4c,
0xe2,0x04,0x39,0xda,0x8d,0x9b,0x78,0x43,0x67,0x8e,0x9c,0xf5,0xf3,0xec,0x45,0x80,
0xe9,0x88,0x51,0xc6,0x95,0x05,0x1b,0x81,0x05,0x47,0x66,0xe2,0x32,0x98,0xd1,0x89,
0x7c,0x2f,0x27,0x85,0xb3,0xf9,0x10,0xb0,0x15,0x08,0x84,0x05,0xde,0xce,0x2e,0x68,
0x0d,0x38,0xe6,0x00,0x61,0x8c,0x13,0x1a,0xa0,0xcc,0xae,0x31,0x20,0x16,0x9c,0xa8,
0x5e,0x43,0xac,0x03,0x70,0x09,0xcd,0x02,0xf0,0xc7,0x44,0x13,0x6c,0x34,0x70,0x33,
0x0a,0x64,0x0d,0x48,0xd9,0x01,0x80,0xd4,0x1d,0x90,0x69,0x30,0x21,0x02,0x14,0x08,
0x20,0x3c,0x4b,0x70,0x28,0x40,0x92,0x04,0x30,0x27,0x47,0x28,0xf4,0x48,0x96,0xa3,
0xb0,0x16,0xa6,0x40,0x00,0x01,0x00,0x00
0x99,0x4b,0xb2,0x0a,0x00,0xde,0x29,0x84,0x54,0x69,0xd3,0x6b,0x10,0xc5,0x72,0x24,
0xae,0xaa,0xd7,0xc7,0x76,0x0c,0xed,0xdf,0x3d,0x72,0x28,0x81,0x73,0x06,0x88,0x93,
0x81,0x38,0x4e,0xee,0x0a,0xa8,0x39,0x34,0xe7,0xaa,0x0b,0xe0,0x99,0x13,0x00,0x8e,
0xe8,0x46,0x8c,0x97,0xd3,0x62,0x05,0xa9,0x7c,0x5e,0x40,0x82,0x28,0xc0,0xde,0x53,
0x86,0x3c,0x8b,0xad,0xa4,0xd7,0xf4,0x5a,0x4c,0xe2,0x5c,0x0e,0xb3,0x7a,0x68,0xa0,
0xae,0xe1,0x2f,0xa2,0x24,0x27,0x6a,0x49,0x71,0xa6,0x5a,0xe0,0xd0,0x48,0xb3,0xdb,
0x29,0x50,0x3a,0xfb,0xc0,0xae,0x78,0xc0,0x97,0x41,0x4e,0xe7,0x17,0x6e,0xf8,0x08,
0x69,0x72,0xac,0x80,0x90,0xf3,0x00,0x90,0xed,0xd3,0x36,0x06,0xd3,0xc0,0x0a,0xc4,
0xb4,0x4a,0x23,0x3c,0x07,0x28,0xa8,0x08,0x50,0x72,0xaf,0x30,0x0a,0x2a,0xc0,0xd9,
0x4b,0xd3,0xde,0x82,0xb4,0x68,0x83,0xee,0xe7,0x35,0xaf,0x72,0xc3,0xcc,0x41,0x1c,
0xce,0xe1,0x16,0x80,0x9c,0x08,0xf0,0xca,0xfd,0x26,0x96,0x70,0xe3,0x68,0x52,0xc6,
0xfe,0x05,0xe6,0xec,0x32,0x85,0x1e,0x71,0xe0,0x5c,0x05,0x24,0x64,0x73,0x64,0x41,
0x4f,0x67,0x83,0x1b,0xb4,0xbe,0x90,0xee,0xce,0xac,0xaa,0x7c,0x96,0xe0,0x9c,0xe6,
0xc7,0xb2,0xfd,0x69,0x20,0x90,0x09,0xb0,0x72,0x85,0x90,0x6e,0x87,0x16,0x43,0xa2,
0xab,0x53,0xd0,0x62,0x9c,0xb2,0x01,0x57,0x14,0x2c,0xc2,0x95,0x5d,0x52,0x15,0x63,
0x52,0x15,0x66,0x81,0x10,0xa8,0x61,0xe2,0x7e,0x05,0x04,0x8a,0x39,0x4d,0x0a,0x45,
0x00,0xe4,0xe6,0x06,0x8a,0x66,0x6a,0x68,0x4b,0x03,0x02,0x4b,0x65,0x22,0x5c,0xa0,
0xe4,0x41,0xc2,0x26,0xcd,0x86,0xa8,0x65,0x06,0xae,0x66,0x27,0x24,0xbb,0x27,0x92,
0x84,0x47,0x16,0x52,0x86,0xa2,0x6b,0xa6,0xab,0x00,0x05,0x60,0x57,0x02,0xc0,0xde,
0xc5,0x1c,0x0d,0xe5,0xc2,0x94,0xc0,0xda,0x2c,0x11,0x96,0x45,0x27,0x02,0xb6,0x08,
0xdc,0x8e,0x55,0xbc,0x7f,0x27,0xe7,0x3e,0x2f,0xce,0x92,0x55,0x73,0x18,0x31,0xbc,
0x35,0x0f,0x94,0x40,0x93,0xcc,0x29,0x43,0xfe,0x52,0xd0,0x9e,0x27,0x94,0x8e,0x05,
0xa2,0xb8,0x28,0xf2,0xd2,0x72,0x28,0x1b,0x5e,0xa7,0x95,0x5e,0xe7,0xca,0x85,0x88,
0x83,0x57,0x75,0xf8,0xe9,0x35,0x3a,0x3c,0x00,0x5e,0x2a,0xc5,0xde,0xea,0x93,0xc8,
0x5b,0x87,0x2a,0xdf,0x60,0xd7,0x00,0x27,0xa6,0x21,0xe4,0x1c,0x42,0x14,0x3e,0x23,
0x85,0x53,0x55,0xe5,0x5b,0x5c,0x23,0x3d,0x5a,0xe6,0xbd,0x5c,0xb4,0x62,0x85,0x47,
0xb8,0x7b,0xc9,0x65,0x62,0x33,0x50,0x0a,0xac,0x5c,0xf7,0x27,0x86,0x08,0xa5,0x41,
0x5f,0x71,0xfe,0x78,0x4f,0x0e,0x2a,0x24,0x08,0xaf,0x42,0x7e,0x70,0x20,0x5f,0x64,
0x30,0xac,0x8d,0xd6,0x68,0x8e,0x56,0x22,0x83,0xf5,0x19,0x47,0x88,0x24,0x09,0x27,
0x9f,0x62,0xb2,0x01,0x68,0x2f,0x10,0x44,0x50,0x08,0x21,0xc9,0x7c,0x71,0xd6,0x96,
0x7b,0xb6,0x9a,0x79,0xa7,0xe4,0xfc,0x94,0x16,0x84,0x56,0x7f,0x57,0x2a,0xaf,0x5f,
0xeb,0xff,0x14,0xaf,0xa5,0x60,0x80,0x51,0x60,0xc2,0xbe,0x4a,0x36,0x12,0x6a,0xb6,
0x19,0x6b,0xd6,0x6a,0xab,0x56,0x22,0x96,0x11,0x7b,0x6c,0xd6,0x80,0x04,0x0e,0x94,
0x44,0x16,0x34,0xce,0x76,0x3a,0x28,0xd6,0x3f,0x56,0x0d,0xd8,0x33,0xf6,0x48,0x6d,
0x56,0x94,0x68,0xb5,0x2c,0x51,0xc6,0xdc,0x3a,0x06,0xf4,0x59,0x96,0x5d,0x5c,0x66,
0x51,0x3d,0xa7,0xd8,0x7d,0xc7,0xe1,0x6c,0x27,0xc9,0x67,0x16,0x74,0x90,0xf6,0x7b,
0x6a,0xb6,0x2c,0x69,0x36,0x84,0x3f,0x76,0x8b,0x52,0x26,0xd7,0x69,0x34,0x0e,0x6e,
0xa7,0xda,0x7d,0xf6,0x9c,0xee,0xa0,0x8f,0x6a,0x28,0x3f,0x6a,0x96,0xf7,0x6a,0xd7,
0x43,0x6b,0x03,0xcb,0x6b,0x4f,0xd7,0x6b,0xa8,0x1b,0x72,0xd7,0x57,0x73,0x35,0xf1,
0x6c,0x97,0x3f,0x5f,0x89,0x29,0x5f,0xc0,0xe5,0x60,0x08,0x04,0x22,0x53,0xce,0x4e,
0xd6,0xdc,0x4a,0x56,0x11,0x61,0x52,0x56,0x2f,0xf6,0x1a,0x85,0x57,0x77,0x73,0x07,
0xc6,0x7e,0x68,0x1f,0x62,0x97,0x65,0x57,0x16,0x2e,0x81,0x17,0x01,0x63,0x84,0x08,
0x22,0x16,0x3c,0x9d,0xac,0xc0,0xb2,0x76,0x46,0x73,0x16,0x4a,0x48,0x77,0x14,0xbb,
0x20,0xa6,0x2a,0x03,0xae,0x08,0x62,0x72,0x27,0xe0,0xa0,0x47,0xe6,0x92,0x53,0xe6,
0x93,0x52,0x16,0x5a,0x6b,0x86,0x4d,0x5c,0x8f,0x03,0x5e,0x85,0x3f,0x66,0xe0,0x9f,
0x67,0x37,0x5e,0xc6,0x96,0x7d,0x78,0x2a,0x8f,0x76,0x96,0x86,0x31,0xf7,0x49,0x74,
0xf7,0xf6,0xef,0x77,0x7b,0x6a,0x56,0xa1,0x67,0x76,0xa7,0x6c,0xb8,0x07,0x78,0x40,
0xa7,0x74,0x56,0xb3,0x00,0xad,0x29,0x81,0x56,0xf1,0x5f,0x38,0x23,0x82,0x52,0x02,
0x08,0xd6,0xd2,0x3f,0x76,0x04,0xfa,0x76,0x0b,0x79,0x76,0xe3,0x79,0xb6,0xe9,0x61,
0xd7,0xf9,0x81,0x96,0xf3,0x78,0x18,0x07,0x7b,0x56,0xff,0x63,0x6b,0xee,0x3d,0xc0,
0xdd,0x7c,0x11,0x4f,0x70,0xc6,0xe9,0x71,0x16,0x4d,0x11,0x66,0x8a,0x08,0x82,0x40,
0x0c,0x60,0x8c,0x95,0x68,0x54,0x08,0x89,0xab,0x7e,0x87,0x2b,0x7e,0xd6,0x5f,0x7f,
0x33,0xdb,0x88,0x74,0x1d,0x81,0x97,0x37,0x80,0x17,0x3d,0x7b,0x17,0x67,0x82,0x97,
0x6a,0x34,0x80,0xc8,0x58,0xad,0xd9,0x75,0x18,0x97,0x75,0x98,0x1d,0x6a,0x57,0x63,
0x83,0xb3,0xa3,0x8a,0x78,0x0c,0xcf,0x57,0x6f,0x83,0x08,0x1b,0x8b,0x58,0x57,0x83,
0x78,0x5b,0x82,0x56,0xd1,0x78,0x96,0xd5,0x84,0x56,0xdb,0x6d,0xf7,0x99,0x6e,0x6d,
0x92,0x8d,0xd8,0xcf,0x7a,0x96,0x24,0x8e,0x16,0xf5,0x8b,0xf5,0xfb,0x6f,0xd6,0x33,
0x86,0x37,0x05,0x01,0x77,0xc3,0x69,0x37,0x0f,0x7c,0xb7,0x13,0x8b,0x33,0xe9,0x81,
0x80,0xa6,0x78,0xee,0xf7,0x3e,0x67,0x8b,0x12,0xd1,0x30,0x08,0x60,0xb2,0xac,0xc0,
0x90,0x0b,0x48,0xcf,0x8a,0x28,0xaa,0x04,0x00,0x88,0x2b,0xb4,0x50,0x40,0xab,0x5a,
0x47,0xd1,0xb3,0x28,0xd1,0x5d,0x65,0x02,0x0b,0x02,0x22,0xd1,0x02,0x60,0xea,0x76,
0xa0,0x8c,0x08,0x82,0x6b,0x02,0xcf,0xe3,0x65,0x65,0x7d,0x88,0xf7,0x26,0x4f,0x73,
0xdb,0x95,0xb8,0xb7,0x75,0xd8,0x1f,0x8b,0xd8,0x3b,0x6a,0xf8,0xc4,0x94,0xd8,0x2f,
0x75,0x19,0x6b,0x8d,0x17,0x7f,0x92,0xf6,0xcf,0x78,0x77,0x8a,0x21,0xd8,0xdf,0x79,
0x38,0xe3,0x84,0xd8,0xe6,0x74,0x57,0xa0,0x22,0x79,0x81,0x8e,0xf8,0x59,0x98,0x76,
0xf9,0x8f,0xa0,0xe9,0x7b,0x98,0x64,0x31,0x98,0x6b,0x57,0xb8,0x6e,0x2a,0x78,0x73,
0x7c,0xf9,0x7f,0x02,0xf6,0x9c,0xc5,0x60,0xa1,0x0b,0xa7,0xc8,0x97,0x4d,0x3b,0x55,
0x78,0xa5,0x74,0x50,0x6d,0x1e,0x57,0xc6,0x4e,0xc0,0x94,0xd0,0x10,0x04,0x76,0xb4,
0x0a,0x3f,0x70,0x9f,0x5a,0x86,0x49,0x81,0x26,0x7a,0x68,0xf9,0xf7,0x9f,0x86,0xb0,
0x20,0xb9,0xfb,0xa0,0x1a,0x02,0x67,0x86,0xb3,0x70,0xd6,0x48,0x0e,0xe2,0x2f,0x40,
0x79,0x65,0x66,0x31,0xbb,0x6f,0x28,0x8a,0x8e,0xa8,0x38,0x83,0xc8,0x40,0x84,0x48,
0xb4,0x06,0x54,0x2b,0x7b,0x28,0x56,0x04,0x09,0xaf,0x43,0xa3,0x4c,0x95,0xf7,0xac,
0x90,0xc8,0xe8,0x86,0x80,0xbf,0x34,0x68,0x70,0x87,0x79,0xa6,0x93,0xe2,0x0b,0x64,
0x91,0x35,0xa3,0x69,0x09,0xa3,0xc8,0x23,0xa4,0x08,0x8e,0x0b,0x08,0xf0,0x89,0x95,
0x14,0x8a,0x00,0x69,0x13,0xf5,0x75,0xa2,0xa0,0x60,0x4d,0xfa,0x59,0x62,0x7a,0x3e,
0x86,0x5a,0x1f,0xa4,0x5a,0x64,0x8f,0x5a,0x26,0x8f,0xb6,0xf8,0x90,0x29,0x07,0x87,
0x8a,0x09,0xa3,0x1a,0x0e,0x22,0x55,0xc5,0x7f,0x17,0x29,0x66,0x48,0x7e,0x73,0x0f,
0x7e,0xc5,0x58,0xf3,0xa1,0xda,0x43,0xa2,0x28,0x70,0x84,0xc8,0xa3,0xa7,0x9a,0xa8,
0x09,0x7a,0xad,0xa5,0xe8,0x6b,0x35,0x60,0x40,0x07,0x3a,0x6d,0x3c,0x03,0xda,0xde,
0x60,0xe4,0x6d,0x83,0x51,0x5a,0xa2,0x42,0x2b,0x82,0xfc,0x52,0xb5,0x6c,0x27,0xe5,
0x80,0x22,0xeb,0x1e,0xc8,0x34,0xe8,0x50,0xa3,0x97,0x63,0x00,0xe8,0xc0,0x52,0xe4,
0x27,0xe0,0xc4,0x6e,0x68,0x04,0x80,0x9a,0x99,0x5b,0x2e,0xae,0x40,0x86,0xf1,0x7c,
0x24,0x1a,0x81,0x03,0xaf,0x5e,0x7a,0x3b,0xa7,0xa8,0x23,0x13,0x00,0x83,0x73,0x93,
0x48,0x09,0xe0,0x92,0x72,0xea,0xcd,0x0b,0x99,0x20,0x09,0xef,0x7f,0x51,0x88,0xc9,
0xa7,0x9a,0xad,0xb2,0x3b,0x26,0xf8,0x5b,0x2c,0x82,0xbb,0x32,0xf3,0x7b,0x37,0x75,
0xbb,0x3d,0xb1,0xdb,0x40,0x09,0xdb,0x25,0x6a,0x27,0x8e,0x91,0x60,0x83,0xb3,0x08,
0x2b,0xb3,0x5b,0x39,0x51,0xb3,0x21,0xb5,0x68,0x5b,0x1c,0x7b,0x5b,0x73,0x80,0x8a,
0x09,0xa0,0xab,0x12,0x7b,0x69,0xb4,0xfb,0x6d,0xb5,0x48,0x55,0xa1,0xbb,0x43,0x6a,
0x28,0x9e,0x09,0xa0,0x84,0x7d,0xd1,0x6a,0x9a,0x9b,0x84,0x96,0xfb,0x89,0xb7,0x1b,
0x8d,0xa5,0xa8,0x39,0xb9,0x0f,0x72,0x0a,0x80,0xb2,0x96,0xfb,0x4b,0xba,0x1b,0x51,
0xb3,0xbb,0xa7,0xaa,0x5b,0x1f,0xba,0xdb,0x79,0xb5,0xe0,0xa1,0x91,0x80,0x92,0x09,
0x20,0xbf,0x03,0xe0,0x63,0xb7,0x7b,0xa3,0xb5,0x3b,0xc0,0x8d,0xfb,0x75,0xba,0xee,
0xd1,0xbc,0xd4,0x79,0xbd,0x1b,0xd4,0xfe,0x00,0x65,0xbd,0xbb,0xbd,0xb6,0xfb,0x3f,
0xbe,0x5b,0xc8,0xf7,0x2e,0x73,0x91,0x8b,0x79,0xbf,0x07,0xa3,0xb6,0xbb,0xdf,0xbf,
0xca,0xbb,0xbe,0x60,0x82,0x0a,0x40,0x84,0x0a,0xa0,0xa4,0x08,0xe0,0x89,0x2c,0x5b,
0xf7,0xb8,0x88,0x7b,0xb7,0x3c,0x15,0xc0,0x0e,0xd1,0xc1,0xbc,0x1e,0x08,0xef,0x32,
0xee,0x7c,0x0f,0xb3,0xbc,0x2d,0xba,0x9b,0xc5,0xb7,0x7b,0x5c,0xf7,0x29,0xce,0x7b,
0x20,0x90,0x78,0x7c,0x18,0x0b,0xfc,0x55,0xb6,0x7c,0x29,0xb5,0x3c,0x45,0xbc,0x3b,
0x59,0xc4,0xdc,0x5a,0x78,0xce,0x84,0xc5,0x68,0x39,0xc5,0xdb,0x4d,0xbd,0xdc,0x43,
0xc1,0x29,0x0d,0xbe,0x67,0x9e,0x08,0x69,0xa2,0x0b,0x0e,0x52,0xac,0xc0,0x65,0xc7,
0x9b,0xf8,0xd4,0x7c,0x2f,0xc8,0x1c,0x32,0x0a,0x20,0x88,0xac,0xc0,0x9e,0x06,0xbc,
0x61,0xc7,0xdc,0x99,0xb2,0x1c,0x32,0xba,0x7c,0x0b,0xca,0x95,0x1b,0xc6,0x5b,0xe3,
0xc3,0x1c,0x6b,0x50,0xec,0x43,0x4e,0xe8,0xa5,0xcb,0x5c,0x41,0xcb,0x93,0xc1,0x95,
0xe4,0x0f,0xa1,0x06,0xad,0x5d,0x68,0xd9,0x7f,0x58,0x53,0xc4,0x80,0x9c,0x0a,0xbb,
0x96,0x7c,0x80,0x9e,0x08,0xce,0xd6,0xed,0xae,0xde,0xee,0x29,0x1e,0x06,0x71,0xfc,
0x5d,0xab,0x2c,0x59,0xa4,0xd2,0xec,0x27,0x42,0x5b,0x72,0x72,0x77,0x63,0xaf,0x60,
0x6b,0x44,0x3f,0x68,0x0e,0x44,0x03,0x9e,0x6f,0xf7,0x4a,0x8d,0xd7,0xa5,0xaa,0xdc,
0xe5,0xce,0x87,0xa3,0xce,0xdc,0xf0,0xed,0xd4,0x6f,0xcf,0x6a,0x39,0x3f,0x80,0x40,
0x09,0xdd,0x00,0x33,0xdd,0x05,0x21,0x8d,0x59,0xd0,0xa3,0x46,0x37,0x13,0xcf,0xd1,
0x4c,0xbb,0xaf,0x63,0x9e,0x7d,0x97,0x1e,0x6f,0x67,0x10,0x75,0x37,0x75,0x75,0x54,
0xc5,0xb7,0x58,0x9d,0x67,0x78,0x03,0x8d,0x56,0xf8,0x08,0xfd,0x0f,0x3c,0xe8,0x74,
0x8b,0xb9,0x06,0xb5,0x15,0xa6,0xf8,0x9d,0x7f,0x70,0xcb,0x38,0xa2,0x37,0xd1,0xce,
0x1a,0xc1,0x34,0x80,0x96,0xac,0x80,0xb2,0x7a,0x89,0x22,0x0f,0x0e,0x8d,0x74,0x10,
0xe6,0x2f,0xc0,0xda,0xe9,0xaf,0x09,0x5a,0x67,0x6a,0x05,0xe9,0xe4,0x9b,0x85,0x3b,
0x7e,0x78,0x7a,0xa4,0xe2,0x3a,0x0f,0x24,0xae,0x70,0xe0,0xca,0x33,0x89,0x3d,0x8f,
0x79,0x74,0x56,0xe2,0xd0,0xdb,0xe7,0x3c,0x21,0xb2,0x7f,0xdb,0xc5,0x40,0x65,0x82,
0x8b,0xda,0xf5,0xe0,0x31,0xa6,0xc6,0x35,0x45,0x07,0x61,0x40,0xc2,0x25,0x47,0x52,
0x20,0x9d,0x93,0xd6,0xbd,0x96,0x0b,0xe0,0x72,0x06,0xc0,0xa8,0x0a,0x00,0x92,0x62,
0x94,0x83,0x78,0x22,0x0b,0xda,0x84,0x17,0xda,0xee,0xbe,0x35,0x83,0xf6,0x33,0x44,
0x96,0x65,0xa7,0x70,0x57,0x46,0x20,0x6e,0x8f,0x92,0xbf,0xfd,0xfe,0x85,0x46,0xff,
0xd9,0x4c,0x54,0x0b,0xe8,0x77,0xe0,0xde,0x10,0x62,0x7e,0x15,0x74,0x1e,0x46,0x31,
0x2c,0xce,0x0c,0xf3,0xc0,0xc5,0x80,0x8c,0x04,0x00,0x98,0x45,0xe5,0x9a,0xe0,0x64,
0xc3,0x63,0x5a,0x15,0xcd,0xe8,0x55,0x62,0x3e,0x5a,0xb9,0x2e,0x72,0xee,0x6f,0x7f,
0x47,0x6d,0x39,0xd9,0x94,0x72,0x9a,0xe8,0x7a,0x04,0x76,0x1c,0xe7,0x4a,0xc2,0xe7,
0x54,0x77,0xb2,0xcf,0x2a,0x78,0xe8,0x45,0xe9,0x08,0x3e,0x0d,0xa3,0x06,0x0c,0x84,
0x97,0x3c,0x05,0x3e,0x26,0xb0,0x4c,0x09,0x7e,0x5f,0xe6,0x23,0x3c,0x56,0xc0,0xaf,
0xcd,0x77,0x25,0xa9,0xf9,0x67,0xaa,0x29,0xb2,0xab,0xfe,0xb0,0x0b,0xe0,0xae,0x0a,
0x4f,0xc2,0x7c,0x80,0x98,0x89,0xcf,0xc2,0x82,0x50,0x55,0x1c,0xda,0xc7,0xe4,0xd5,
0x74,0x09,0x84,0x1a,0x92,0xe4,0x44,0xff,0x45,0xcc,0x0c,0x82,0x94,0x94,0xa6,0xe8,
0x06,0xc0,0x62,0x06,0x8b,0xa9,0xb0,0x02,0x8f,0xd6,0x28,0x55,0xea,0xde,0xcd,0xed,
0x1e,0xd4,0x7a,0x3a,0xa8,0xac,0x20,0xa5,0xca,0x00,0xaa,0x09,0xc0,0x8c,0x7b,0x0a,
0xce,0x0a,0x8c,0x69,0xca,0x17,0x61,0xa2,0x73,0xc0,0x09,0xe2,0x2e,0x4b,0x7e,0xb1,
0xeb,0x45,0x44,0xa9,0x4b,0xb5,0xeb,0xf7,0xef,0x5b,0x1e,0xc5,0x1b,0xa7,0xb0,0xc3,
0xfe,0xcd,0x62,0x27,0x8a,0x08,0xf1,0x30,0x7a,0x13,0xe4,0xac,0x87,0xdc,0xc6,0x19,
0xd3,0xd3,0xa7,0x34,0xdf,0x79,0xb1,0xad,0x14,0xeb,0xad,0xde,0xf8,0x60,0x64,0x29,
0xd4,0xdd,0x10,0x28,0xfd,0xd1,0xdd,0x38,0xd6,0x3f,0x70,0xf6,0x33,0x6d,0xd6,0xb2,
0x79,0x47,0x3f,0x48,0xa5,0x17,0xf3,0x5a,0x08,0x43,0x20,0x5e,0xd5,0xd5,0x5d,0x80,
0x8b,0x5d,0xcc,0xcf,0x4e,0xbf,0x49,0x66,0x0e,0x02,0x52,0xd1,0xbc,0x0a,0x8f,0x7e,
0x04,0x00,0x57,0xec,0x80,0x99,0x33,0x66,0xcd,0x26,0xc3,0x42,0xb1,0xa3,0x2e,0x50,
0x7b,0x1a,0x85,0x5f,0x9d,0xc5,0xa7,0xba,0x99,0x80,0x9f,0xbc,0xc0,0xb3,0xb7,0xc8,
0x35,0x2c,0x51,0xcd,0xac,0x2a,0xbc,0xad,0x1a,0xbe,0x85,0xda,0x24,0x8f,0x8b,0x97,
0x3c,0x02,0x02,0xae,0x77,0x8b,0x8c,0x95,0xf4,0xab,0x31,0x14,0xb0,0xb4,0xc3,0xa4,
0x02,0xd1,0xdd,0x84,0xfc,0x23,0xe1,0xd2,0x42,0x53,0xa9,0x03,0x1a,0xfd,0x20,0x38,
0x04,0xed,0xd8,0xcc,0x63,0x7e,0xa8,0x52,0x85,0xcc,0x2b,0x68,0x08,0x40,0x48,0xa0,
0xed,0x8c,0x4f,0x6a,0x7d,0xc8,0x34,0x77,0x53,0xdc,0xbf,0xdc,0xc5,0x87,0x68,0x02,
0x20,0x11,0x0f,0x30,0x48,0xf0,0x11,0x35,0x6c,0x05,0xc4,0x81,0x01,0xc0,0x0b,0x88,
0xa2,0x02,0xe0,0x1b,0xa4,0x9c,0x68,0xa2,0xb2,0x08,0x68,0x17,0xc5,0xbe,0xae,0xb8,
0x08,0x8c,0x61,0xad,0x20,0x42,0x03,0xcc,0x0e,0x94,0xea,0x04,0x35,0x75,0x84,0xec,
0x93,0x2a,0xc8,0x17,0x32,0x8b,0xcb,0x1e,0x11,0x00,0x8e,0x05,0xd8,0x61,0x82,0x69,
0x10,0x50,0xa1,0x4f,0x94,0x36,0xa1,0xcf,0x08,0x68,0x46,0x49,0x05,0x0c,0xf3,0x5d,
0x07,0x70,0xf7,0x86,0xb4,0xa9,0x5e,0x08,0x25,0x1b,0x01,0xf0,0x0f,0x48,0xba,0x2f,
0x20,0x21,0xbb,0xb0,0x3b,0x05,0xa7,0x0b,0x48,0x97,0xdd,0xec,0x6f,0x27,0xeb,0x9b,
0xb8,0x4c,0xe2,0x04,0x39,0xda,0xa2,0x1c,0x1a,0x43,0x67,0xb8,0x1c,0xf5,0xfe,0x0c,
0x92,0x83,0x69,0x88,0x51,0xc6,0x95,0x05,0x44,0x81,0x05,0x51,0xa6,0xe2,0x32,0x9a,
0x90,0x05,0xe2,0xfa,0x26,0xa6,0xa2,0x16,0x0c,0xa1,0x10,0x83,0x3b,0xee,0x45,0xcd,
0x06,0xa7,0x45,0xc1,0x50,0x31,0x82,0x63,0x56,0xa9,0x95,0xc6,0x24,0x02,0xd3,0x95,
0x0b,0xc8,0x75,0x80,0x6e,0x01,0x39,0xa0,0x5c,0xd6,0xed,0xb2,0x6d,0x86,0x8e,0x10,
0x41,0x4c,0x84,0x21,0x1b,0x20,0xd0,0x1a,0x83,0xb2,0x0d,0x26,0x0e,0x20,0x42,0x83,
0x84,0x1b,0x89,0x6e,0x05,0x08,0x3a,0x41,0xc6,0x0e,0xe8,0xe5,0x1e,0x89,0x12,0xd5,
0x1a,0xa4,0x30,0x05,0x00,0x00,0x20,0x00
};
static datatype data_init_script[]=
{
{ 255, 11732, 5576, data__init_script, 0 }
{ 255, 11952, 5704, data__init_script, 0 }
};
+5
View File
@@ -186,6 +186,11 @@ typedef struct _HXCFE_FXSA
int analysis_rev2rev_max_pulses_jitter;
pll_stat pll;
int out_index_length_us;
int weak_cell_threshold;
}HXCFE_FXSA;
#define _HXCFE_FXSA_
+1
View File
@@ -531,6 +531,7 @@ void hxcfe_FxStream_setFilterParameters( HXCFE_FXSA * fxs, int
HXCFE_TRKSTREAM * hxcfe_FxStream_ImportStream( HXCFE_FXSA * fxs, void * stream, int32_t wordsize, uint32_t nbword, uint32_t type, char * name, HXCFE_TRKSTREAM * trk_stream );
void hxcfe_FxStream_AddIndex( HXCFE_FXSA * fxs, HXCFE_TRKSTREAM * std, uint32_t streamposition, int32_t tickoffset, uint32_t flags );
void hxcfe_FxStream_SetIndexLength( HXCFE_FXSA * fxs, int us );
HXCFE_SIDE * hxcfe_FxStream_AnalyzeAndGetTrack( HXCFE_FXSA * fxs, HXCFE_TRKSTREAM * std );
void hxcfe_FxStream_ExportToBmp( HXCFE_FXSA * fxs, HXCFE_TRKSTREAM * stream, char * filename );
void hxcfe_FxStream_FreeStream( HXCFE_FXSA * fxs, HXCFE_TRKSTREAM * stream );
@@ -111,6 +111,18 @@ static void settrackbit(uint8_t * dstbuffer,int dstsize,uint8_t byte,int bitoffs
}
}
static int gettrackbit(uint8_t * dstbuffer,int dstsize,int bitoffset)
{
int i;
i = bitoffset;
if((uint8_t)(dstbuffer[(i>>3)] & ( (0x80>>(i&7)))))
return 1;
else
return 0;
}
void computehistogram(uint32_t *indata,int size,uint32_t *outdata)
{
int i;
@@ -461,6 +473,7 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
int bitoffset;
int old_bitoffset;
int tracksize;
int lastpulsebitoffset;
unsigned char *outtrack;
unsigned char *flakeytrack;
@@ -483,6 +496,7 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
uint32_t nextindex_pos;
uint32_t nextindex;
uint32_t tickoffset;
int lastbitisflakey;
HXCFE_SIDE* hxcfe_track;
@@ -626,8 +640,9 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
nextindex = i;
nextindex_pos = track->index_evt_tab[i].dump_offset;
lastbitisflakey = 0;
tickoffset = 0;
bitoffset=0;
bitoffset = 0;
for(i=0;i<size;i++)
{
@@ -640,6 +655,28 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
else
cellcode = getCellTiming(&fxs->pll,value,0,pl->forward_link[start_index + i],phasecorrection);
// If bit timing is above the standard spacing, set all cells above the standard as flakey bits
if( fxs->weak_cell_threshold > 0)
{
if(cellcode > fxs->weak_cell_threshold )
{
if(lastbitisflakey)
{
for(j=0;j<cellcode;j++)
{
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,bitoffset+j,1);
}
}
else
{
for(j=fxs->weak_cell_threshold;j<cellcode;j++)
{
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,bitoffset+j,1);
}
}
}
}
bitoffset = bitoffset + cellcode;
settrackbit(outtrack,TEMPBUFSIZE,0xFF,bitoffset,1);
@@ -665,6 +702,11 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
if( ( fxs->pll.last_error > (fxs->pll.max_pll_error_ticks * 16) ) || ( fxs->pll.last_error < -( fxs->pll.max_pll_error_ticks * 16) ) )
{ // flakey bits or invalid bit...
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,bitoffset,1);
lastbitisflakey = 1;
}
else
{
lastbitisflakey = 0;
}
}
else
@@ -672,6 +714,11 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
if((pl->forward_link[start_index + i]<0 && pl->backward_link[start_index + i]<0) || ( ( fxs->pll.last_error > ( fxs->pll.max_pll_error_ticks *16) ) || ( fxs->pll.last_error < -( fxs->pll.max_pll_error_ticks * 16) )))
{ // flakey bits or invalid bit...
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,bitoffset,1);
lastbitisflakey = 1;
}
else
{
lastbitisflakey = 0;
}
}
@@ -731,7 +778,70 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
}
};
#endif
}
// If two adjacent bits are flakey, set all in between cells flakey
lastpulsebitoffset = -1;
for(i=0;i<size;i++)
{
if(gettrackbit(outtrack,TEMPBUFSIZE,i))
{
if(gettrackbit(flakeytrack,TEMPBUFSIZE,i))
{
if(lastpulsebitoffset!=-1)
{
//set loop
for(j=lastpulsebitoffset;j<i;j++)
{
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,j,1);
}
lastpulsebitoffset = i;
}
else
{
lastpulsebitoffset = i;
}
}
else
{
lastpulsebitoffset = -1;
}
}
}
// If two adjacent cells are flakey, set all in between cells flakey
lastpulsebitoffset = -1;
for(i=0;i<size;i++)
{
if(!gettrackbit(outtrack,TEMPBUFSIZE,i))
{
if(gettrackbit(flakeytrack,TEMPBUFSIZE,i))
{
if(lastpulsebitoffset!=-1)
{
//set loop
for(j=lastpulsebitoffset;j<i;j++)
{
settrackbit(flakeytrack,TEMPBUFSIZE,0xFF,j,1);
}
lastpulsebitoffset = i;
}
else
{
lastpulsebitoffset = i;
}
}
else
{
lastpulsebitoffset = -1;
}
}
else
{
lastpulsebitoffset = -1;
}
}
#ifndef USE_PLL_BITRATE
@@ -830,7 +940,7 @@ HXCFE_SIDE* ScanAndDecodeStream(HXCFE* floppycontext,HXCFE_FXSA * fxs, int initi
{
if(getbit(indextrack,i))
{
us2index(i % bitoffset,hxcfe_track,2000,1,0);
us2index(i % bitoffset,hxcfe_track,fxs->out_index_length_us,1,0);
}
}
@@ -2008,8 +2118,6 @@ void free_pulses_link_array(pulses_link * pl)
}
}
static pulses_link * ScanAndFindRepeatedBlocks(HXCFE* floppycontext,HXCFE_FXSA * fxs,HXCFE_TRKSTREAM * track_dump,uint32_t indexperiod,track_blocks * tb)
{
#ifdef SECONDPASSANALYSIS
@@ -3011,6 +3119,8 @@ HXCFE_FXSA * hxcfe_initFxStream(HXCFE * hxcfe)
fxs->pll.pll_min_max_percent = 18;
fxs->pll.max_pll_error_ticks = (float)((float)fxs->pll.tick_freq * (float)1E-9) * (float)680;
fxs->analysis_rev2rev_max_pulses_jitter = DEFAULT_MAXPULSESKEW;
fxs->out_index_length_us = 2000;
fxs->weak_cell_threshold = -1;
v = hxcfe_getEnvVarValue( hxcfe, "FLUXSTREAM_PLL_FAST_CORRECTION_RATIO_N" );
if(v)
@@ -3065,6 +3175,14 @@ HXCFE_FXSA * hxcfe_initFxStream(HXCFE * hxcfe)
}
}
v = hxcfe_getEnvVarValue( hxcfe, "FLUXSTREAM_ANALYSIS_OUT_INDEX_LENGTH" );
if(v > 0)
fxs->out_index_length_us = v;
v = hxcfe_getEnvVarValue( hxcfe, "FLUXSTREAM_PLL_WEAKBITS_CELLCNT_THRESHOLD" );
if(v)
fxs->weak_cell_threshold = v;
return fxs;
}
}
@@ -3602,6 +3720,24 @@ void printsidestat(HXCFE_FXSA * fxs,HXCFE_SIDE * side)
#endif
}
void hxcfe_FxStream_SetIndexLength( HXCFE_FXSA * fxs, int us )
{
int v;
if(fxs)
{
v = hxcfe_getEnvVarValue( fxs->hxcfe, "FLUXSTREAM_ANALYSIS_OUT_INDEX_LENGTH" );
if(v > 0)
{
fxs->out_index_length_us = v;
}
else
{
fxs->out_index_length_us = us;
}
}
}
HXCFE_SIDE * hxcfe_FxStream_AnalyzeAndGetTrack(HXCFE_FXSA * fxs,HXCFE_TRKSTREAM * std)
{
HXCFE * hxcfe;
+4 -4
View File
@@ -1,7 +1,7 @@
#define FILE_VERSION 2,13,16,1
#define STR_FILE_VERSION "2,13,16,1\0"
#define STR_FILE_VERSION2 "2.13.16.1"
#define STR_DATE "3O Aug 2022\0"
#define FILE_VERSION 2,13,16,5
#define STR_FILE_VERSION "2,13,16,5\0"
#define STR_FILE_VERSION2 "2.13.16.5"
#define STR_DATE "3 Sept 2022\0"
#define NOMFENETRE "HxCFloppyEmulator "##STR_FILE_VERSION2
#define FILEVER FILE_VERSION
+1
View File
@@ -227,3 +227,4 @@ EXPORTS
hxcfe_FxStream_ImportHxCStreamBuffer @614
hxcfe_deinitFxStream @615
hxcfe_FxStream_ChangeSpeed @616
hxcfe_FxStream_SetIndexLength @617