trunk/src/emu/machine/s2636.c
| r29591 | r29592 | |
| 94 | 94 | m_channel(NULL), |
| 95 | 95 | m_size(0), |
| 96 | 96 | m_pos(0), |
| 97 | | m_level(0) |
| 97 | m_level(0), |
| 98 | m_work_ram_size(0), |
| 99 | m_y_offset(0), |
| 100 | m_x_offset(0) |
| 98 | 101 | { |
| 99 | 102 | for (int i = 0; i < 1; i++) |
| 100 | | m_reg[i] = 0; |
| 103 | m_reg[i] = 0; |
| 101 | 104 | } |
| 102 | 105 | |
| 103 | 106 | //------------------------------------------------- |
| 104 | | // device_config_complete - perform any |
| 105 | | // operations now that the configuration is |
| 106 | | // complete |
| 107 | | //------------------------------------------------- |
| 108 | | |
| 109 | | void s2636_device::device_config_complete() |
| 110 | | { |
| 111 | | // inherit a copy of the static data |
| 112 | | const s2636_interface *intf = reinterpret_cast<const s2636_interface *>(static_config()); |
| 113 | | if (intf != NULL) |
| 114 | | *static_cast<s2636_interface *>(this) = *intf; |
| 115 | | |
| 116 | | // or initialize to defaults if none provided |
| 117 | | else |
| 118 | | { |
| 119 | | m_work_ram_size = 0; |
| 120 | | m_y_offset = 0; |
| 121 | | m_x_offset = 0; |
| 122 | | } |
| 123 | | } |
| 124 | | |
| 125 | | //------------------------------------------------- |
| 126 | 107 | // device_start - device-specific startup |
| 127 | 108 | //------------------------------------------------- |
| 128 | 109 | |
| r29591 | r29592 | |
| 135 | 116 | m_bitmap.resize(width, height); |
| 136 | 117 | m_collision_bitmap.resize(width, height); |
| 137 | 118 | |
| 138 | | save_item(NAME(m_x_offset)); |
| 139 | | save_item(NAME(m_y_offset)); |
| 140 | 119 | save_item(NAME(m_work_ram)); |
| 141 | 120 | save_item(NAME(m_bitmap)); |
| 142 | 121 | save_item(NAME(m_collision_bitmap)); |
| 143 | 122 | |
| 144 | | |
| 145 | 123 | m_channel = machine().sound().stream_alloc(*this, 0, 1, machine().sample_rate(), this); |
| 146 | 124 | save_item(NAME(m_size)); |
| 147 | 125 | save_item(NAME(m_pos)); |
| 148 | 126 | save_item(NAME(m_level)); |
| 149 | | |
| 150 | | for (int i = 0; i < 1; i++) |
| 151 | | save_item(NAME(m_reg[i]), i); |
| 127 | save_item(NAME(m_reg)); |
| 152 | 128 | } |
| 153 | 129 | |
| 154 | 130 | /************************************* |
| r29591 | r29592 | |
| 171 | 147 | |
| 172 | 148 | static void draw_sprite( UINT8 *gfx, int color, int y, int x, int expand, int or_mode, bitmap_ind16 &bitmap, const rectangle &cliprect ) |
| 173 | 149 | { |
| 174 | | int sy; |
| 175 | | |
| 176 | 150 | /* for each row */ |
| 177 | | for (sy = 0; sy < SPRITE_HEIGHT; sy++) |
| 151 | for (int sy = 0; sy < SPRITE_HEIGHT; sy++) |
| 178 | 152 | { |
| 179 | | int sx; |
| 180 | | |
| 181 | 153 | /* for each pixel on the row */ |
| 182 | | for (sx = 0; sx < SPRITE_WIDTH; sx++) |
| 154 | for (int sx = 0; sx < SPRITE_WIDTH; sx++) |
| 183 | 155 | { |
| 184 | | int ey; |
| 185 | | |
| 186 | 156 | /* each pixel can be expanded */ |
| 187 | | for (ey = 0; ey <= expand; ey++) |
| 157 | for (int ey = 0; ey <= expand; ey++) |
| 188 | 158 | { |
| 189 | | int ex; |
| 190 | | |
| 191 | | for (ex = 0; ex <= expand; ex++) |
| 159 | for (int ex = 0; ex <= expand; ex++) |
| 192 | 160 | { |
| 193 | 161 | /* compute effective destination pixel */ |
| 194 | 162 | int ty = y + sy * (expand + 1) + ey; |
| r29591 | r29592 | |
| 213 | 181 | } |
| 214 | 182 | |
| 215 | 183 | |
| 216 | | |
| 217 | 184 | /************************************* |
| 218 | 185 | * |
| 219 | 186 | * Collision detection |
trunk/src/emu/machine/s2636.h
| r29591 | r29592 | |
| 8 | 8 | #define __S2636_H__ |
| 9 | 9 | |
| 10 | 10 | |
| 11 | | |
| 12 | 11 | #define S2636_IS_PIXEL_DRAWN(p) (((p) & 0x08) ? TRUE : FALSE) |
| 13 | 12 | #define S2636_PIXEL_COLOR(p) ((p) & 0x07) |
| 14 | 13 | |
| 15 | 14 | /************************************* |
| 16 | 15 | * |
| 17 | | * Type definitions |
| 18 | | * |
| 19 | | *************************************/ |
| 20 | | |
| 21 | | struct s2636_interface |
| 22 | | { |
| 23 | | int m_work_ram_size; |
| 24 | | int m_y_offset; |
| 25 | | int m_x_offset; |
| 26 | | }; |
| 27 | | |
| 28 | | /************************************* |
| 29 | | * |
| 30 | 16 | * Device configuration macros |
| 31 | 17 | * |
| 32 | 18 | *************************************/ |
| 33 | 19 | |
| 34 | 20 | class s2636_device : public device_t, |
| 35 | 21 | public device_video_interface, |
| 36 | | public device_sound_interface, |
| 37 | | public s2636_interface |
| 22 | public device_sound_interface |
| 38 | 23 | { |
| 39 | 24 | public: |
| 40 | 25 | s2636_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); |
| 41 | 26 | ~s2636_device() {} |
| 42 | 27 | |
| 43 | | /* returns a BITMAP_FORMAT_IND16 bitmap the size of the screen |
| 44 | | D0-D2 of each pixel is the pixel color |
| 45 | | D3 indicates whether the S2636 drew this pixel - 0 = not drawn, 1 = drawn */ |
| 28 | static void set_workram_size(device_t &device, int size) { downcast<s2636_device &>(device).m_work_ram_size = size; } |
| 29 | static void set_offsets(device_t &device, int y_offset, int x_offset) |
| 30 | { |
| 31 | s2636_device &dev = downcast<s2636_device &>(device); |
| 32 | dev.m_x_offset = x_offset; |
| 33 | dev.m_y_offset = y_offset; |
| 34 | } |
| 35 | |
| 36 | // returns a BITMAP_FORMAT_IND16 bitmap the size of the screen |
| 37 | // D0-D2 of each pixel is the pixel color |
| 38 | // D3 indicates whether the S2636 drew this pixel - 0 = not drawn, 1 = drawn |
| 39 | bitmap_ind16 &update(const rectangle &cliprect); |
| 46 | 40 | |
| 47 | | bitmap_ind16 &update( const rectangle &cliprect ); |
| 48 | 41 | DECLARE_WRITE8_MEMBER( work_ram_w ); |
| 49 | 42 | DECLARE_READ8_MEMBER( work_ram_r ); |
| 50 | 43 | |
| 51 | | void soundport_w (int mode, int data); |
| 44 | void soundport_w(int mode, int data); |
| 52 | 45 | |
| 53 | 46 | protected: |
| 54 | 47 | // device-level overrides |
| 55 | | virtual void device_config_complete(); |
| 56 | 48 | virtual void device_start(); |
| 57 | 49 | |
| 58 | 50 | // sound stream update overrides |
| r29591 | r29592 | |
| 65 | 57 | bitmap_ind16 m_collision_bitmap; |
| 66 | 58 | |
| 67 | 59 | sound_stream *m_channel; |
| 68 | | UINT8 m_reg[1]; |
| 69 | | int m_size; |
| 70 | | int m_pos; |
| 71 | | unsigned m_level; |
| 60 | UINT8 m_reg[1]; |
| 61 | int m_size; |
| 62 | int m_pos; |
| 63 | unsigned m_level; |
| 72 | 64 | |
| 65 | int m_work_ram_size; |
| 66 | int m_y_offset; |
| 67 | int m_x_offset; |
| 68 | |
| 73 | 69 | int check_collision( int spriteno1, int spriteno2, const rectangle &cliprect ); |
| 74 | 70 | }; |
| 75 | 71 | |
| 76 | 72 | extern const device_type S2636; |
| 77 | 73 | |
| 78 | 74 | |
| 79 | | #define MCFG_S2636_ADD(_tag, _interface) \ |
| 80 | | MCFG_DEVICE_ADD(_tag, S2636, 0) \ |
| 81 | | MCFG_DEVICE_CONFIG(_interface) |
| 75 | #define MCFG_S2636_OFFSETS(_yoffs, _xoffs) \ |
| 76 | s2636_device::set_offsets(*device, _yoffs, _xoffs); |
| 82 | 77 | |
| 78 | #define MCFG_S2636_WORKRAM_SIZE(_size) \ |
| 79 | s2636_device::set_workram_size(*device, _size); |
| 83 | 80 | |
| 81 | |
| 84 | 82 | #endif /* __S2636_H__ */ |
trunk/src/mame/drivers/quasar.c
| r29591 | r29592 | |
| 270 | 270 | device.execute().set_input_line_and_vector(0, HOLD_LINE, 0x03); |
| 271 | 271 | } |
| 272 | 272 | |
| 273 | | static const s2636_interface s2636_0_config = |
| 274 | | { |
| 275 | | 0x100, |
| 276 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 277 | | }; |
| 278 | | |
| 279 | | static const s2636_interface s2636_1_config = |
| 280 | | { |
| 281 | | 0x100, |
| 282 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 283 | | }; |
| 284 | | |
| 285 | | static const s2636_interface s2636_2_config = |
| 286 | | { |
| 287 | | 0x100, |
| 288 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 289 | | }; |
| 290 | | |
| 291 | 273 | // **************************************** |
| 292 | 274 | // Quasar S2650 Main CPU, I8035 sound board |
| 293 | 275 | // **************************************** |
| r29591 | r29592 | |
| 342 | 324 | MCFG_PALETTE_INDIRECT_ENTRIES(0x500) |
| 343 | 325 | MCFG_PALETTE_INIT_OWNER(quasar_state,quasar) |
| 344 | 326 | |
| 345 | | MCFG_S2636_ADD("s2636_0", s2636_0_config) |
| 346 | | MCFG_S2636_ADD("s2636_1", s2636_1_config) |
| 347 | | MCFG_S2636_ADD("s2636_2", s2636_2_config) |
| 327 | MCFG_DEVICE_ADD("s2636_0", S2636, 0) |
| 328 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 329 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 348 | 330 | |
| 331 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 332 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 333 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 334 | |
| 335 | MCFG_DEVICE_ADD("s2636_2", S2636, 0) |
| 336 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 337 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 338 | |
| 349 | 339 | MCFG_VIDEO_START_OVERRIDE(quasar_state,quasar) |
| 350 | 340 | |
| 351 | 341 | /* sound hardware */ |
trunk/src/mame/drivers/seabattl.c
| r29591 | r29592 | |
| 472 | 472 | GFXDECODE_ENTRY( "gfx3", 0, tiles8x8_layout, 24, 1 ) |
| 473 | 473 | GFXDECODE_END |
| 474 | 474 | |
| 475 | | static const s2636_interface s2636_config = |
| 476 | | { |
| 477 | | 0x100, |
| 478 | | 3, -21, |
| 479 | | //"s2636snd" |
| 480 | | }; |
| 481 | | |
| 482 | 475 | static MACHINE_CONFIG_START( seabattl, seabattl_state ) |
| 483 | 476 | |
| 484 | 477 | /* basic machine hardware */ |
| r29591 | r29592 | |
| 487 | 480 | MCFG_CPU_IO_MAP(seabattl_io_map) |
| 488 | 481 | MCFG_CPU_VBLANK_INT_DRIVER("screen", seabattl_state, seabattl_interrupt) |
| 489 | 482 | |
| 490 | | MCFG_S2636_ADD("s2636", s2636_config) |
| 483 | MCFG_DEVICE_ADD("s2636", S2636, 0) |
| 484 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 485 | MCFG_S2636_OFFSETS(3, -21) |
| 491 | 486 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10) |
| 492 | 487 | |
| 493 | 488 | MCFG_DEVICE_ADD("sc_thousand", DM9368, 0) |
trunk/src/mame/drivers/zac2650.c
| r29591 | r29592 | |
| 193 | 193 | palette.set_pen_color(3,rgb_t::black); |
| 194 | 194 | } |
| 195 | 195 | |
| 196 | | static const s2636_interface s2636_config = |
| 197 | | { |
| 198 | | 0x100, |
| 199 | | 0, 0 |
| 200 | | }; |
| 201 | | |
| 202 | 196 | /************************************************************************************************ |
| 203 | 197 | |
| 204 | 198 | Video is slightly odd on these zac boards |
| r29591 | r29592 | |
| 264 | 258 | /* sound hardware */ |
| 265 | 259 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 266 | 260 | |
| 267 | | MCFG_S2636_ADD("s2636", s2636_config) |
| 261 | MCFG_DEVICE_ADD("s2636", S2636, 0) |
| 262 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 268 | 263 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 269 | 264 | MACHINE_CONFIG_END |
| 270 | 265 | |
trunk/src/mame/drivers/cvs.c
| r29591 | r29592 | |
| 936 | 936 | * |
| 937 | 937 | *************************************/ |
| 938 | 938 | |
| 939 | | static const s2636_interface s2636_0_config = |
| 940 | | { |
| 941 | | 0x100, |
| 942 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 943 | | }; |
| 944 | | |
| 945 | | static const s2636_interface s2636_1_config = |
| 946 | | { |
| 947 | | 0x100, |
| 948 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 949 | | }; |
| 950 | | |
| 951 | | static const s2636_interface s2636_2_config = |
| 952 | | { |
| 953 | | 0x100, |
| 954 | | CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET |
| 955 | | }; |
| 956 | | |
| 957 | | |
| 958 | 939 | MACHINE_START_MEMBER(cvs_state,cvs) |
| 959 | 940 | { |
| 960 | 941 | /* allocate memory */ |
| r29591 | r29592 | |
| 1032 | 1013 | MCFG_SCREEN_UPDATE_DRIVER(cvs_state, screen_update_cvs) |
| 1033 | 1014 | MCFG_SCREEN_PALETTE("palette") |
| 1034 | 1015 | |
| 1035 | | MCFG_S2636_ADD("s2636_0", s2636_0_config) |
| 1036 | | MCFG_S2636_ADD("s2636_1", s2636_1_config) |
| 1037 | | MCFG_S2636_ADD("s2636_2", s2636_2_config) |
| 1016 | MCFG_DEVICE_ADD("s2636_0", S2636, 0) |
| 1017 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 1018 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 1038 | 1019 | |
| 1020 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 1021 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 1022 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 1023 | |
| 1024 | MCFG_DEVICE_ADD("s2636_2", S2636, 0) |
| 1025 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 1026 | MCFG_S2636_OFFSETS(CVS_S2636_Y_OFFSET, CVS_S2636_X_OFFSET) |
| 1027 | |
| 1039 | 1028 | /* audio hardware */ |
| 1040 | 1029 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 1041 | 1030 | |
trunk/src/mame/drivers/malzak.c
| r29591 | r29592 | |
| 298 | 298 | 1 /* 9 enable */ |
| 299 | 299 | }; |
| 300 | 300 | |
| 301 | | |
| 302 | | static const s2636_interface malzac_s2636_0_config = |
| 303 | | { |
| 304 | | 0x100, |
| 305 | | 0, -16 /* -8, -16 */ |
| 306 | | }; |
| 307 | | |
| 308 | | static const s2636_interface malzac_s2636_1_config = |
| 309 | | { |
| 310 | | 0x100, |
| 311 | | 0, -16 /* -9, -16 */ |
| 312 | | }; |
| 313 | | |
| 314 | 301 | READ8_MEMBER(malzak_state::videoram_r) |
| 315 | 302 | { |
| 316 | 303 | return m_videoram[offset]; |
| r29591 | r29592 | |
| 342 | 329 | MCFG_CPU_PROGRAM_MAP(malzak_map) |
| 343 | 330 | MCFG_CPU_IO_MAP(malzak_io_map) |
| 344 | 331 | |
| 345 | | |
| 346 | 332 | /* video hardware */ |
| 347 | 333 | MCFG_SCREEN_ADD("screen", RASTER) |
| 348 | 334 | MCFG_SCREEN_REFRESH_RATE(50) |
| r29591 | r29592 | |
| 355 | 341 | MCFG_PALETTE_ADD("palette", 128) |
| 356 | 342 | MCFG_PALETTE_INIT_OWNER(malzak_state, malzak) |
| 357 | 343 | |
| 358 | | MCFG_S2636_ADD("s2636_0", malzac_s2636_0_config) |
| 344 | MCFG_DEVICE_ADD("s2636_0", S2636, 0) |
| 345 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 346 | MCFG_S2636_OFFSETS(0, -16) // -8, -16 |
| 359 | 347 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 360 | | MCFG_S2636_ADD("s2636_1", malzac_s2636_1_config) |
| 348 | |
| 349 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 350 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 351 | MCFG_S2636_OFFSETS(0, -16) // -9, -16 |
| 361 | 352 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 362 | 353 | |
| 363 | 354 | MCFG_DEVICE_ADD("saa5050", SAA5050, 6000000) |
trunk/src/mame/drivers/laserbat.c
| r29591 | r29592 | |
| 634 | 634 | m_cb1_toggle ^= 1; |
| 635 | 635 | } |
| 636 | 636 | |
| 637 | | |
| 638 | | static const s2636_interface s2636_1_config = |
| 639 | | { |
| 640 | | 0x100, |
| 641 | | 0, -19 |
| 642 | | }; |
| 643 | | |
| 644 | | static const s2636_interface s2636_2_config = |
| 645 | | { |
| 646 | | 0x100, |
| 647 | | 0, -19 |
| 648 | | }; |
| 649 | | |
| 650 | | static const s2636_interface s2636_3_config = |
| 651 | | { |
| 652 | | 0x100, |
| 653 | | 0, -19 |
| 654 | | }; |
| 655 | | |
| 656 | 637 | void laserbat_state::machine_start() |
| 657 | 638 | { |
| 658 | 639 | m_pia = machine().device<pia6821_device>("pia"); |
| r29591 | r29592 | |
| 726 | 707 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", laserbat) |
| 727 | 708 | MCFG_PALETTE_ADD("palette", 1024) |
| 728 | 709 | |
| 729 | | MCFG_S2636_ADD("s2636_1", s2636_1_config) |
| 730 | | MCFG_S2636_ADD("s2636_2", s2636_2_config) |
| 731 | | MCFG_S2636_ADD("s2636_3", s2636_3_config) |
| 710 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 711 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 712 | MCFG_S2636_OFFSETS(0, -19) |
| 732 | 713 | |
| 714 | MCFG_DEVICE_ADD("s2636_2", S2636, 0) |
| 715 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 716 | MCFG_S2636_OFFSETS(0, -19) |
| 733 | 717 | |
| 718 | MCFG_DEVICE_ADD("s2636_3", S2636, 0) |
| 719 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 720 | MCFG_S2636_OFFSETS(0, -19) |
| 721 | |
| 734 | 722 | /* sound hardware */ |
| 735 | 723 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 736 | 724 | |
| r29591 | r29592 | |
| 775 | 763 | MCFG_GFXDECODE_ADD("gfxdecode", "palette", laserbat) |
| 776 | 764 | MCFG_PALETTE_ADD("palette", 1024) |
| 777 | 765 | |
| 778 | | MCFG_S2636_ADD("s2636_1", s2636_1_config) |
| 779 | | MCFG_S2636_ADD("s2636_2", s2636_2_config) |
| 780 | | MCFG_S2636_ADD("s2636_3", s2636_3_config) |
| 766 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 767 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 768 | MCFG_S2636_OFFSETS(0, -19) |
| 781 | 769 | |
| 770 | MCFG_DEVICE_ADD("s2636_2", S2636, 0) |
| 771 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 772 | MCFG_S2636_OFFSETS(0, -19) |
| 782 | 773 | |
| 774 | MCFG_DEVICE_ADD("s2636_3", S2636, 0) |
| 775 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 776 | MCFG_S2636_OFFSETS(0, -19) |
| 777 | |
| 783 | 778 | /* sound hardware */ |
| 784 | 779 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 785 | 780 | |
trunk/src/mame/drivers/galaxia.c
| r29591 | r29592 | |
| 272 | 272 | GFXDECODE_END |
| 273 | 273 | |
| 274 | 274 | |
| 275 | | static const s2636_interface galaxia_s2636_config[3] = |
| 276 | | { |
| 277 | | { 0x100, 3, -26 }, |
| 278 | | { 0x100, 3, -26 }, |
| 279 | | { 0x100, 3, -26 } |
| 280 | | }; |
| 281 | | |
| 282 | | static const s2636_interface astrowar_s2636_config = |
| 283 | | { |
| 284 | | 0x100, |
| 285 | | 3, 0 |
| 286 | | }; |
| 287 | | |
| 288 | | |
| 289 | 275 | static MACHINE_CONFIG_START( galaxia, galaxia_state ) |
| 290 | 276 | |
| 291 | 277 | /* basic machine hardware */ |
| r29591 | r29592 | |
| 311 | 297 | MCFG_PALETTE_INIT_OWNER(galaxia_state,galaxia) |
| 312 | 298 | MCFG_VIDEO_START_OVERRIDE(galaxia_state,galaxia) |
| 313 | 299 | |
| 314 | | MCFG_S2636_ADD("s2636_0", galaxia_s2636_config[0]) |
| 300 | MCFG_DEVICE_ADD("s2636_0", S2636, 0) |
| 301 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 302 | MCFG_S2636_OFFSETS(3, -26) |
| 315 | 303 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 316 | | MCFG_S2636_ADD("s2636_1", galaxia_s2636_config[1]) |
| 304 | |
| 305 | MCFG_DEVICE_ADD("s2636_1", S2636, 0) |
| 306 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 307 | MCFG_S2636_OFFSETS(3, -26) |
| 317 | 308 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 318 | | MCFG_S2636_ADD("s2636_2", galaxia_s2636_config[2]) |
| 309 | |
| 310 | MCFG_DEVICE_ADD("s2636_2", S2636, 0) |
| 311 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 312 | MCFG_S2636_OFFSETS(3, -26) |
| 319 | 313 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 320 | 314 | |
| 321 | 315 | /* sound hardware */ |
| r29591 | r29592 | |
| 348 | 342 | MCFG_PALETTE_INIT_OWNER(galaxia_state,astrowar) |
| 349 | 343 | MCFG_VIDEO_START_OVERRIDE(galaxia_state,astrowar) |
| 350 | 344 | |
| 351 | | MCFG_S2636_ADD("s2636_0", astrowar_s2636_config) |
| 345 | MCFG_DEVICE_ADD("s2636_0", S2636, 0) |
| 346 | MCFG_S2636_WORKRAM_SIZE(0x100) |
| 347 | MCFG_S2636_OFFSETS(3, 0) |
| 352 | 348 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) |
| 353 | 349 | |
| 354 | 350 | /* sound hardware */ |