mirror of
https://github.com/holub/mame
synced 2025-06-10 06:47:18 +03:00
(nw) removed zex8085 because it's not wanted. Moved to hbmame.
This commit is contained in:
parent
862ca247e1
commit
167e11a9cf
@ -9,8 +9,6 @@
|
|||||||
|
|
||||||
NOTE: there's a modified version of this driver in src/zexall
|
NOTE: there's a modified version of this driver in src/zexall
|
||||||
|
|
||||||
2020-06-04 Added zex8085, it's a modified version of zexall, by Ian Bartholomew. CRCs were obtained by running it on a real machine.
|
|
||||||
http://www.vcfed.org/forum/showthread.php?74993
|
|
||||||
|
|
||||||
Memory map:
|
Memory map:
|
||||||
|
|
||||||
@ -28,7 +26,6 @@ http://www.vcfed.org/forum/showthread.php?74993
|
|||||||
|
|
||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "cpu/z80/z80.h"
|
#include "cpu/z80/z80.h"
|
||||||
#include "cpu/i8085/i8085.h"
|
|
||||||
#include "machine/terminal.h"
|
#include "machine/terminal.h"
|
||||||
|
|
||||||
class zexall_state : public driver_device
|
class zexall_state : public driver_device
|
||||||
@ -42,25 +39,24 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
|
|
||||||
void zexall(machine_config &config);
|
void zexall(machine_config &config);
|
||||||
void zex8085(machine_config &config);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
u8 output_ack_r();
|
uint8_t output_ack_r();
|
||||||
u8 output_req_r();
|
uint8_t output_req_r();
|
||||||
u8 output_data_r();
|
uint8_t output_data_r();
|
||||||
void output_ack_w(u8 data);
|
void output_ack_w(uint8_t data);
|
||||||
void output_req_w(u8 data);
|
void output_req_w(uint8_t data);
|
||||||
void output_data_w(u8 data);
|
void output_data_w(uint8_t data);
|
||||||
|
|
||||||
void mem_map(address_map &map);
|
void mem_map(address_map &map);
|
||||||
|
|
||||||
required_device<cpu_device> m_maincpu;
|
required_device<cpu_device> m_maincpu;
|
||||||
required_device<generic_terminal_device> m_terminal;
|
required_device<generic_terminal_device> m_terminal;
|
||||||
required_shared_ptr<u8> m_main_ram;
|
required_shared_ptr<uint8_t> m_main_ram;
|
||||||
u8 m_out_data; // byte written to 0xFFFF
|
uint8_t m_out_data; // byte written to 0xFFFF
|
||||||
u8 m_out_req; // byte written to 0xFFFE
|
uint8_t m_out_req; // byte written to 0xFFFE
|
||||||
u8 m_out_req_last; // old value at 0xFFFE before the most recent write
|
uint8_t m_out_req_last; // old value at 0xFFFE before the most recent write
|
||||||
u8 m_out_ack; // byte written to 0xFFFC
|
uint8_t m_out_ack; // byte written to 0xFFFC
|
||||||
|
|
||||||
virtual void machine_start() override;
|
virtual void machine_start() override;
|
||||||
virtual void machine_reset() override;
|
virtual void machine_reset() override;
|
||||||
@ -89,8 +85,8 @@ void zexall_state::machine_reset()
|
|||||||
m_out_data = 0;
|
m_out_data = 0;
|
||||||
|
|
||||||
// program is self-modifying, so need to refresh it on each run
|
// program is self-modifying, so need to refresh it on each run
|
||||||
u8 *program = memregion("maincpu")->base();
|
uint8_t *program = memregion("maincpu")->base();
|
||||||
memcpy(m_main_ram, program, 0x8000);
|
memcpy(m_main_ram, program, 0x10000);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -98,7 +94,7 @@ void zexall_state::machine_reset()
|
|||||||
I/O Handlers
|
I/O Handlers
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
u8 zexall_state::output_ack_r()
|
uint8_t zexall_state::output_ack_r()
|
||||||
{
|
{
|
||||||
// spit out the byte in out_byte if out_req is not equal to out_req_last
|
// spit out the byte in out_byte if out_req is not equal to out_req_last
|
||||||
if (m_out_req != m_out_req_last)
|
if (m_out_req != m_out_req_last)
|
||||||
@ -110,28 +106,28 @@ u8 zexall_state::output_ack_r()
|
|||||||
return m_out_ack;
|
return m_out_ack;
|
||||||
}
|
}
|
||||||
|
|
||||||
void zexall_state::output_ack_w(u8 data)
|
void zexall_state::output_ack_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_out_ack = data;
|
m_out_ack = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 zexall_state::output_req_r()
|
uint8_t zexall_state::output_req_r()
|
||||||
{
|
{
|
||||||
return m_out_req;
|
return m_out_req;
|
||||||
}
|
}
|
||||||
|
|
||||||
void zexall_state::output_req_w(u8 data)
|
void zexall_state::output_req_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_out_req_last = m_out_req;
|
m_out_req_last = m_out_req;
|
||||||
m_out_req = data;
|
m_out_req = data;
|
||||||
}
|
}
|
||||||
|
|
||||||
u8 zexall_state::output_data_r()
|
uint8_t zexall_state::output_data_r()
|
||||||
{
|
{
|
||||||
return m_out_data;
|
return m_out_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
void zexall_state::output_data_w(u8 data)
|
void zexall_state::output_data_w(uint8_t data)
|
||||||
{
|
{
|
||||||
m_out_data = data;
|
m_out_data = data;
|
||||||
}
|
}
|
||||||
@ -172,38 +168,21 @@ void zexall_state::zexall(machine_config &config)
|
|||||||
GENERIC_TERMINAL(config, m_terminal, 0);
|
GENERIC_TERMINAL(config, m_terminal, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void zexall_state::zex8085(machine_config &config)
|
|
||||||
{
|
|
||||||
/* basic machine hardware */
|
|
||||||
I8085A(config, m_maincpu, XTAL(4'000'000));
|
|
||||||
m_maincpu->set_addrmap(AS_PROGRAM, &zexall_state::mem_map);
|
|
||||||
|
|
||||||
/* video hardware */
|
|
||||||
GENERIC_TERMINAL(config, m_terminal, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
ROM Definitions
|
ROM Definitions
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
ROM_START( zexall )
|
ROM_START( zexall )
|
||||||
ROM_REGION( 0x8000, "maincpu", ROMREGION_ERASEFF )
|
ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF )
|
||||||
ROM_LOAD( "interface.bin", 0x0000, 0x0051, CRC(4292a574) SHA1(d3ed6d84e2b64e51598f36b4f290972963e1eb6d) ) // written directly in machine code
|
ROM_LOAD( "interface.bin", 0x0000, 0x0051, CRC(4292a574) SHA1(d3ed6d84e2b64e51598f36b4f290972963e1eb6d) ) // written directly in machine code
|
||||||
ROM_LOAD( "zexall.bin", 0x0100, 0x2189, CRC(b6f869c3) SHA1(14021f75c1bc9f26688969581065a0efff3af59c) )
|
ROM_LOAD( "zexall.bin", 0x0100, 0x2189, CRC(b6f869c3) SHA1(14021f75c1bc9f26688969581065a0efff3af59c) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( zex8085 )
|
|
||||||
ROM_REGION( 0x8000, "maincpu", ROMREGION_ERASEFF )
|
|
||||||
ROM_LOAD( "interface.bin", 0x0000, 0x0051, CRC(4292a574) SHA1(d3ed6d84e2b64e51598f36b4f290972963e1eb6d) ) // written directly in machine code
|
|
||||||
ROM_LOAD( "zex8085.bin", 0x0100, 0x1200, CRC(3545bdbd) SHA1(4d6a2205881b62fae459ed9d908ecf7479d1d06c) ) // rename this to .com and run under CP/M
|
|
||||||
ROM_END
|
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
Drivers
|
Drivers
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||||
COMP( 2009, zexall, 0, 0, zexall, zexall, zexall_state, empty_init, "Frank Cringle / Kevin Horton", "Zexall (FPGA Z80 test interface)", MACHINE_SUPPORTS_SAVE )
|
COMP( 2009, zexall, 0, 0, zexall, zexall, zexall_state, empty_init, "Frank Cringle / Kevin Horton", "Zexall (FPGA Z80 test interface)", MACHINE_SUPPORTS_SAVE )
|
||||||
COMP( 2009, zex8085, 0, 0, zexall, zexall, zexall_state, empty_init, "Ian Bartholomew / Kevin Horton", "Zexall (i8085)", MACHINE_SUPPORTS_SAVE )
|
|
||||||
|
@ -42054,7 +42054,6 @@ zerozone // (c) 1993 Comad
|
|||||||
|
|
||||||
@source:zexall.cpp
|
@source:zexall.cpp
|
||||||
zexall // zexall z80 test suite with kevtris' preloader/serial interface at 0000-00ff
|
zexall // zexall z80 test suite with kevtris' preloader/serial interface at 0000-00ff
|
||||||
zex8085 // i8085 Ian Bartholomew
|
|
||||||
|
|
||||||
@source:zms8085.cpp
|
@source:zms8085.cpp
|
||||||
zephyr //
|
zephyr //
|
||||||
|
Loading…
Reference in New Issue
Block a user