hash/c64_cart.xml
| r14519 | r14520 | |
| 1439 | 1439 | </dataarea> |
| 1440 | 1440 | </part> |
| 1441 | 1441 | </software> |
| 1442 | | |
| 1442 | |
| 1443 | <software name="exos"> |
| 1444 | <description>ExOS v.3</description> |
| 1445 | <year>198?</year> |
| 1446 | <publisher>Rex Datentechnik</publisher> |
| 1447 | <info name="serial" value="REX-9805" /> |
| 1448 | <part name="cart" interface="c64_cart"> |
| 1449 | <feature name="slot" value="exos" /> |
| 1450 | <feature name="exrom" value="1" /> |
| 1451 | <feature name="game" value="1" /> |
| 1452 | <dataarea name="romh" size="0x2000"> |
| 1453 | <rom name="exos_v3.bin" size="0x2000" crc="4e54d020" sha1="f8931b7c0b26807f4de0cc241f0b1e2c8f5271e9" offset="0x0000" /> |
| 1454 | </dataarea> |
| 1455 | </part> |
| 1456 | </software> |
| 1457 | |
| 1458 | <software name="exosv4" cloneof="exos"> |
| 1459 | <description>ExOS v.4</description> |
| 1460 | <year>198?</year> |
| 1461 | <publisher>Rex Datentechnik</publisher> |
| 1462 | <part name="cart" interface="c64_cart"> |
| 1463 | <feature name="slot" value="exos" /> |
| 1464 | <feature name="exrom" value="1" /> |
| 1465 | <feature name="game" value="1" /> |
| 1466 | <dataarea name="romh" size="0x2000"> |
| 1467 | <rom name="exos_v4.bin" size="0x2000" crc="d5cf83a9" sha1="d5f03a5c0e9d00032d4751ecc6bcd6385879c9c7" offset="0x0000" /> |
| 1468 | </dataarea> |
| 1469 | </part> |
| 1470 | </software> |
| 1471 | |
| 1443 | 1472 | <!-- Games Added by k1w1 --> |
| 1444 | 1473 | |
| 1445 | 1474 | <software name="advcrtor"> |
src/mess/machine/cbmipt.c
| r14519 | r14520 | |
| 1156 | 1156 | SLOT_INTERFACE("dinamic", C64_DINAMIC) |
| 1157 | 1157 | SLOT_INTERFACE("easycalcres", C64_EASY_CALC_RESULT) |
| 1158 | 1158 | SLOT_INTERFACE("epyxfastload", C64_EPYX_FAST_LOAD) |
| 1159 | SLOT_INTERFACE("exos", C64_EXOS) |
| 1159 | 1160 | SLOT_INTERFACE("fun_play", C64_FUN_PLAY) |
| 1160 | 1161 | SLOT_INTERFACE("magic_desk", C64_MAGIC_DESK) |
| 1161 | 1162 | SLOT_INTERFACE("magic_formel", C64_MAGIC_FORMEL) |
src/mess/machine/c64_exos.c
| r0 | r14520 | |
| 1 | /**********************************************************************
|
| 2 | |
| 3 | Rex ExOS cartridge emulation
|
| 4 | |
| 5 | Copyright MESS Team.
|
| 6 | Visit http://mamedev.org for licensing and usage restrictions.
|
| 7 | |
| 8 | **********************************************************************/
|
| 9 | |
| 10 | #include "c64_exos.h"
|
| 11 | |
| 12 | |
| 13 | |
| 14 | //**************************************************************************
|
| 15 | // DEVICE DEFINITIONS
|
| 16 | //**************************************************************************
|
| 17 | |
| 18 | const device_type C64_EXOS = &device_creator<c64_exos_cartridge_device>;
|
| 19 | |
| 20 | |
| 21 | |
| 22 | //**************************************************************************
|
| 23 | // LIVE DEVICE
|
| 24 | //**************************************************************************
|
| 25 | |
| 26 | //-------------------------------------------------
|
| 27 | // c64_exos_cartridge_device - constructor
|
| 28 | //-------------------------------------------------
|
| 29 | |
| 30 | c64_exos_cartridge_device::c64_exos_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
| 31 | device_t(mconfig, C64_EXOS, "C64 ExOS cartridge", tag, owner, clock),
|
| 32 | device_c64_expansion_card_interface(mconfig, *this)
|
| 33 | {
|
| 34 | }
|
| 35 | |
| 36 | |
| 37 | //-------------------------------------------------
|
| 38 | // device_start - device-specific startup
|
| 39 | //-------------------------------------------------
|
| 40 | |
| 41 | void c64_exos_cartridge_device::device_start()
|
| 42 | {
|
| 43 | }
|
| 44 | |
| 45 | |
| 46 | //-------------------------------------------------
|
| 47 | // c64_cd_r - cartridge data read
|
| 48 | //-------------------------------------------------
|
| 49 | |
| 50 | UINT8 c64_exos_cartridge_device::c64_cd_r(address_space &space, offs_t offset, int roml, int romh, int io1, int io2)
|
| 51 | {
|
| 52 | UINT8 data = 0;
|
| 53 |
|
| 54 | if (!romh)
|
| 55 | {
|
| 56 | data = m_romh[offset & 0x1fff];
|
| 57 | }
|
| 58 | |
| 59 | return data;
|
| 60 | }
|
| 61 | |
| 62 | |
| 63 | //-------------------------------------------------
|
| 64 | // c64_game_r - GAME read
|
| 65 | //-------------------------------------------------
|
| 66 | |
| 67 | int c64_exos_cartridge_device::c64_game_r(offs_t offset, int ba, int rw, int hiram)
|
| 68 | {
|
| 69 | return !(ba & rw & ((offset & 0xe000) == 0xe000) & hiram);
|
| 70 | }
|
src/mess/machine/c64_exos.h
| r0 | r14520 | |
| 1 | /**********************************************************************
|
| 2 | |
| 3 | Rex ExOS cartridge emulation
|
| 4 | |
| 5 | Copyright MESS Team.
|
| 6 | Visit http://mamedev.org for licensing and usage restrictions.
|
| 7 | |
| 8 | **********************************************************************/
|
| 9 | |
| 10 | #pragma once
|
| 11 | |
| 12 | #ifndef __EXOS__
|
| 13 | #define __EXOS__
|
| 14 | |
| 15 | #define ADDRESS_MAP_MODERN
|
| 16 | |
| 17 | #include "emu.h"
|
| 18 | #include "machine/c64exp.h"
|
| 19 | |
| 20 | |
| 21 | |
| 22 | //**************************************************************************
|
| 23 | // TYPE DEFINITIONS
|
| 24 | //**************************************************************************
|
| 25 | |
| 26 | // ======================> c64_exos_cartridge_device
|
| 27 | |
| 28 | class c64_exos_cartridge_device : public device_t,
|
| 29 | public device_c64_expansion_card_interface
|
| 30 | {
|
| 31 | public:
|
| 32 | // construction/destruction
|
| 33 | c64_exos_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
| 34 | |
| 35 | protected:
|
| 36 | // device-level overrides
|
| 37 | virtual void device_start();
|
| 38 | |
| 39 | // device_c64_expansion_card_interface overrides
|
| 40 | virtual UINT8 c64_cd_r(address_space &space, offs_t offset, int roml, int romh, int io1, int io2);
|
| 41 | virtual int c64_game_r(offs_t offset, int ba, int rw, int hiram);
|
| 42 | };
|
| 43 | |
| 44 | |
| 45 | // device type definition
|
| 46 | extern const device_type C64_EXOS;
|
| 47 | |
| 48 | |
| 49 | #endif
|