1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193
|
#pragma once
#include "TZXBlock.h"
#define HWTYPE_COMPUTERS 0x00
#define HWTYPE_EXTERNAL_STORAGE 0x01
#define HWTYPE_ROM_RAM_ADD_ON 0x02
#define HWTYPE_SOUND_DEVICES 0x03
#define HWTYPE_JOYSTICKS 0x04
#define HWTYPE_MICE 0x05
#define HWTYPE_OTHER_CONTROLLERS 0x06
#define HWTYPE_SERIAL_PORTS 0x07
#define HWTYPE_PARALLEL_PORTS 0x08
#define HWTYPE_PRINTERS 0x09
#define HWTYPE_MODEMS 0x0A
#define HWTYPE_DIGITIZERS 0x0B
#define HWTYPE_NETWORK_ADAPTERS 0x0C
#define HWTYPE_KEYBOARDS_KEYPADS 0x0D
#define HWTYPE_AD_DA_CONVERTORS 0x0E
#define HWTYPE_EPROM_PROGRAMMERS 0x0F
#define HWTYPE_GRAPHICS 0x0G
#define HWID_ZX_SPECTRUM_16K 0x00
/*
Hardware type Hardware ID
00 - Computers 00 - ZX Spectrum 16k
01 - ZX Spectrum 48k, Plus
02 - ZX Spectrum 48k ISSUE 1
03 - ZX Spectrum 128k +(Sinclair)
04 - ZX Spectrum 128k +2 (grey case)
05 - ZX Spectrum 128k +2A, +3
06 - Timex Sinclair TC-2048
07 - Timex Sinclair TS-2068
08 - Pentagon 128
09 - Sam Coupe
0A - Didaktik M
0B - Didaktik Gama
0C - ZX-80
0D - ZX-81
0E - ZX Spectrum 128k, Spanish version
0F - ZX Spectrum, Arabic version
10 - Microdigital TK 90-X
11 - Microdigital TK 95
12 - Byte
13 - Elwro 800-3
14 - ZS Scorpion 256
15 - Amstrad CPC 464
16 - Amstrad CPC 664
17 - Amstrad CPC 6128
18 - Amstrad CPC 464+
19 - Amstrad CPC 6128+
1A - Jupiter ACE
1B - Enterprise
1C - Commodore 64
1D - Commodore 128
1E - Inves Spectrum+
1F - Profi
20 - GrandRomMax
21 - Kay 1024
22 - Ice Felix HC 91
23 - Ice Felix HC 2000
24 - Amaterske RADIO Mistrum
25 - Quorum 128
26 - MicroART ATM
27 - MicroART ATM Turbo 2
28 - Chrome
29 - ZX Badaloc
2A - TS-1500
2B - Lambda
2C - TK-65
2D - ZX-97
01 - External storage 00 - ZX Microdrive
01 - Opus Discovery
02 - MGT Disciple
03 - MGT Plus-D
04 - Rotronics Wafadrive
05 - TR-DOS (BetaDisk)
06 - Byte Drive
07 - Watsford
08 - FIZ
09 - Radofin
0A - Didaktik disk drives
0B - BS-DOS (MB-02)
0C - ZX Spectrum +3 disk drive
0D - JLO (Oliger) disk interface
0E - Timex FDD3000
0F - Zebra disk drive
10 - Ramex Millenia
11 - Larken
12 - Kempston disk interface
13 - Sandy
14 - ZX Spectrum +3e hard disk
15 - ZXATASP
16 - DivIDE
17 - ZXCF
02 - ROM/RAM type add-ons 00 - Sam Ram
01 - Multiface ONE
02 - Multiface 128k
03 - Multiface +3
04 - MultiPrint
05 - MB-02 ROM/RAM expansion
06 - SoftROM
07 - 1k
08 - 16k
09 - 48k
0A - Memory in 8-16k used
03 - Sound devices 00 - Classic AY hardware (compatible with 128k ZXs)
01 - Fuller Box AY sound hardware
02 - Currah microSpeech
03 - SpecDrum
04 - AY ACB stereo (A+C=left, B+C=right); Melodik
05 - AY ABC stereo (A+B=left, B+C=right)
06 - RAM Music Machine
07 - Covox
08 - General Sound
09 - Intec Electronics Digital Interface B8001
0A - Zon-X AY
0B - QuickSilva AY
0C - Jupiter ACE
04 - Joysticks 00 - Kempston
01 - Cursor, Protek, AGF
02 - Sinclair 2 Left (12345)
03 - Sinclair 1 Right (67890)
04 - Fuller
05 - Mice 00 - AMX mouse
01 - Kempston mouse
06 - Other controllers 00 - Trickstick
01 - ZX Light Gun
02 - Zebra Graphics Tablet
03 - Defender Light Gun
07 - Serial ports 00 - ZX Interface 1
01 - ZX Spectrum 128k
08 - Parallel ports 00 - Kempston S
01 - Kempston E
02 - ZX Spectrum +3
03 - Tasman
04 - DK'Tronics
05 - Hilderbay
06 - INES Printerface
07 - ZX LPrint Interface 3
08 - MultiPrint
09 - Opus Discovery
0A - Standard 8255 chip with ports 31,63,95
09 - Printers 00 - ZX Printer, Alphacom 32 & compatibles
01 - Generic printer
02 - EPSON compatible
0A - Modems 00 - Prism VTX 5000
01 - T/S 2050 or Westridge 2050
0B - Digitizers 00 - RD Digital Tracer
01 - DK'Tronics Light Pen
02 - British MicroGraph Pad
03 - Romantic Robot Videoface
0C - Network adapters 00 - ZX Interface 1
0D - Keyboards & keypads 00 - Keypad for ZX Spectrum 128k
0E - AD/DA converters 00 - Harley Systems ADC 8.2
01 - Blackboard Electronics
0F - EPROM programmers 00 - Orme Electronics
10 - Graphics 00 - WRX Hi-Res
01 - G007
02 - Memotech
03 - Lambda Colour
*/
#define HWINFO_TAPE_RUNS_ON_THIS_MACHINE 0x00
#define HWINFO_TAPE_USES_HARDWARE_OR_SPECIAL_FEATURES_OF_THIS_MACHINE 0x01
#define HWINFO_TAPE_RUNS_BUT_DOES_NOT_USE_SPECIAL_FEATURES_OF_THIS_MACHIEN 0x02
#define HWINFO_TAPE_DOESNT_RUN_ON_THIS_MACHINE_WITH_THIS_HARDWARE 0x03
typedef struct
{
unsigned char nHardwareType;
unsigned char nHardwareID;
unsigned char nHardwareInfo;
} THWINFO;
class TZXBlockHardwareType :
public TZXBlock
{
public:
unsigned char m_nHwInfoCount;
THWINFO *m_pHWInfo;
TZXBlockHardwareType();
~TZXBlockHardwareType();
void GenerateAudio(TZXAudioGenerator *pAudioGenerator, TZXFile *pTZXFile);
char *GetDescription();
};
|