| Previous | 199869 Revisions | Next |
| r17917 Sunday 16th September, 2012 at 03:06:55 UTC by Aaron Giles |
|---|
| Enum and union normalization. |
| [src/emu] | eigccx86.h |
| [src/emu/cpu/cosmac] | cosdasm.c |
| [src/emu/cpu/i386] | cycles.h i386priv.h |
| [src/emu/cpu/i86] | i286.c i86priv.h |
| [src/emu/cpu/lh5801] | 5801dasm.c |
| [src/emu/cpu/mb86233] | mb86233.c |
| [src/emu/cpu/nec] | necpriv.h v25priv.h |
| [src/emu/cpu/powerpc] | ppc.c |
| [src/emu/cpu/rsp] | rsp.h |
| [src/emu/cpu/saturn] | saturnds.c |
| [src/emu/cpu/sc61860] | scdasm.c |
| [src/emu/cpu/sharc] | sharc.c sharc.h |
| [src/emu/cpu/tms7000] | 7000dasm.c |
| [src/emu/cpu/tms9900] | 9900dasm.c 99xxcore.h |
| [src/emu/cpu/upd7810] | upd7810.h |
| [src/emu/cpu/v30mz] | v30mz.c |
| [src/emu/machine] | 8042kbdc.h m6m80011ap.h pckeybrd.h pic8259.c rtc9701.h s3520cf.h |
| [src/emu/sound] | aica.c discrete.h multipcm.c scsp.c sid6581.h |
| [src/emu/video] | m50458.h |
| [src/lib/util] | opresolv.h |
| [src/mame/drivers] | quizpun2.c |
| [src/mame/machine] | md_cart.c scudsp.c stvcd.c |
| [src/mame/video] | hng64.c namcos22.c vdc.c |
| [src/mess/audio] | mea8000.c svision.c |
| [src/mess/drivers] | pcw16.c |
| [src/mess/formats] | spec_snqk.h |
| [src/mess/includes] | apple2.h apple2gs.h dgn_beta.h hp48.h mac.h macpci.h z80ne.h |
| [src/mess/machine] | applefdc.c ay31015.c ay31015.h coco_fdc.h ds1315.c i8271.c kr2376.h thomson.c upd765.c upd765.h |
| [src/mess/tools/imgtool] | charconv.h imgterrs.h library.h stream.c |
| [src/mess/tools/imgtool/modules] | amiga.c fat.c mac.c macutil.h os9.c prodos.c thomson.c ti99.c |
| [src/mess/video] | 911_vdt.h vic4567.h vic6567.h |
| [src/osd/sdl] | gl_shader_mgr.h gl_shader_tool.h |
| r17916 | r17917 | |
|---|---|---|
| 93 | 93 | #define SET_Z(_val) (state->m_scu_regs[32] = ((state->m_scu_regs[32] & ~0x00200000) | ((_val) ? 0x00200000 : 0))) |
| 94 | 94 | #define SET_V(_val) (state->m_scu_regs[32] = ((state->m_scu_regs[32] & ~0x00080000) | ((_val) ? 0x00080000 : 0))) |
| 95 | 95 | |
| 96 | ||
| 96 | ||
| 97 | 97 | INT32 si; |
| 98 | 98 | UINT32 ui; |
| 99 | } | |
| 99 | } | |
| 100 | 100 | |
| 101 | ||
| 101 | ||
| 102 | 102 | INT16 si; |
| 103 | 103 | UINT16 ui; |
| 104 | } | |
| 104 | } | |
| 105 | 105 | |
| 106 | 106 | static struct { |
| 107 | 107 | UINT8 pc; /*Program Counter*/ |
| r17916 | r17917 | |
|---|---|---|
| 101 | 101 | }; |
| 102 | 102 | |
| 103 | 103 | // 16-bit transfer types |
| 104 | ||
| 104 | ||
| 105 | 105 | { |
| 106 | 106 | XFERTYPE_INVALID, |
| 107 | 107 | XFERTYPE_TOC, |
| r17916 | r17917 | |
| 109 | 109 | XFERTYPE_FILEINFO_254, |
| 110 | 110 | XFERTYPE_SUBQ, |
| 111 | 111 | XFERTYPE_SUBRW |
| 112 | } | |
| 112 | } | |
| 113 | 113 | |
| 114 | 114 | // 32-bit transfer types |
| 115 | ||
| 115 | ||
| 116 | 116 | { |
| 117 | 117 | XFERTYPE32_INVALID, |
| 118 | 118 | XFERTYPE32_GETSECTOR, |
| 119 | 119 | XFERTYPE32_GETDELETESECTOR |
| 120 | } | |
| 120 | } | |
| 121 | 121 | |
| 122 | 122 | // local variables |
| 123 | 123 | static timer_device *sector_timer; |
| r17916 | r17917 | |
|---|---|---|
| 1044 | 1044 | /* ST M95320 32Kbit serial EEPROM implementation */ |
| 1045 | 1045 | |
| 1046 | 1046 | #define M95320_SIZE 0x1000 |
| 1047 | ||
| 1047 | ||
| 1048 | 1048 | { |
| 1049 | 1049 | IDLE = 0, |
| 1050 | 1050 | CMD_WRSR, |
| r17916 | r17917 | |
| 1053 | 1053 | CMD_WRITE, |
| 1054 | 1054 | READING, |
| 1055 | 1055 | WRITING |
| 1056 | } | |
| 1056 | } | |
| 1057 | 1057 | |
| 1058 | 1058 | class stm95_device |
| 1059 | 1059 | { |
| r17916 | r17917 | |
|---|---|---|
| 8 | 8 | #define STATE_VCR 3 |
| 9 | 9 | |
| 10 | 10 | /* todo: replace this with the PAIR structure */ |
| 11 | ||
| 11 | ||
| 12 | 12 | { |
| 13 | 13 | #ifdef LSB_FIRST |
| 14 | 14 | struct { unsigned char l,h; } b; |
| r17916 | r17917 | |
| 16 | 16 | struct { unsigned char h,l; } b; |
| 17 | 17 | #endif |
| 18 | 18 | unsigned short int w; |
| 19 | } | |
| 19 | } | |
| 20 | 20 | |
| 21 | 21 | /* the VDC context */ |
| 22 | 22 |
| r17916 | r17917 | |
|---|---|---|
| 953 | 953 | int power; /* 0.0..1.0 */ |
| 954 | 954 | } mCamera; |
| 955 | 955 | |
| 956 | ||
| 956 | ||
| 957 | 957 | { |
| 958 | 958 | eSCENENODE_NONLEAF, |
| 959 | 959 | eSCENENODE_QUAD3D, |
| 960 | 960 | eSCENENODE_SPRITE |
| 961 | } | |
| 961 | } | |
| 962 | 962 | |
| 963 | 963 | #define RADIX_BITS 4 |
| 964 | 964 | #define RADIX_BUCKETS (1<<RADIX_BITS) |
| r17916 | r17917 | |
|---|---|---|
| 681 | 681 | } |
| 682 | 682 | |
| 683 | 683 | /* internal set of transparency states for rendering */ |
| 684 | ||
| 684 | ||
| 685 | 685 | { |
| 686 | 686 | HNG64_TILEMAP_NORMAL = 1, |
| 687 | 687 | HNG64_TILEMAP_ADDITIVE, |
| 688 | 688 | HNG64_TILEMAP_ALPHA |
| 689 | } | |
| 689 | } | |
| 690 | 690 | |
| 691 | 691 | |
| 692 | 692 | struct blit_parameters |
| r17916 | r17917 | |
|---|---|---|
| 79 | 79 | #include "sound/2203intf.h" |
| 80 | 80 | |
| 81 | 81 | |
| 82 | ||
| 82 | ||
| 83 | 83 | struct prot_t { |
| 84 | 84 | prot_state state; |
| 85 | 85 | int wait_param; |
| r17916 | r17917 | |
|---|---|---|
| 4 | 4 | |
| 5 | 5 | // #define GLSL_SOURCE_ON_DISK 1 |
| 6 | 6 | |
| 7 | ||
| 7 | ||
| 8 | 8 | GLSL_SHADER_TYPE_IDX16, |
| 9 | 9 | GLSL_SHADER_TYPE_RGB32_LUT, |
| 10 | 10 | GLSL_SHADER_TYPE_RGB32_DIRECT, |
| 11 | 11 | GLSL_SHADER_TYPE_NUMBER |
| 12 | } | |
| 12 | } | |
| 13 | 13 | |
| 14 | ||
| 14 | ||
| 15 | 15 | GLSL_SHADER_FEAT_PLAIN, |
| 16 | 16 | GLSL_SHADER_FEAT_BILINEAR, |
| 17 | 17 | GLSL_SHADER_FEAT_INT_NUMBER, |
| 18 | 18 | GLSL_SHADER_FEAT_CUSTOM = GLSL_SHADER_FEAT_INT_NUMBER, |
| 19 | 19 | GLSL_SHADER_FEAT_MAX_NUMBER, |
| 20 | } | |
| 20 | } | |
| 21 | 21 | |
| 22 | 22 | // old code passed sdl_info * to functions here |
| 23 | 23 | // however the parameter was not used |
| r17916 | r17917 | |
|---|---|---|
| 73 | 73 | */ |
| 74 | 74 | int gl_shader_loadExtention(PFNGLGETPROCADDRESSOS GetProcAddress); |
| 75 | 75 | |
| 76 | ||
| 76 | ||
| 77 | 77 | CHECK_QUIET, /* just return 0, if no error, otherwise the GL error code, no stderr output */ |
| 78 | 78 | CHECK_VERBOSE, /* same as CHECK_QUIET, but in the case of an error, use stderr to be verbose */ |
| 79 | 79 | CHECK_ALWAYS_VERBOSE /* always print out all information available */ |
| 80 | } | |
| 80 | } | |
| 81 | 81 | |
| 82 | 82 | #define GL_CHECK_ERROR_VERBOSE() gl_check_error(CHECK_ALWAYS_VERBOSE,__FILE__,__LINE__) |
| 83 | 83 | #define GL_CHECK_ERROR_NORMAL() gl_check_error(CHECK_VERBOSE,__FILE__,__LINE__) |
| r17916 | r17917 | |
|---|---|---|
| 91 | 91 | #define OPTION_ENUM_END |
| 92 | 92 | |
| 93 | 93 | |
| 94 | ||
| 94 | ||
| 95 | 95 | { |
| 96 | 96 | OPTIONRESOLUTION_ERROR_SUCCESS, |
| 97 | 97 | OPTIONRESOLUTION_ERROR_OUTOFMEMORY, |
| r17916 | r17917 | |
| 102 | 102 | OPTIONRESOLUTION_ERROR_BADPARAM, |
| 103 | 103 | OPTIONRESOLUTION_ERROR_SYNTAX, |
| 104 | 104 | OPTIONRESOLTUION_ERROR_INTERNAL |
| 105 | } | |
| 105 | } | |
| 106 | 106 | |
| 107 | 107 | |
| 108 | 108 |
| r17916 | r17917 | |
|---|---|---|
| 45 | 45 | #include "v30mz.h" |
| 46 | 46 | |
| 47 | 47 | |
| 48 | typedef enum { ES=0, CS, SS, DS } SREGS; | |
| 49 | typedef enum { AW=0, CW, DW, BW, SP, BP, IX, IY } WREGS; | |
| 48 | enum SREGS { ES=0, CS, SS, DS }; | |
| 49 | enum WREGS { AW=0, CW, DW, BW, SP, BP, IX, IY }; | |
| 50 | 50 | |
| 51 | 51 | #define NEC_NMI_INT_VECTOR 2 |
| 52 | 52 | |
| 53 | ||
| 53 | ||
| 54 | 54 | AL = NATIVE_ENDIAN_VALUE_LE_BE(0x0, 0x1), |
| 55 | 55 | AH = NATIVE_ENDIAN_VALUE_LE_BE(0x1, 0x0), |
| 56 | 56 | CL = NATIVE_ENDIAN_VALUE_LE_BE(0x2, 0x3), |
| r17916 | r17917 | |
| 67 | 67 | IXH = NATIVE_ENDIAN_VALUE_LE_BE(0xd, 0xc), |
| 68 | 68 | IYL = NATIVE_ENDIAN_VALUE_LE_BE(0xe, 0xf), |
| 69 | 69 | IYH = NATIVE_ENDIAN_VALUE_LE_BE(0xf, 0xe) |
| 70 | } | |
| 70 | } | |
| 71 | 71 | |
| 72 | 72 | |
| 73 | 73 | #define CF (m_CarryVal!=0) |
| r17916 | r17917 | |
|---|---|---|
| 24 | 24 | |
| 25 | 25 | #include "lh5801.h" |
| 26 | 26 | |
| 27 | ||
| 27 | ||
| 28 | 28 | { |
| 29 | 29 | Imp, |
| 30 | 30 | Reg, |
| r17916 | r17917 | |
| 44 | 44 | ME1AbsImm, |
| 45 | 45 | RelP, |
| 46 | 46 | RelM |
| 47 | } | |
| 47 | } | |
| 48 | 48 | |
| 49 | ||
| 49 | ||
| 50 | 50 | { |
| 51 | 51 | RegNone, |
| 52 | 52 | A, |
| r17916 | r17917 | |
| 54 | 54 | YL, YH, Y, |
| 55 | 55 | UL, UH, U, |
| 56 | 56 | P, S |
| 57 | } | |
| 57 | } | |
| 58 | 58 | |
| 59 | 59 | static const char *const RegNames[]= { |
| 60 | 60 | 0, "A", "XL", "XH", "X", "YL", "YH", "Y", "UL", "UH", "U", "P", "S" |
| r17916 | r17917 | |
| 64 | 64 | #undef SEC |
| 65 | 65 | #endif |
| 66 | 66 | |
| 67 | ||
| 67 | ||
| 68 | 68 | { |
| 69 | 69 | ILL, ILL2, PREFD, NOP, |
| 70 | 70 | |
| r17916 | r17917 | |
| 97 | 97 | RDP, SDP,// reset display flip flop |
| 98 | 98 | RPU, SPU,// flip flop pu off |
| 99 | 99 | RPV, SPV,// flip flop pv off |
| 100 | } | |
| 100 | } | |
| 101 | 101 | |
| 102 | 102 | static const char *const InsNames[]={ |
| 103 | 103 | "ILL", "ILL", 0, "NOP", |
| r17916 | r17917 | |
|---|---|---|
| 47 | 47 | UINT32 l[8]; |
| 48 | 48 | }; |
| 49 | 49 | |
| 50 | ||
| 50 | ||
| 51 | 51 | { |
| 52 | 52 | INT32 r; |
| 53 | 53 | float f; |
| 54 | } | |
| 54 | } | |
| 55 | 55 | |
| 56 | 56 | struct DMA_REGS |
| 57 | 57 | { |
| r17916 | r17917 | |
|---|---|---|
| 9 | 9 | #define SHARC_INPUT_FLAG2 5 |
| 10 | 10 | #define SHARC_INPUT_FLAG3 6 |
| 11 | 11 | |
| 12 | ||
| 12 | ||
| 13 | 13 | { |
| 14 | 14 | BOOT_MODE_EPROM, |
| 15 | 15 | BOOT_MODE_HOST, |
| 16 | 16 | BOOT_MODE_LINK, |
| 17 | 17 | BOOT_MODE_NOBOOT |
| 18 | } | |
| 18 | } | |
| 19 | 19 | |
| 20 | 20 | struct sharc_config { |
| 21 | 21 | SHARC_BOOT_MODE boot_mode; |
| r17916 | r17917 | |
|---|---|---|
| 10 | 10 | |
| 11 | 11 | #define I8086_NMI_INT_VECTOR 2 |
| 12 | 12 | |
| 13 | typedef enum { ES, CS, SS, DS } SREGS; | |
| 14 | typedef enum { AX, CX, DX, BX, SP, BP, SI, DI } WREGS; | |
| 13 | enum SREGS { ES, CS, SS, DS }; | |
| 14 | enum WREGS { AX, CX, DX, BX, SP, BP, SI, DI }; | |
| 15 | 15 | |
| 16 | 16 | #ifndef FALSE |
| 17 | 17 | #define FALSE 0 |
| r17916 | r17917 | |
| 19 | 19 | #endif |
| 20 | 20 | |
| 21 | 21 | |
| 22 | ||
| 22 | ||
| 23 | 23 | AL = NATIVE_ENDIAN_VALUE_LE_BE(0x0, 0x1), |
| 24 | 24 | AH = NATIVE_ENDIAN_VALUE_LE_BE(0x1, 0x0), |
| 25 | 25 | CL = NATIVE_ENDIAN_VALUE_LE_BE(0x2, 0x3), |
| r17916 | r17917 | |
| 36 | 36 | SIH = NATIVE_ENDIAN_VALUE_LE_BE(0xd, 0xc), |
| 37 | 37 | DIL = NATIVE_ENDIAN_VALUE_LE_BE(0xe, 0xf), |
| 38 | 38 | DIH = NATIVE_ENDIAN_VALUE_LE_BE(0xf, 0xe) |
| 39 | } | |
| 39 | } | |
| 40 | 40 | |
| 41 | 41 | /* parameter x = result, y = source 1, z = source 2 */ |
| 42 | 42 |
| r17916 | r17917 | |
|---|---|---|
| 26 | 26 | /* cpu state */ |
| 27 | 27 | /***************************************************************************/ |
| 28 | 28 | /* I86 registers */ |
| 29 | ||
| 29 | ||
| 30 | 30 | { /* eight general registers */ |
| 31 | 31 | UINT16 w[8]; /* viewed as 16 bits registers */ |
| 32 | 32 | UINT8 b[16]; /* or as 8 bit registers */ |
| 33 | } | |
| 33 | } | |
| 34 | 34 | |
| 35 | 35 | struct i80286_state |
| 36 | 36 | { |
| r17916 | r17917 | |
|---|---|---|
| 11 | 11 | */ |
| 12 | 12 | |
| 13 | 13 | // unfortunatly memory configuration differs with internal rom size |
| 14 | ||
| 14 | ||
| 15 | 15 | { |
| 16 | 16 | TYPE_7801, |
| 17 | 17 | TYPE_78C05, |
| r17916 | r17917 | |
| 24 | 24 | // TYPE_78K0, |
| 25 | 25 | // TYPE_78K0S |
| 26 | 26 | // millions of subtypes |
| 27 | } | |
| 27 | } | |
| 28 | 28 | |
| 29 | 29 | /* Supply an instance of this function in your driver code: |
| 30 | 30 | * It will be called whenever an output signal changes or a new |
| r17916 | r17917 | |
|---|---|---|
| 79 | 79 | */ |
| 80 | 80 | |
| 81 | 81 | |
| 82 | ||
| 82 | ||
| 83 | 83 | { |
| 84 | 84 | Ill, |
| 85 | 85 | Imp, |
| r17916 | r17917 | |
| 90 | 90 | Etc, |
| 91 | 91 | Cal, |
| 92 | 92 | Lp |
| 93 | } | |
| 93 | } | |
| 94 | 94 | |
| 95 | 95 | static const struct { const char *mnemonic; Adr adr; } table[]={ |
| 96 | 96 | { "LII", Imm }, { "LIJ", Imm }, { "LIA", Imm }, { "LIB", Imm }, |
| r17916 | r17917 | |
|---|---|---|
| 17 | 17 | |
| 18 | 18 | extern int i386_dasm_one(char *buffer, UINT32 pc, const UINT8 *oprom, int mode); |
| 19 | 19 | |
| 20 | ||
| 20 | ||
| 21 | 21 | |
| 22 | ||
| 22 | ||
| 23 | 23 | { |
| 24 | 24 | AL = NATIVE_ENDIAN_VALUE_LE_BE(0,3), |
| 25 | 25 | AH = NATIVE_ENDIAN_VALUE_LE_BE(1,2), |
| r17916 | r17917 | |
| 29 | 29 | DH = NATIVE_ENDIAN_VALUE_LE_BE(9,10), |
| 30 | 30 | BL = NATIVE_ENDIAN_VALUE_LE_BE(12,15), |
| 31 | 31 | BH = NATIVE_ENDIAN_VALUE_LE_BE(13,14) |
| 32 | } | |
| 32 | } | |
| 33 | 33 | |
| 34 | ||
| 34 | ||
| 35 | 35 | { |
| 36 | 36 | AX = NATIVE_ENDIAN_VALUE_LE_BE(0,1), |
| 37 | 37 | CX = NATIVE_ENDIAN_VALUE_LE_BE(2,3), |
| r17916 | r17917 | |
| 41 | 41 | BP = NATIVE_ENDIAN_VALUE_LE_BE(10,11), |
| 42 | 42 | SI = NATIVE_ENDIAN_VALUE_LE_BE(12,13), |
| 43 | 43 | DI = NATIVE_ENDIAN_VALUE_LE_BE(14,15) |
| 44 | } | |
| 44 | } | |
| 45 | 45 | |
| 46 | ||
| 46 | ||
| 47 | 47 | |
| 48 | 48 | enum |
| 49 | 49 | { |
| r17916 | r17917 | |
| 229 | 229 | UINT32 limit; |
| 230 | 230 | }; |
| 231 | 231 | |
| 232 | ||
| 232 | ||
| 233 | 233 | UINT32 d[8]; |
| 234 | 234 | UINT16 w[16]; |
| 235 | 235 | UINT8 b[32]; |
| 236 | } | |
| 236 | } | |
| 237 | 237 | |
| 238 | ||
| 238 | ||
| 239 | 239 | UINT64 i; |
| 240 | 240 | double f; |
| 241 | } | |
| 241 | } | |
| 242 | 242 | |
| 243 | 243 | typedef UINT64 MMX_REG; |
| 244 | 244 | |
| 245 | ||
| 245 | ||
| 246 | 246 | UINT32 d[4]; |
| 247 | 247 | UINT16 w[8]; |
| 248 | 248 | UINT8 b[16]; |
| 249 | 249 | UINT64 q[2]; |
| 250 | 250 | float f[4]; |
| 251 | } | |
| 251 | } | |
| 252 | 252 | |
| 253 | 253 | struct i386_state |
| 254 | 254 | { |
| r17916 | r17917 | |
|---|---|---|
| 3 | 3 | #ifndef __CYCLES_H__ |
| 4 | 4 | #define __CYCLES_H__ |
| 5 | 5 | |
| 6 | ||
| 6 | ||
| 7 | 7 | { |
| 8 | 8 | CYCLES_MOV_REG_REG, |
| 9 | 9 | CYCLES_MOV_REG_MEM, |
| r17916 | r17917 | |
| 327 | 327 | CYCLES_XADD_REG_MEM, |
| 328 | 328 | |
| 329 | 329 | CYCLES_NUM_OPCODES |
| 330 | } | |
| 330 | } | |
| 331 | 331 | |
| 332 | 332 | |
| 333 | 333 | #define X86_NUM_CPUS 4 |
| r17916 | r17917 | |
|---|---|---|
| 138 | 138 | |
| 139 | 139 | #define RSPDRC_STRICT_VERIFY 0x0001 /* verify all instructions */ |
| 140 | 140 | |
| 141 | ||
| 141 | ||
| 142 | 142 | { |
| 143 | 143 | UINT64 d[2]; |
| 144 | 144 | UINT32 l[4]; |
| 145 | 145 | INT16 s[8]; |
| 146 | 146 | UINT8 b[16]; |
| 147 | } | |
| 147 | } | |
| 148 | 148 | |
| 149 | ||
| 149 | ||
| 150 | 150 | { |
| 151 | 151 | INT64 q; |
| 152 | 152 | INT32 l[2]; |
| 153 | 153 | INT16 w[4]; |
| 154 | } | |
| 154 | } | |
| 155 | 155 | |
| 156 | 156 | typedef struct _rspimp_state rspimp_state; |
| 157 | 157 | struct rsp_state |
| r17916 | r17917 | |
|---|---|---|
| 216 | 216 | emu_timer *tx_timer; |
| 217 | 217 | }; |
| 218 | 218 | |
| 219 | ||
| 219 | ||
| 220 | 220 | UINT64 id; |
| 221 | 221 | double fd; |
| 222 | } | |
| 222 | } | |
| 223 | 223 | |
| 224 | ||
| 224 | ||
| 225 | 225 | UINT32 i; |
| 226 | 226 | float f; |
| 227 | } | |
| 227 | } | |
| 228 | 228 | |
| 229 | 229 | struct BATENT { |
| 230 | 230 | UINT32 u; |
| r17916 | r17917 | |
|---|---|---|
| 35 | 35 | }; |
| 36 | 36 | |
| 37 | 37 | /* interrupt sources */ |
| 38 | ||
| 38 | ||
| 39 | 39 | { |
| 40 | 40 | BRK = 0, |
| 41 | 41 | INT_IRQ = 1, |
| r17916 | r17917 | |
| 57 | 57 | INTTB = 1 << 16, |
| 58 | 58 | BRKN = 1 << 17, |
| 59 | 59 | BRKS = 1 << 18 |
| 60 | } | |
| 60 | } | |
| 61 | 61 | |
| 62 | 62 | /* internal RAM and register banks */ |
| 63 | ||
| 63 | ||
| 64 | 64 | { |
| 65 | 65 | UINT16 w[128]; |
| 66 | 66 | UINT8 b[256]; |
| 67 | } | |
| 67 | } | |
| 68 | 68 | |
| 69 | 69 | struct v25_state_t |
| 70 | 70 | { |
| r17916 | r17917 | |
| 127 | 127 | PC_SAVE = 0x06/2 |
| 128 | 128 | }; |
| 129 | 129 | |
| 130 | ||
| 130 | ||
| 131 | 131 | DS1 = 0x0E/2, |
| 132 | 132 | PS = 0x0C/2, |
| 133 | 133 | SS = 0x0A/2, |
| 134 | 134 | DS0 = 0x08/2 |
| 135 | } | |
| 135 | } | |
| 136 | 136 | |
| 137 | ||
| 137 | ||
| 138 | 138 | AW = 0x1E/2, |
| 139 | 139 | CW = 0x1C/2, |
| 140 | 140 | DW = 0x1A/2, |
| r17916 | r17917 | |
| 143 | 143 | BP = 0x14/2, |
| 144 | 144 | IX = 0x12/2, |
| 145 | 145 | IY = 0x10/2 |
| 146 | } | |
| 146 | } | |
| 147 | 147 | |
| 148 | ||
| 148 | ||
| 149 | 149 | AL = NATIVE_ENDIAN_VALUE_LE_BE(0x1E, 0x1F), |
| 150 | 150 | AH = NATIVE_ENDIAN_VALUE_LE_BE(0x1F, 0x1E), |
| 151 | 151 | CL = NATIVE_ENDIAN_VALUE_LE_BE(0x1C, 0x1D), |
| r17916 | r17917 | |
| 154 | 154 | DH = NATIVE_ENDIAN_VALUE_LE_BE(0x1B, 0x1A), |
| 155 | 155 | BL = NATIVE_ENDIAN_VALUE_LE_BE(0x18, 0x19), |
| 156 | 156 | BH = NATIVE_ENDIAN_VALUE_LE_BE(0x19, 0x18) |
| 157 | } | |
| 157 | } | |
| 158 | 158 | |
| 159 | 159 | #define SetRB(x) do { nec_state->RBW = (x) << 4; nec_state->RBB = (x) << 5; } while (0) |
| 160 | 160 |
| r17916 | r17917 | |
|---|---|---|
| 19 | 19 | }; |
| 20 | 20 | |
| 21 | 21 | /* interrupt sources */ |
| 22 | ||
| 22 | ||
| 23 | 23 | { |
| 24 | 24 | BRK = 0, |
| 25 | 25 | INT_IRQ = 1, |
| 26 | 26 | NMI_IRQ = 2, |
| 27 | } | |
| 27 | } | |
| 28 | 28 | |
| 29 | 29 | /* NEC registers */ |
| 30 | ||
| 30 | ||
| 31 | 31 | { /* eight general registers */ |
| 32 | 32 | UINT16 w[8]; /* viewed as 16 bits registers */ |
| 33 | 33 | UINT8 b[16]; /* or as 8 bit registers */ |
| 34 | } | |
| 34 | } | |
| 35 | 35 | |
| 36 | 36 | struct nec_state_t |
| 37 | 37 | { |
| r17916 | r17917 | |
| 71 | 71 | UINT8 seg_prefix; /* prefix segment indicator */ |
| 72 | 72 | }; |
| 73 | 73 | |
| 74 | typedef enum { DS1, PS, SS, DS0 } SREGS; | |
| 75 | typedef enum { AW, CW, DW, BW, SP, BP, IX, IY } WREGS; | |
| 76 | typedef enum { | |
| 74 | enum SREGS { DS1, PS, SS, DS0 }; | |
| 75 | enum WREGS { AW, CW, DW, BW, SP, BP, IX, IY }; | |
| 76 | enum BREGS { | |
| 77 | 77 | AL = NATIVE_ENDIAN_VALUE_LE_BE(0x0, 0x1), |
| 78 | 78 | AH = NATIVE_ENDIAN_VALUE_LE_BE(0x1, 0x0), |
| 79 | 79 | CL = NATIVE_ENDIAN_VALUE_LE_BE(0x2, 0x3), |
| r17916 | r17917 | |
| 82 | 82 | DH = NATIVE_ENDIAN_VALUE_LE_BE(0x5, 0x4), |
| 83 | 83 | BL = NATIVE_ENDIAN_VALUE_LE_BE(0x6, 0x7), |
| 84 | 84 | BH = NATIVE_ENDIAN_VALUE_LE_BE(0x7, 0x6), |
| 85 | } | |
| 85 | } | |
| 86 | 86 | |
| 87 | 87 | #define Sreg(x) nec_state->sregs[x] |
| 88 | 88 | #define Wreg(x) nec_state->regs.w[x] |
| r17916 | r17917 | |
|---|---|---|
| 24 | 24 | |
| 25 | 25 | #include "cosmac.h" |
| 26 | 26 | |
| 27 | ||
| 27 | ||
| 28 | 28 | { |
| 29 | 29 | Ill, |
| 30 | 30 | Imm, |
| r17916 | r17917 | |
| 33 | 33 | Imp3, // bit 0,1,2 1..7 contains n0,n1,n2 level |
| 34 | 34 | Low, // only low byte of address specified |
| 35 | 35 | Abs |
| 36 | } | |
| 36 | } | |
| 37 | 37 | |
| 38 | 38 | static const struct { const char *mnemonic; Adr adr; } table[]={ |
| 39 | 39 | { "IDL", Imp }, { "LDN", Imp2},{ 0 }, { 0 }, { 0 }, { 0 }, { 0 }, { 0 }, |
| r17916 | r17917 | |
|---|---|---|
| 2 | 2 | #include "debugger.h" |
| 3 | 3 | #include "tms7000.h" |
| 4 | 4 | |
| 5 | ||
| 5 | ||
| 6 | 6 | |
| 7 | 7 | struct oprandinfo { |
| 8 | 8 | char opstr[4][12]; |
| r17916 | r17917 | |
|---|---|---|
| 1993 | 1993 | |
| 1994 | 1994 | #endif |
| 1995 | 1995 | |
| 1996 | ||
| 1996 | ||
| 1997 | 1997 | { |
| 1998 | 1998 | CRU_OK = 0, |
| 1999 | 1999 | CRU_PRIVILEGE_VIOLATION = -1 |
| 2000 | } | |
| 2000 | } | |
| 2001 | 2001 | |
| 2002 | 2002 | #define WRITEPORT(cs, port, data) (cs)->io->write_byte(port, data) |
| 2003 | 2003 |
| r17916 | r17917 | |
|---|---|---|
| 27 | 27 | #define MASK 0x0000ffff |
| 28 | 28 | #define BITS(val,n1,n2) ((val>>(15-(n2))) & (MASK>>(15-((n2)-(n1))))) |
| 29 | 29 | |
| 30 | ||
| 30 | ||
| 31 | 31 | { |
| 32 | 32 | format_1, /* 2 address instructions */ |
| 33 | 33 | format_2a, /* jump instructions */ |
| r17916 | r17917 | |
| 55 | 55 | format_21, /* extend precision instruction */ |
| 56 | 56 | |
| 57 | 57 | illegal |
| 58 | } | |
| 58 | } | |
| 59 | 59 | |
| 60 | 60 | /* definitions for flags */ |
| 61 | 61 | enum |
| r17916 | r17917 | |
|---|---|---|
| 23 | 23 | STRUCTURES & TYPEDEFS |
| 24 | 24 | ***************************************************************************/ |
| 25 | 25 | |
| 26 | ||
| 26 | ||
| 27 | 27 | { |
| 28 | 28 | INT32 i; |
| 29 | 29 | UINT32 u; |
| 30 | 30 | float f; |
| 31 | } | |
| 31 | } | |
| 32 | 32 | |
| 33 | 33 | struct mb86233_state |
| 34 | 34 | { |
| r17916 | r17917 | |
|---|---|---|
| 71 | 71 | |
| 72 | 72 | |
| 73 | 73 | // don't split branch and return, source relies on this ordering |
| 74 | ||
| 74 | ||
| 75 | 75 | { |
| 76 | 76 | Return, ReturnSetXM, ReturnSetCarry, ReturnClearCarry, ReturnFromInterrupt, |
| 77 | 77 | jump3,jump4,jump, |
| r17916 | r17917 | |
| 197 | 197 | negateA, negateB, negateC, negateD, |
| 198 | 198 | notA, notB, notC, notD |
| 199 | 199 | |
| 200 | } | |
| 200 | } | |
| 201 | 201 | |
| 202 | 202 | static const struct { |
| 203 | 203 | const char *name[2]; |
| r17916 | r17917 | |
|---|---|---|
| 28 | 28 | // TYPE DEFINITIONS |
| 29 | 29 | //************************************************************************** |
| 30 | 30 | |
| 31 | ||
| 31 | ||
| 32 | 32 | { |
| 33 | 33 | OSD_SET_ADDRESS = 0, |
| 34 | 34 | OSD_SET_DATA |
| 35 | } | |
| 35 | } | |
| 36 | 36 | |
| 37 | 37 | // ======================> upd7220_interface |
| 38 | 38 |
| r17916 | r17917 | |
|---|---|---|
| 81 | 81 | 28.0,25.0,22.0,18.0,14.0,12.0,11.0,8.5,7.1,6.1,5.4,4.3,3.6,3.1}; |
| 82 | 82 | static INT32 EG_TABLE[0x400]; |
| 83 | 83 | |
| 84 | ||
| 84 | ||
| 85 | 85 | struct _EG |
| 86 | 86 | { |
| 87 | 87 | int volume; // |
| r17916 | r17917 | |
|---|---|---|
| 4139 | 4139 | * |
| 4140 | 4140 | *************************************/ |
| 4141 | 4141 | |
| 4142 | ||
| 4142 | ||
| 4143 | 4143 | { |
| 4144 | 4144 | DSS_NULL, /* Nothing, nill, zippo, only to be used as terminating node */ |
| 4145 | 4145 | DSS_NOP, /* just do nothing, placeholder for potential DISCRETE_REPLACE in parent block */ |
| r17916 | r17917 | |
| 4169 | 4169 | |
| 4170 | 4170 | /* Marks end of this enum -- must be last entry ! */ |
| 4171 | 4171 | DSO_LAST |
| 4172 | } | |
| 4172 | } | |
| 4173 | 4173 | |
| 4174 | 4174 | /************************************* |
| 4175 | 4175 | * |
| r17916 | r17917 | |
|---|---|---|
| 111 | 111 | 28.0,25.0,22.0,18.0,14.0,12.0,11.0,8.5,7.1,6.1,5.4,4.3,3.6,3.1}; |
| 112 | 112 | static INT32 EG_TABLE[0x400]; |
| 113 | 113 | |
| 114 | ||
| 114 | ||
| 115 | 115 | struct _EG |
| 116 | 116 | { |
| 117 | 117 | int volume; // |
| r17916 | r17917 | |
|---|---|---|
| 14 | 14 | #include "devlegcy.h" |
| 15 | 15 | |
| 16 | 16 | |
| 17 | ||
| 17 | ||
| 18 | 18 | { |
| 19 | 19 | MOS6581, |
| 20 | 20 | MOS8580 |
| 21 | } | |
| 21 | } | |
| 22 | 22 | |
| 23 | 23 | #define MOS6581_INTERFACE(name) \ |
| 24 | 24 | const sid6581_interface (name) = |
| r17916 | r17917 | |
|---|---|---|
| 48 | 48 | unsigned char AM; |
| 49 | 49 | }; |
| 50 | 50 | |
| 51 | ||
| 51 | ||
| 52 | 52 | ALLOW_SAVE_TYPE(_STATE); // allow save_item on a non-fundamental type |
| 53 | 53 | struct _EG |
| 54 | 54 | { |
| r17916 | r17917 | |
|---|---|---|
| 27 | 27 | INLINE MATH FUNCTIONS |
| 28 | 28 | ***************************************************************************/ |
| 29 | 29 | |
| 30 | ||
| 30 | union | |
| 31 | 31 | { |
| 32 | 32 | UINT64 u64; |
| 33 | 33 | struct { |
| 34 | 34 | UINT32 l, h; |
| 35 | 35 | } u32; |
| 36 | } | |
| 36 | } | |
| 37 | 37 | |
| 38 | 38 | /*------------------------------------------------- |
| 39 | 39 | mul_32x32 - perform a signed 32 bit x 32 bit |
| r17916 | r17917 | |
|---|---|---|
| 12 | 12 | #ifndef PCKEYBRD_H |
| 13 | 13 | #define PCKEYBRD_H |
| 14 | 14 | |
| 15 | ||
| 15 | ||
| 16 | 16 | { |
| 17 | 17 | AT_KEYBOARD_TYPE_PC, |
| 18 | 18 | AT_KEYBOARD_TYPE_AT, |
| 19 | 19 | AT_KEYBOARD_TYPE_MF2 |
| 20 | } | |
| 20 | } | |
| 21 | 21 | |
| 22 | 22 | void at_keyboard_init(running_machine &machine, AT_KEYBOARD_TYPE type); |
| 23 | 23 |
| r17916 | r17917 | |
|---|---|---|
| 20 | 20 | #define LOG_OCW 0 |
| 21 | 21 | #define LOG_GENERAL 0 |
| 22 | 22 | |
| 23 | ||
| 23 | ||
| 24 | 24 | { |
| 25 | 25 | STATE_ICW1, |
| 26 | 26 | STATE_ICW2, |
| 27 | 27 | STATE_ICW3, |
| 28 | 28 | STATE_ICW4, |
| 29 | 29 | STATE_READY |
| 30 | } | |
| 30 | } | |
| 31 | 31 | |
| 32 | 32 | typedef struct pic8259 pic8259_t; |
| 33 | 33 |
| r17916 | r17917 | |
|---|---|---|
| 24 | 24 | // TYPE DEFINITIONS |
| 25 | 25 | //************************************************************************** |
| 26 | 26 | |
| 27 | ||
| 27 | ||
| 28 | 28 | { |
| 29 | 29 | EEPROM_GET_CMD = 0, |
| 30 | 30 | EEPROM_READ, |
| r17916 | r17917 | |
| 32 | 32 | EEPROM_WRITE_ENABLE, |
| 33 | 33 | EEPROM_WRITE_DISABLE, |
| 34 | 34 | EEPROM_STATUS_OUTPUT |
| 35 | } | |
| 35 | } | |
| 36 | 36 | |
| 37 | 37 | |
| 38 | 38 | // ======================> m6m80011ap_device |
| r17916 | r17917 | |
|---|---|---|
| 10 | 10 | #ifndef KBDC8042_H |
| 11 | 11 | #define KBDC8042_H |
| 12 | 12 | |
| 13 | type | |
| 13 | enum kbdc8042_type_t | |
| 14 | 14 | { |
| 15 | 15 | KBDC8042_STANDARD, |
| 16 | 16 | KBDC8042_PS2, /* another timing of integrated controller */ |
| 17 | 17 | KBDC8042_AT386 /* hack for at386 driver */ |
| 18 | } | |
| 18 | } | |
| 19 | 19 | |
| 20 | 20 | |
| 21 | 21 | struct kbdc8042_interface |
| r17916 | r17917 | |
|---|---|---|
| 26 | 26 | //************************************************************************** |
| 27 | 27 | |
| 28 | 28 | |
| 29 | ||
| 29 | ||
| 30 | 30 | { |
| 31 | 31 | RTC9701_CMD_WAIT = 0, |
| 32 | 32 | RTC9701_RTC_READ, |
| r17916 | r17917 | |
| 35 | 35 | RTC9701_EEPROM_WRITE, |
| 36 | 36 | RTC9701_AFTER_WRITE_ENABLE, |
| 37 | 37 | |
| 38 | } | |
| 38 | } | |
| 39 | 39 | |
| 40 | 40 | struct rtc_regs_t |
| 41 | 41 | { |
| r17916 | r17917 | |
|---|---|---|
| 23 | 23 | // TYPE DEFINITIONS |
| 24 | 24 | //************************************************************************** |
| 25 | 25 | |
| 26 | ||
| 26 | ||
| 27 | 27 | { |
| 28 | 28 | RTC_SET_ADDRESS = 0, |
| 29 | 29 | RTC_SET_DATA |
| 30 | } | |
| 30 | } | |
| 31 | 31 | |
| 32 | 32 | struct rtc_regs_t |
| 33 | 33 | { |
| r17916 | r17917 | |
|---|---|---|
| 10 | 10 | #define IMGTERRS_H |
| 11 | 11 | |
| 12 | 12 | /* Error codes */ |
| 13 | ||
| 13 | ||
| 14 | 14 | { |
| 15 | 15 | IMGTOOLERR_SUCCESS, |
| 16 | 16 | IMGTOOLERR_OUTOFMEMORY, |
| r17916 | r17917 | |
| 41 | 41 | IMGTOOLERR_NOFORKS, |
| 42 | 42 | IMGTOOLERR_FORKNOTFOUND, |
| 43 | 43 | IMGTOOLERR_INVALIDPARTITION |
| 44 | } | |
| 44 | } | |
| 45 | 45 | |
| 46 | 46 | |
| 47 | 47 |
| r17916 | r17917 | |
|---|---|---|
| 12 | 12 | |
| 13 | 13 | |
| 14 | 14 | /* Supported character sets */ |
| 15 | ||
| 15 | ||
| 16 | 16 | { |
| 17 | 17 | IMGTOOL_CHARSET_UTF8, |
| 18 | 18 | IMGTOOL_CHARSET_ISO_8859_1, |
| 19 | } | |
| 19 | } | |
| 20 | 20 | |
| 21 | 21 | |
| 22 | 22 | /* Convert specified charset to UTF-8 */ |
| r17916 | r17917 | |
|---|---|---|
| 30 | 30 | typedef struct _imgtool_directory imgtool_directory; |
| 31 | 31 | typedef struct _imgtool_library imgtool_library; |
| 32 | 32 | |
| 33 | ||
| 33 | ||
| 34 | 34 | { |
| 35 | 35 | SUGGESTION_END, |
| 36 | 36 | SUGGESTION_POSSIBLE, |
| 37 | 37 | SUGGESTION_RECOMMENDED |
| 38 | } | |
| 38 | } | |
| 39 | 39 | |
| 40 | 40 | union filterinfo |
| 41 | 41 | { |
| r17916 | r17917 | |
| 51 | 51 | |
| 52 | 52 | typedef void (*filter_getinfoproc)(UINT32 state, union filterinfo *info); |
| 53 | 53 | |
| 54 | ||
| 54 | ||
| 55 | 55 | { |
| 56 | 56 | ITLS_NAME, |
| 57 | 57 | ITLS_DESCRIPTION |
| 58 | } | |
| 58 | } | |
| 59 | 59 | |
| 60 | 60 | struct imgtool_dirent |
| 61 | 61 | { |
| r17916 | r17917 | |
| 83 | 83 | UINT64 block; |
| 84 | 84 | }; |
| 85 | 85 | |
| 86 | type | |
| 86 | enum imgtool_forktype_t | |
| 87 | 87 | { |
| 88 | 88 | FORK_END, |
| 89 | 89 | FORK_DATA, |
| 90 | 90 | FORK_RESOURCE, |
| 91 | 91 | FORK_ALTERNATE |
| 92 | } | |
| 92 | } | |
| 93 | 93 | |
| 94 | 94 | struct imgtool_forkent |
| 95 | 95 | { |
| r17916 | r17917 | |
| 134 | 134 | IMGTOOLATTR_TIME_LASTMODIFIED |
| 135 | 135 | }; |
| 136 | 136 | |
| 137 | ||
| 137 | ||
| 138 | 138 | { |
| 139 | 139 | INT64 i; |
| 140 | 140 | time_t t; |
| 141 | } | |
| 141 | } | |
| 142 | 142 | |
| 143 | 143 | struct imgtool_iconinfo |
| 144 | 144 | { |
| r17916 | r17917 | |
|---|---|---|
| 528 | 528 | /* of byte 1, etc.) */ |
| 529 | 529 | } dsk_vib; |
| 530 | 530 | |
| 531 | ||
| 531 | ||
| 532 | 532 | { |
| 533 | 533 | if_mess, |
| 534 | 534 | if_v9t9, |
| 535 | 535 | if_pc99_fm, |
| 536 | 536 | if_pc99_mfm, |
| 537 | 537 | if_harddisk |
| 538 | } | |
| 538 | } | |
| 539 | 539 | |
| 540 | 540 | /* |
| 541 | 541 | level-1 disk image descriptor |
| r17916 | r17917 | |
|---|---|---|
| 744 | 744 | #pragma mark MFS/HFS WRAPPERS |
| 745 | 745 | #endif |
| 746 | 746 | |
| 747 | ||
| 747 | ||
| 748 | 748 | { |
| 749 | 749 | L2I_MFS, |
| 750 | 750 | L2I_HFS |
| 751 | } | |
| 751 | } | |
| 752 | 752 | |
| 753 | ||
| 753 | ||
| 754 | 754 | |
| 755 | 755 | typedef struct mac_l2_imgref mac_l2_imgref; |
| 756 | 756 |
| r17916 | r17917 | |
|---|---|---|
| 12 | 12 | |
| 13 | 13 | #include "imgtool.h" |
| 14 | 14 | |
| 15 | ||
| 15 | ||
| 16 | 16 | { |
| 17 | 17 | MAC_FORK_DATA, |
| 18 | 18 | MAC_FORK_RESOURCE |
| 19 | } | |
| 19 | } | |
| 20 | 20 | |
| 21 | ||
| 21 | ||
| 22 | 22 | { |
| 23 | 23 | MAC_FILECATEGORY_DATA, |
| 24 | 24 | MAC_FILECATEGORY_TEXT, |
| 25 | 25 | MAC_FILECATEGORY_FORKED |
| 26 | } | |
| 26 | } | |
| 27 | 27 | |
| 28 | 28 | |
| 29 | 29 | /* converting Classic Mac OS time <==> Imgtool time */ |
| r17916 | r17917 | |
|---|---|---|
| 175 | 175 | UINT32 putaway_directory; |
| 176 | 176 | }; |
| 177 | 177 | |
| 178 | ||
| 178 | ||
| 179 | 179 | { |
| 180 | 180 | CREATE_NONE, |
| 181 | 181 | CREATE_FILE, |
| 182 | 182 | CREATE_DIR |
| 183 | } | |
| 183 | } | |
| 184 | 184 | |
| 185 | 185 | |
| 186 | 186 |
| r17916 | r17917 | |
|---|---|---|
| 13 | 13 | #include "formats/coco_dsk.h" |
| 14 | 14 | #include "iflopimg.h" |
| 15 | 15 | |
| 16 | ||
| 16 | ||
| 17 | 17 | { |
| 18 | 18 | CREATE_NONE, |
| 19 | 19 | CREATE_FILE, |
| 20 | 20 | CREATE_DIR |
| 21 | } | |
| 21 | } | |
| 22 | 22 | |
| 23 | 23 | struct os9_diskinfo |
| 24 | 24 | { |
| r17916 | r17917 | |
|---|---|---|
| 201 | 201 | UINT8 sectors; |
| 202 | 202 | }; |
| 203 | 203 | |
| 204 | ||
| 204 | ||
| 205 | 205 | { |
| 206 | 206 | CREATE_NONE, |
| 207 | 207 | CREATE_FILE, |
| 208 | 208 | CREATE_DIR |
| 209 | } | |
| 209 | } | |
| 210 | 210 | |
| 211 | 211 | |
| 212 | 212 | |
| r17916 | r17917 | |
| 1395 | 1395 | |
| 1396 | 1396 | |
| 1397 | 1397 | |
| 1398 | ||
| 1398 | ||
| 1399 | 1399 | { |
| 1400 | 1400 | SFN_SUFFICIENT, /* name fully representable in short file name */ |
| 1401 | 1401 | SFN_DERIVATIVE, /* name not fully representable in short file name, but no need to tildize */ |
| 1402 | 1402 | SFN_MANGLED /* name not representable in short file name; must tildize */ |
| 1403 | } | |
| 1403 | } | |
| 1404 | 1404 | |
| 1405 | 1405 | static imgtoolerr_t fat_construct_dirent(const char *filename, creation_policy_t create, |
| 1406 | 1406 | UINT8 **entry, size_t *entry_len) |
| r17916 | r17917 | |
|---|---|---|
| 33 | 33 | #define MSIZE ((BSIZE/4) - 1) /* Size of bitmaps */ |
| 34 | 34 | |
| 35 | 35 | |
| 36 | type | |
| 36 | enum disk_type | |
| 37 | 37 | { |
| 38 | 38 | DT_UNKNOWN = -1, |
| 39 | 39 | DT_OFS = 0, |
| r17916 | r17917 | |
| 42 | 42 | DT_FFS_INTL = 3, |
| 43 | 43 | DT_OFS_INTL_DIRC = 4, |
| 44 | 44 | DT_FFS_INTL_DIRC = 5 |
| 45 | } | |
| 45 | } | |
| 46 | 46 | |
| 47 | 47 | |
| 48 | 48 | enum |
| r17916 | r17917 | |
| 55 | 55 | }; |
| 56 | 56 | |
| 57 | 57 | |
| 58 | type | |
| 58 | enum sec_type | |
| 59 | 59 | { |
| 60 | 60 | ST_INVALID = 0, |
| 61 | 61 | ST_ROOT = 1, |
| r17916 | r17917 | |
| 64 | 64 | ST_LINKFILE = -4, |
| 65 | 65 | ST_LINKDIR = 4, |
| 66 | 66 | ST_SOFTLINK = 3 |
| 67 | } | |
| 67 | } | |
| 68 | 68 | |
| 69 | 69 | |
| 70 | 70 | struct amiga_date |
| r17916 | r17917 | |
|---|---|---|
| 133 | 133 | }; |
| 134 | 134 | |
| 135 | 135 | |
| 136 | ||
| 136 | ||
| 137 | 137 | |
| 138 | 138 | THOM_DIRENT_END, |
| 139 | 139 | THOM_DIRENT_FREE, |
| 140 | 140 | THOM_DIRENT_FILE, |
| 141 | 141 | THOM_DIRENT_INVALID, |
| 142 | 142 | |
| 143 | } | |
| 143 | } | |
| 144 | 144 | |
| 145 | 145 | |
| 146 | 146 | struct thom_dirent { |
| r17916 | r17917 | |
|---|---|---|
| 14 | 14 | #include "osdcore.h" |
| 15 | 15 | #include "imgtool.h" |
| 16 | 16 | |
| 17 | type | |
| 17 | enum imgtype_t | |
| 18 | 18 | { |
| 19 | 19 | IMG_FILE, |
| 20 | 20 | IMG_MEM |
| 21 | } | |
| 21 | } | |
| 22 | 22 | |
| 23 | 23 | struct _imgtool_stream |
| 24 | 24 | { |
| r17916 | r17917 | |
|---|---|---|
| 44 | 44 | |
| 45 | 45 | |
| 46 | 46 | /* finite machine state controling frames */ |
| 47 | ||
| 47 | ||
| 48 | 48 | { |
| 49 | 49 | MEA8000_STOPPED, /* nothing to do, timer disabled */ |
| 50 | 50 | MEA8000_WAIT_FIRST, /* received pitch, wait for first full trame, timer disabled */ |
| 51 | 51 | MEA8000_STARTED, /* playing a frame, timer on */ |
| 52 | 52 | MEA8000_SLOWING, /* repating last frame with decreasing amplitude, timer on */ |
| 53 | } | |
| 53 | } | |
| 54 | 54 | |
| 55 | 55 | ALLOW_SAVE_TYPE( mea8000_state ); |
| 56 | 56 |
| r17916 | r17917 | |
|---|---|---|
| 7 | 7 | #include "emu.h" |
| 8 | 8 | #include "includes/svision.h" |
| 9 | 9 | |
| 10 | ||
| 10 | ||
| 11 | 11 | { |
| 12 | 12 | SVISION_NOISE_Type7Bit, |
| 13 | 13 | SVISION_NOISE_Type14Bit |
| 14 | } | |
| 14 | } | |
| 15 | 15 | |
| 16 | 16 | struct SVISION_NOISE |
| 17 | 17 | { |
| r17916 | r17917 | |
|---|---|---|
| 15 | 15 | TYPE DEFINITIONS |
| 16 | 16 | ***************************************************************************/ |
| 17 | 17 | |
| 18 | ||
| 18 | ||
| 19 | 19 | { |
| 20 | 20 | DS_SEEK_MATCHING, |
| 21 | 21 | DS_CALENDAR_IO |
| 22 | } | |
| 22 | } | |
| 23 | 23 | |
| 24 | 24 | |
| 25 | 25 | struct ds1315_t |
| r17916 | r17917 | |
|---|---|---|
| 66 | 66 | /* |
| 67 | 67 | * Input pins |
| 68 | 68 | */ |
| 69 | ||
| 69 | ||
| 70 | 70 | { |
| 71 | 71 | KR2376_DSII=20, /* DSII - Pin 20 - Data & Strobe Invert Input */ |
| 72 | 72 | KR2376_PII=6 /* PII - Pin 6 - Parity Invert Input */ |
| 73 | } | |
| 73 | } | |
| 74 | 74 | |
| 75 | ||
| 75 | ||
| 76 | 76 | { |
| 77 | 77 | KR2376_SO=16, /* SO - Pin 16 - Strobe Output */ |
| 78 | 78 | KR2376_PO=7 /* PO - Pin 7 - Parity Output */ |
| 79 | } | |
| 79 | } | |
| 80 | 80 | |
| 81 | 81 | /* interface */ |
| 82 | 82 | struct kr2376_interface |
| r17916 | r17917 | |
|---|---|---|
| 58 | 58 | #define IWM_Q6 0x40 |
| 59 | 59 | #define IWM_Q7 0x80 |
| 60 | 60 | |
| 61 | ||
| 61 | ||
| 62 | 62 | { |
| 63 | 63 | APPLEFDC_APPLE2, /* classic Apple II disk controller (pre-IWM) */ |
| 64 | 64 | APPLEFDC_IWM, /* Integrated Woz Machine */ |
| 65 | 65 | APPLEFDC_SWIM /* Sander/Woz Integrated Machine */ |
| 66 | } | |
| 66 | } | |
| 67 | 67 | |
| 68 | 68 | |
| 69 | 69 | static UINT8 swim_default_parms[16] = |
| r17916 | r17917 | |
|---|---|---|
| 30 | 30 | #include "machine/upd765.h" |
| 31 | 31 | |
| 32 | 32 | |
| 33 | ||
| 33 | ||
| 34 | 34 | { |
| 35 | 35 | UPD765_COMMAND_PHASE_FIRST_BYTE, |
| 36 | 36 | UPD765_COMMAND_PHASE_BYTES, |
| 37 | 37 | UPD765_RESULT_PHASE, |
| 38 | 38 | UPD765_EXECUTION_PHASE_READ, |
| 39 | 39 | UPD765_EXECUTION_PHASE_WRITE |
| 40 | } | |
| 40 | } | |
| 41 | 41 | |
| 42 | 42 | /* supported versions */ |
| 43 | ||
| 43 | ||
| 44 | 44 | { |
| 45 | 45 | TYPE_UPD765A = 0, |
| 46 | 46 | TYPE_UPD765B = 1, |
| 47 | 47 | TYPE_SMC37C78 = 2, |
| 48 | 48 | TYPE_UPD72065 = 3 |
| 49 | } | |
| 49 | } | |
| 50 | 50 | |
| 51 | 51 | |
| 52 | 52 | /* uncomment the following line for verbose information */ |
| r17916 | r17917 | |
|---|---|---|
| 78 | 78 | ***************************************************************************/ |
| 79 | 79 | |
| 80 | 80 | /* RDY pin connected state */ |
| 81 | ||
| 81 | ||
| 82 | 82 | { |
| 83 | 83 | UPD765_RDY_PIN_NOT_CONNECTED = 0, |
| 84 | 84 | UPD765_RDY_PIN_CONNECTED = 1 |
| 85 | } | |
| 85 | } | |
| 86 | 86 | |
| 87 | 87 | #define UPD765_DAM_DELETED_DATA 0x0f8 |
| 88 | 88 | #define UPD765_DAM_DATA 0x0fb |
| r17916 | r17917 | |
|---|---|---|
| 681 | 681 | |
| 682 | 682 | |
| 683 | 683 | |
| 684 | ||
| 684 | ||
| 685 | 685 | { |
| 686 | 686 | TO7_IO_NONE, |
| 687 | 687 | TO7_IO_CENTRONICS, |
| 688 | 688 | TO7_IO_RS232 |
| 689 | } | |
| 689 | } | |
| 690 | 690 | |
| 691 | 691 | /* test whether a parallel or a serial device is connected: both cannot |
| 692 | 692 | be exploited at the same time! |
| r17916 | r17917 | |
|---|---|---|
| 13 | 13 | |
| 14 | 14 | // ======================> coco_rtc_type_t |
| 15 | 15 | |
| 16 | type | |
| 16 | enum coco_rtc_type_t | |
| 17 | 17 | { |
| 18 | 18 | RTC_DISTO = 0x00, |
| 19 | 19 | RTC_CLOUD9 = 0x01, |
| 20 | 20 | |
| 21 | 21 | RTC_NONE = 0xFF |
| 22 | } | |
| 22 | } | |
| 23 | 23 | |
| 24 | 24 | // ======================> coco_fdc_device |
| 25 | 25 |
| r17916 | r17917 | |
|---|---|---|
| 89 | 89 | emu_timer *command_complete_timer; |
| 90 | 90 | }; |
| 91 | 91 | |
| 92 | ||
| 92 | ||
| 93 | 93 | { |
| 94 | 94 | I8271_STATE_EXECUTION_READ = 0, |
| 95 | 95 | I8271_STATE_EXECUTION_WRITE |
| 96 | } | |
| 96 | } | |
| 97 | 97 | |
| 98 | 98 | /* commands accepted */ |
| 99 | 99 | #define I8271_COMMAND_SPECIFY 0x035 |
| r17916 | r17917 | |
|---|---|---|
| 72 | 72 | #include "emu.h" |
| 73 | 73 | #include "ay31015.h" |
| 74 | 74 | |
| 75 | ||
| 75 | ||
| 76 | 76 | { |
| 77 | 77 | IDLE, |
| 78 | 78 | START_BIT, |
| r17916 | r17917 | |
| 81 | 81 | FIRST_STOP_BIT, |
| 82 | 82 | SECOND_STOP_BIT, |
| 83 | 83 | PREP_TIME |
| 84 | } | |
| 84 | } | |
| 85 | 85 | |
| 86 | 86 | |
| 87 | 87 | struct ay31015_t |
| r17916 | r17917 | |
|---|---|---|
| 12 | 12 | ***************************************************************************/ |
| 13 | 13 | |
| 14 | 14 | |
| 15 | type | |
| 15 | enum ay31015_type_t | |
| 16 | 16 | { |
| 17 | 17 | /* For AY-3-1014A, AY-3-1015(D) and HD6402 variants */ |
| 18 | 18 | AY_3_1015, |
| 19 | 19 | |
| 20 | 20 | /* For AY-3-1014, AY-5-1013 and AY-6-1013 variants */ |
| 21 | 21 | AY_5_1013 |
| 22 | } | |
| 22 | } | |
| 23 | 23 | |
| 24 | 24 | |
| 25 | ||
| 25 | ||
| 26 | 26 | { |
| 27 | 27 | AY31015_SWE=16, /* -SWE - Pin 16 - Status word enable */ |
| 28 | 28 | AY31015_RDAV=18, /* -RDAV - Pin 18 - Reset data available */ |
| r17916 | r17917 | |
| 34 | 34 | AY31015_NB1=37, /* NB1 - Pin 37 - Number of bits #1 */ |
| 35 | 35 | AY31015_NB2=38, /* NB2 - Pin 38 - Number of bits #2 */ |
| 36 | 36 | AY31015_EPS=39 /* EPS - Pin 39 - Odd/Even parity select */ |
| 37 | } | |
| 37 | } | |
| 38 | 38 | |
| 39 | 39 | |
| 40 | ||
| 40 | ||
| 41 | 41 | { |
| 42 | 42 | AY31015_PE=13, /* PE - Pin 13 - Parity error */ |
| 43 | 43 | AY31015_FE=14, /* FE - Pin 14 - Framing error */ |
| r17916 | r17917 | |
| 46 | 46 | AY31015_TBMT=22, /* TBMT - Pin 22 - Transmit buffer empty */ |
| 47 | 47 | AY31015_EOC=24, /* EOC - Pin 24 - End of character */ |
| 48 | 48 | AY31015_SO=25 /* SO - Pin 25 - Serial output */ |
| 49 | } | |
| 49 | } | |
| 50 | 50 | |
| 51 | 51 | |
| 52 | 52 | struct ay31015_config |
| r17916 | r17917 | |
|---|---|---|
| 63 | 63 | |
| 64 | 64 | /***** Video Modes *****/ |
| 65 | 65 | |
| 66 | ||
| 66 | ||
| 67 | 67 | { |
| 68 | 68 | TEXT_40x25, /* Text mode 40x25 */ |
| 69 | 69 | TEXT_80x25, /* Text mode 80x25 */ |
| 70 | 70 | GRAPH_320x256x4, /* Graphics 320x256x4 */ |
| 71 | 71 | GRAPH_320x256x16, /* Graphics 320x256x16 */ |
| 72 | 72 | GRAPH_640x512x2 /* Graphics 640X512X2 */ |
| 73 | } | |
| 73 | } | |
| 74 | 74 | |
| 75 | 75 | #define iosize (0xfEFF-0xfc00) |
| 76 | 76 |
| r17916 | r17917 | |
|---|---|---|
| 26 | 26 | #define LX385_TAPE_SAMPLE_FREQ 38400 |
| 27 | 27 | |
| 28 | 28 | /* wave duration threshold */ |
| 29 | t | |
| 29 | enum z80netape_spe | |
| 30 | 30 | { |
| 31 | 31 | TAPE_300BPS = 300, /* 300 bps */ |
| 32 | 32 | TAPE_600BPS = 600, /* 600 bps */ |
| 33 | 33 | TAPE_1200BPS = 1200 /* 1200 bps */ |
| 34 | } | |
| 34 | } | |
| 35 | 35 | |
| 36 | 36 | struct cass_data_t { |
| 37 | 37 | struct { |
| r17916 | r17917 | |
|---|---|---|
| 24 | 24 | #define BORDER_TOP (16) // (plus bottom) |
| 25 | 25 | |
| 26 | 26 | |
| 27 | ||
| 27 | enum apple2gs_clock_mode | |
| 28 | 28 | { |
| 29 | 29 | CLOCKMODE_IDLE, |
| 30 | 30 | CLOCKMODE_TIME, |
| 31 | 31 | CLOCKMODE_INTERNALREGS, |
| 32 | 32 | CLOCKMODE_BRAM1, |
| 33 | 33 | CLOCKMODE_BRAM2 |
| 34 | } | |
| 34 | } | |
| 35 | 35 | |
| 36 | 36 | |
| 37 | ||
| 37 | ||
| 38 | 38 | { |
| 39 | 39 | ADBSTATE_IDLE, |
| 40 | 40 | ADBSTATE_INCOMMAND, |
| 41 | 41 | ADBSTATE_INRESPONSE |
| 42 | } | |
| 42 | } | |
| 43 | 43 | |
| 44 | 44 | #define IRQ_KBD_SRQ 0x01 |
| 45 | 45 | #define IRQ_ADB_DATA 0x02 |
| r17916 | r17917 | |
|---|---|---|
| 11 | 11 | #endif |
| 12 | 12 | |
| 13 | 13 | /* model */ |
| 14 | ||
| 14 | ||
| 15 | 15 | HP48_S, |
| 16 | 16 | HP48_SX, |
| 17 | 17 | HP48_G, |
| 18 | 18 | HP48_GX, |
| 19 | 19 | HP48_GP, |
| 20 | } | |
| 20 | } | |
| 21 | 21 | |
| 22 | 22 | /* memory module configuration */ |
| 23 | 23 | struct hp48_module |
| r17916 | r17917 | |
|---|---|---|
| 24 | 24 | #define MAC_539X_2_TAG "539x_2" |
| 25 | 25 | |
| 26 | 26 | /* tells which model is being emulated (set by macxxx_init) */ |
| 27 | ||
| 27 | ||
| 28 | 28 | { |
| 29 | 29 | PCIMODEL_MAC_PM5200, |
| 30 | 30 | PCIMODEL_MAC_PM6200, |
| r17916 | r17917 | |
| 66 | 66 | |
| 67 | 67 | PCIMODEL_MAC_PIPPIN, // Apple/Bandai Pippin |
| 68 | 68 | |
| 69 | } | |
| 69 | } | |
| 70 | 70 | |
| 71 | 71 | /*----------- defined in machine/pcimac.c -----------*/ |
| 72 | 72 |
| r17916 | r17917 | |
|---|---|---|
| 37 | 37 | #define ADB_IS_PM_CLASS ((m_model >= MODEL_MAC_PORTABLE && m_model <= MODEL_MAC_PB100) || (m_model >= MODEL_MAC_PB140 && m_model <= MODEL_MAC_PBDUO_270c)) |
| 38 | 38 | |
| 39 | 39 | /* for Egret and CUDA streaming MCU commands, command types */ |
| 40 | ||
| 40 | ||
| 41 | 41 | { |
| 42 | 42 | MCU_STREAMING_NONE = 0, |
| 43 | 43 | MCU_STREAMING_PRAMRD, |
| 44 | 44 | MCU_STREAMING_PRAMWR, |
| 45 | 45 | MCU_STREAMING_WRAMRD, |
| 46 | 46 | MCU_STREAMING_WRAMWR |
| 47 | } | |
| 47 | } | |
| 48 | 48 | |
| 49 | 49 | enum |
| 50 | 50 | { |
| r17916 | r17917 | |
| 55 | 55 | }; |
| 56 | 56 | |
| 57 | 57 | /* tells which model is being emulated (set by macxxx_init) */ |
| 58 | ||
| 58 | ||
| 59 | 59 | { |
| 60 | 60 | MODEL_MAC_128K512K, // 68000 machines |
| 61 | 61 | MODEL_MAC_512KE, |
| r17916 | r17917 | |
| 124 | 124 | MODEL_MAC_POWERMAC_6100, // NuBus PowerMacs |
| 125 | 125 | MODEL_MAC_POWERMAC_7100, |
| 126 | 126 | MODEL_MAC_POWERMAC_8100 |
| 127 | } | |
| 127 | } | |
| 128 | 128 | |
| 129 | 129 | // video parameters for classic Macs |
| 130 | 130 | #define MAC_H_VIS (512) |
| r17916 | r17917 | |
|---|---|---|
| 72 | 72 | #define APPLE2_MEM_FLOATING 0xFFFFFFFF |
| 73 | 73 | #define APPLE2_MEM_MASK 0x00FFFFFF |
| 74 | 74 | |
| 75 | type | |
| 75 | enum machine_type_t | |
| 76 | 76 | { |
| 77 | 77 | APPLE_II, // Apple II/II+ |
| 78 | 78 | APPLE_IIEPLUS, // Apple IIe/IIc/IIgs/IIc+ |
| 79 | 79 | TK2000, // Microdigital TK2000 |
| 80 | 80 | LASER128, // Laser 128/128EX/128EX2 |
| 81 | 81 | SPACE84 // "Space 84" with flipped text mode |
| 82 | } | |
| 82 | } | |
| 83 | 83 | |
| 84 | ||
| 84 | ||
| 85 | 85 | { |
| 86 | 86 | A2MEM_IO = 0, /* this is always handlers; never banked memory */ |
| 87 | 87 | A2MEM_MONO = 1, /* this is a bank where read and write are always in unison */ |
| 88 | 88 | A2MEM_DUAL = 2 /* this is a bank where read and write can go different places */ |
| 89 | } | |
| 89 | } | |
| 90 | 90 | |
| 91 | 91 | struct apple2_meminfo |
| 92 | 92 | { |
| r17916 | r17917 | |
|---|---|---|
| 19 | 19 | |
| 20 | 20 | GFXDECODE_EXTERN( vdt911 ); |
| 21 | 21 | |
| 22 | typedef enum { char_960, char_1920 } vdt911_screen_size_t; | |
| 23 | typedef enum | |
| 22 | enum vdt911_screen_size_t { char_960, char_1920 }; | |
| 23 | enum vdt911_model_t | |
| 24 | 24 | { |
| 25 | 25 | vdt911_model_US, |
| 26 | 26 | vdt911_model_UK, |
| r17916 | r17917 | |
| 31 | 31 | vdt911_model_Japanese, /* Katakana Japanese */ |
| 32 | 32 | /*vdt911_model_Arabic,*//* Arabic */ |
| 33 | 33 | vdt911_model_FrenchWP /* French word processing */ |
| 34 | } | |
| 34 | } | |
| 35 | 35 | |
| 36 | 36 | typedef struct vdt911_init_params_t |
| 37 | 37 | { |
| r17916 | r17917 | |
|---|---|---|
| 26 | 26 | |
| 27 | 27 | typedef UINT8 (*vic3_c64mem_callback)(running_machine &machine, int offset); |
| 28 | 28 | |
| 29 | type | |
| 29 | enum vic3_type | |
| 30 | 30 | { |
| 31 | 31 | VIC4567_NTSC, |
| 32 | 32 | VIC4567_PAL |
| 33 | } | |
| 33 | } | |
| 34 | 34 | |
| 35 | 35 | struct vic3_interface |
| 36 | 36 | { |
| r17916 | r17917 | |
|---|---|---|
| 14 | 14 | TYPE DEFINITIONS |
| 15 | 15 | ***************************************************************************/ |
| 16 | 16 | |
| 17 | type | |
| 17 | enum vic2_type | |
| 18 | 18 | { |
| 19 | 19 | VIC6567, // VIC II NTSC |
| 20 | 20 | VIC6569, // VIC II PAL |
| 21 | 21 | VIC8564, // VIC IIe NTSC |
| 22 | 22 | VIC8566 // VIC IIe PAL |
| 23 | } | |
| 23 | } | |
| 24 | 24 | |
| 25 | 25 | struct vic2_interface |
| 26 | 26 | { |
| r17916 | r17917 | |
|---|---|---|
| 141 | 141 | #define FRZ_HDR 42 |
| 142 | 142 | #define FRZ_SIZE (FRZ_HDR + 8*SPECTRUM_BANK) |
| 143 | 143 | |
| 144 | ||
| 144 | ||
| 145 | 145 | { |
| 146 | 146 | SPECTRUM_SNAPSHOT_NONE, |
| 147 | 147 | SPECTRUM_SNAPSHOT_SNA, |
| 148 | 148 | SPECTRUM_SNAPSHOT_Z80, |
| 149 | 149 | SPECTRUM_SNAPSHOT_SP, |
| 150 | 150 | SPECTRUM_TAPEFILE_TAP |
| 151 | } | |
| 151 | } | |
| 152 | 152 | |
| 153 | ||
| 153 | ||
| 154 | 154 | SPECTRUM_Z80_SNAPSHOT_INVALID, |
| 155 | 155 | SPECTRUM_Z80_SNAPSHOT_48K_OLD, |
| 156 | 156 | SPECTRUM_Z80_SNAPSHOT_48K, |
| 157 | 157 | SPECTRUM_Z80_SNAPSHOT_SAMRAM, |
| 158 | 158 | SPECTRUM_Z80_SNAPSHOT_128K, |
| 159 | 159 | SPECTRUM_Z80_SNAPSHOT_TS2068 |
| 160 | } | |
| 160 | } | |
| 161 | 161 | |
| 162 | 162 | /***************************************************************************** |
| 163 | 163 | * |
| r17916 | r17917 | |
|---|---|---|
| 347 | 347 | { FUNC(pcw16_flash1_bank_handler3_w) } |
| 348 | 348 | }; |
| 349 | 349 | |
| 350 | ||
| 350 | ||
| 351 | 351 | { |
| 352 | 352 | /* rom which is really first block of flash0 */ |
| 353 | 353 | PCW16_MEM_ROM, |
| r17916 | r17917 | |
| 359 | 359 | PCW16_MEM_DRAM, |
| 360 | 360 | /* no mem. i.e. unexpanded pcw16 */ |
| 361 | 361 | PCW16_MEM_NONE |
| 362 | } | |
| 362 | } | |
| 363 | 363 | |
| 364 | 364 | READ8_MEMBER(pcw16_state::pcw16_no_mem_r) |
| 365 | 365 | { |
| Previous | 199869 Revisions | Next |