hash/c64_cart.xml
| r14763 | r14764 | |
| 667 | 667 | </part> |
| 668 | 668 | </software> |
| 669 | 669 | |
| 670 | | <software name="capture2" supported="no"> |
| 670 | <software name="capture" supported="no"> |
| 671 | <description>Capture</description> |
| 672 | <year>1985</year> |
| 673 | <publisher>J. Ranheim</publisher> |
| 674 | <part name="cart" interface="c64_cart"> |
| 675 | <feature name="slot" value="capture2" /> |
| 676 | <feature name="game" value="1" /> |
| 677 | <feature name="exrom" value="0" /> |
| 678 | |
| 679 | <dataarea name="romh" size="0x2000"> |
| 680 | <rom name="capture (c)1985 j.ranheim" size="0x2000" crc="5063a31e" sha1="f7049545c657f7b8b302b84d71d2e8a0d6c37c53" offset="0x0000" /> |
| 681 | </dataarea> |
| 682 | </part> |
| 683 | </software> |
| 684 | |
| 685 | <software name="capture2" cloneof="capture" supported="no"> |
| 671 | 686 | <description>Capture 2</description> |
| 672 | 687 | <year>1987</year> |
| 673 | 688 | <publisher>J. Ranheim</publisher> |
| r14763 | r14764 | |
| 676 | 691 | <feature name="game" value="1" /> |
| 677 | 692 | <feature name="exrom" value="0" /> |
| 678 | 693 | |
| 679 | | <dataarea name="roml" size="0x2000"> |
| 694 | <dataarea name="romh" size="0x2000"> |
| 680 | 695 | <rom name="capture 2 (usa, europe) (program).bin" size="0x2000" crc="f25640c4" sha1="ebfa440401aebf3d09a43995dd87999d2982cb6a" offset="0x0000" /> |
| 681 | 696 | </dataarea> |
| 682 | 697 | </part> |
| r14763 | r14764 | |
| 1458 | 1473 | </part> |
| 1459 | 1474 | </software> |
| 1460 | 1475 | |
| 1461 | | <software name="busbasic" supported="no"> |
| 1462 | | <description>Business BASIC</description> |
| 1463 | | <year>1986</year> |
| 1476 | <software name="busbasic"> |
| 1477 | <description>Business Basic</description> |
| 1478 | <year>1985</year> |
| 1464 | 1479 | <publisher>Kingsoft</publisher> |
| 1465 | | |
| 1480 | |
| 1466 | 1481 | <part name="cart" interface="c64_cart"> |
| 1467 | 1482 | <feature name="slot" value="kingsoft" /> |
| 1468 | 1483 | <feature name="game" value="0" /> |
| r14763 | r14764 | |
| 1472 | 1487 | <rom name="1" size="0x2000" crc="a8bdbbcf" sha1="4758c7cd4b094b7894ddc5cfa8b5a925c6b01979" offset="0" /> |
| 1473 | 1488 | </dataarea> |
| 1474 | 1489 | |
| 1475 | | <dataarea name="romh" size="0x2000"> |
| 1476 | | <rom name="2" size="0x2000" crc="ab55db10" sha1="c6f53801645e07d0413dc91bae71a79a636762c4" offset="0" /> |
| 1477 | | <rom name="3" size="0x2000" crc="407a8273" sha1="971ca48cd6e80cc77f166709207e68b0b5d0d8c1" offset="0" /> |
| 1490 | <dataarea name="romh" size="0x4000"> |
| 1491 | <rom name="2" size="0x2000" crc="ab55db10" sha1="c6f53801645e07d0413dc91bae71a79a636762c4" offset="0x0000" /> |
| 1492 | <rom name="3" size="0x2000" crc="407a8273" sha1="971ca48cd6e80cc77f166709207e68b0b5d0d8c1" offset="0x2000" /> |
| 1478 | 1493 | </dataarea> |
| 1479 | 1494 | </part> |
| 1480 | 1495 | </software> |
| 1481 | 1496 | |
| 1497 | <software name="smore" cloneof="busbasic"> |
| 1498 | <description>S'more Basic</description> |
| 1499 | <year>1985</year> |
| 1500 | <publisher>Cardco</publisher> |
| 1501 | |
| 1502 | <part name="cart" interface="c64_cart"> |
| 1503 | <feature name="slot" value="kingsoft" /> |
| 1504 | <feature name="game" value="0" /> |
| 1505 | <feature name="exrom" value="0" /> |
| 1506 | |
| 1507 | <dataarea name="roml" size="0x2000"> |
| 1508 | <rom name="1121" size="0x2000" crc="a8bdbbcf" sha1="4758c7cd4b094b7894ddc5cfa8b5a925c6b01979" offset="0" /> |
| 1509 | </dataarea> |
| 1510 | |
| 1511 | <dataarea name="romh" size="0x4000"> |
| 1512 | <rom name="2122" size="0x2000" crc="635407a5" sha1="b174c20153032307560707e4f73997fb3633deae" offset="0x0000" /> |
| 1513 | <rom name="3121" size="0x2000" crc="8de1d013" sha1="8052819719b0234b999ac8af18116bdbb0463013" offset="0x2000" /> |
| 1514 | </dataarea> |
| 1515 | </part> |
| 1516 | |
| 1517 | <part name="flop" interface="floppy_5_25"> |
| 1518 | <dataarea name="flop" size="174848"> |
| 1519 | <rom name="s'more.d64" size="174848" crc="268eb91b" sha1="c8672643441a6714093382fd018fc3ead722bc5a" offset="0" /> |
| 1520 | </dataarea> |
| 1521 | </part> |
| 1522 | </software> |
| 1523 | |
| 1482 | 1524 | <software name="samson" supported="no"> |
| 1483 | 1525 | <description>Samson</description> |
| 1484 | 1526 | <year>198?</year> |
| r14763 | r14764 | |
| 1496 | 1538 | </part> |
| 1497 | 1539 | </software> |
| 1498 | 1540 | |
| 1541 | <software name="smarterm"> |
| 1542 | <description>SMART 64/C Intelligent Terminal v1.4</description> |
| 1543 | <year>1985</year> |
| 1544 | <publisher>Tom Wheeler</publisher> |
| 1545 | <sharedfeat name="compatibility" value="NTSC,PAL"/> |
| 1546 | |
| 1547 | <part name="cart" interface="c64_cart"> |
| 1548 | <feature name="game" value="1" /> |
| 1549 | <feature name="exrom" value="0" /> |
| 1550 | |
| 1551 | <dataarea name="roml" size="0x2000"> |
| 1552 | <rom name="smart 64 c intelligent terminal commodore 654 cartridge.bin" size="0x2000" crc="f030b179" sha1="5521fa90fee29397c705eb91760df082b99c1414" offset="0" /> |
| 1553 | </dataarea> |
| 1554 | </part> |
| 1555 | </software> |
| 1556 | |
| 1499 | 1557 | <software name="mikroasm"> |
| 1500 | 1558 | <description>Mikro Assembler</description> |
| 1501 | 1559 | <year>198?</year> |
| r14763 | r14764 | |
| 6116 | 6174 | <year>1983</year> |
| 6117 | 6175 | <publisher>Commodore</publisher> |
| 6118 | 6176 | <info name="serial" value="C-64801" /> |
| 6177 | <info name="assy" value="326073" /> |
| 6119 | 6178 | <part name="cart" interface="c64_cart"> |
| 6120 | 6179 | <feature name="slot" value="magic_desk" /> |
| 6121 | 6180 | <feature name="exrom" value="0" /> |
| 6122 | 6181 | <feature name="game" value="1" /> |
| 6123 | 6182 | <dataarea name="roml" size="0x8000"> |
| 6124 | | <rom name="magic desk i (1983)(commodore).80" size="0x8000" crc="a34d0f87" sha1="e9dd758c03c288a1cbfa6cadbcc6f2943c27ff20" offset="0x0000" /> |
| 6183 | <rom name="317004-01.u1" size="0x2000" crc="3b47e9f0" sha1="19fde6707a4c60fdc3bb9df07e2f3ddf28a94900" offset="0x0000" /> |
| 6184 | <rom name="317005-01.u2" size="0x2000" crc="9f3e210d" sha1="c78af8d162e19d09770d4df1c154c4e95418a7c0" offset="0x2000" /> |
| 6185 | <rom name="317006-01.u3" size="0x2000" crc="ef1323fa" sha1="a7238a85b9f65720164dcd9278b9550670e00394" offset="0x4000" /> |
| 6186 | <rom name="317007-01.u4" size="0x2000" crc="e5c87f9d" sha1="2df19a613646de7cc5c5545a5004ae7568dd5b50" offset="0x6000" /> |
| 6125 | 6187 | </dataarea> |
| 6126 | 6188 | </part> |
| 6127 | 6189 | </software> |
src/mess/machine/c64_kingsoft.c
| r0 | r14764 | |
| 1 | /**********************************************************************
|
| 2 | |
| 3 | Kingsoft cartridge emulation
|
| 4 | |
| 5 | Copyright MESS Team.
|
| 6 | Visit http://mamedev.org for licensing and usage restrictions.
|
| 7 | |
| 8 | **********************************************************************/
|
| 9 | |
| 10 | #include "c64_kingsoft.h"
|
| 11 | |
| 12 | |
| 13 | |
| 14 | //**************************************************************************
|
| 15 | // DEVICE DEFINITIONS
|
| 16 | //**************************************************************************
|
| 17 | |
| 18 | const device_type C64_KINGSOFT = &device_creator<c64_kingsoft_cartridge_device>;
|
| 19 | |
| 20 | |
| 21 | |
| 22 | //**************************************************************************
|
| 23 | // LIVE DEVICE
|
| 24 | //**************************************************************************
|
| 25 | |
| 26 | //-------------------------------------------------
|
| 27 | // c64_kingsoft_cartridge_device - constructor
|
| 28 | //-------------------------------------------------
|
| 29 | |
| 30 | c64_kingsoft_cartridge_device::c64_kingsoft_cartridge_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) :
|
| 31 | device_t(mconfig, C64_KINGSOFT, "C64 Kingsoft 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_kingsoft_cartridge_device::device_start()
|
| 42 | {
|
| 43 | }
|
| 44 | |
| 45 | |
| 46 | //-------------------------------------------------
|
| 47 | // device_reset - device-specific reset
|
| 48 | //-------------------------------------------------
|
| 49 | |
| 50 | void c64_kingsoft_cartridge_device::device_reset()
|
| 51 | {
|
| 52 | m_exrom = 0;
|
| 53 | }
|
| 54 | |
| 55 | |
| 56 | //-------------------------------------------------
|
| 57 | // c64_cd_r - cartridge data read
|
| 58 | //-------------------------------------------------
|
| 59 | |
| 60 | UINT8 c64_kingsoft_cartridge_device::c64_cd_r(address_space &space, offs_t offset, int roml, int romh, int io1, int io2)
|
| 61 | {
|
| 62 | UINT8 data = 0;
|
| 63 | |
| 64 | if (!roml)
|
| 65 | {
|
| 66 | data = m_roml[offset & 0x1fff];
|
| 67 | }
|
| 68 | else if (!romh)
|
| 69 | {
|
| 70 | data = m_romh[(m_exrom << 13) | (offset & 0x1fff)];
|
| 71 | }
|
| 72 | else if (!io1)
|
| 73 | {
|
| 74 | m_exrom = 0;
|
| 75 | }
|
| 76 | |
| 77 | return data;
|
| 78 | }
|
| 79 | |
| 80 | |
| 81 | //-------------------------------------------------
|
| 82 | // c64_cd_w - cartridge data write
|
| 83 | //-------------------------------------------------
|
| 84 | |
| 85 | void c64_kingsoft_cartridge_device::c64_cd_w(address_space &space, offs_t offset, UINT8 data, int roml, int romh, int io1, int io2)
|
| 86 | {
|
| 87 | if (!io1)
|
| 88 | {
|
| 89 | m_exrom = 1;
|
| 90 | }
|
| 91 | }
|
| 92 | |
| 93 | |
| 94 | //-------------------------------------------------
|
| 95 | // c64_game_r - GAME read
|
| 96 | //-------------------------------------------------
|
| 97 | |
| 98 | int c64_kingsoft_cartridge_device::c64_game_r(offs_t offset, int ba, int rw, int hiram)
|
| 99 | {
|
| 100 | return m_exrom & !(ba & rw & ((offset >= 0x8000 && offset < 0xc000) || (offset >= 0xe000)));
|
| 101 | }
|
src/mess/machine/c64_kingsoft.h
| r0 | r14764 | |
| 1 | /**********************************************************************
|
| 2 | |
| 3 | Kingsoft 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 __KINGSOFT__
|
| 13 | #define __KINGSOFT__
|
| 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_kingsoft_cartridge_device
|
| 27 | |
| 28 | class c64_kingsoft_cartridge_device : public device_t,
|
| 29 | public device_c64_expansion_card_interface
|
| 30 | {
|
| 31 | public:
|
| 32 | // construction/destruction
|
| 33 | c64_kingsoft_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 | virtual void device_reset();
|
| 39 | virtual void device_config_complete() { m_shortname = "c64_kingsoft"; }
|
| 40 | |
| 41 | // device_c64_expansion_card_interface overrides
|
| 42 | virtual UINT8 c64_cd_r(address_space &space, offs_t offset, int roml, int romh, int io1, int io2);
|
| 43 | virtual void c64_cd_w(address_space &space, offs_t offset, UINT8 data, int roml, int romh, int io1, int io2);
|
| 44 | virtual int c64_game_r(offs_t offset, int ba, int rw, int hiram);
|
| 45 | };
|
| 46 | |
| 47 | |
| 48 | // device type definition
|
| 49 | extern const device_type C64_KINGSOFT;
|
| 50 | |
| 51 | |
| 52 | #endif
|