mirror of
https://github.com/holub/mame
synced 2025-06-07 13:23:50 +03:00
ht1080z : added ay8910 ; trs80 : added monitor documentation
This commit is contained in:
parent
4d0feb2486
commit
a5a1ebdf9d
@ -71,9 +71,29 @@ F8:
|
|||||||
|
|
||||||
Shift and Right-arrow will enable 32 cpl, if the hardware allows it.
|
Shift and Right-arrow will enable 32 cpl, if the hardware allows it.
|
||||||
|
|
||||||
|
SYSTEM commands:
|
||||||
|
- Press Break (End key) to quit
|
||||||
|
- Press Enter to exit with error
|
||||||
|
- xxxx to load program xxxx from tape.
|
||||||
|
- / to execute last program loaded
|
||||||
|
- /nnnnn to execute program at nnnnn (decimal)
|
||||||
|
|
||||||
About the system80 - Asian version of trs80l2, known as EACA Video Genie. In USA called
|
About the system80 - Asian version of trs80l2, known as EACA Video Genie. In USA called
|
||||||
PMC-80, in South Africa called TRZ-80, and Dick Smith imported them to Australia and
|
PMC-80, in South Africa called TRZ-80, and Dick Smith imported them to Australia and
|
||||||
New Zealand as the System 80. The Hungarian version is the ht1080z.
|
New Zealand as the System 80. The Hungarian version is the ht1080z.
|
||||||
|
Inbuilt extensions:
|
||||||
|
- SYSTEM then /12288 = enable extended keyboard and flashing block cursor
|
||||||
|
- SYSTEM then /12299 = turn cursor back to normal
|
||||||
|
- SYSTEM then /12294 = enable extended keyboard only
|
||||||
|
- SYSTEM then /12710 = enter machine-language monitor
|
||||||
|
Monitor commands:
|
||||||
|
- B : return to Basic
|
||||||
|
- Dnnnn : Dump hex to screen. Press down-arrow for more. Press enter to quit.
|
||||||
|
- Mnnnn : Modify memory. Enter new byte and it increments to next address. X to quit.
|
||||||
|
- Gnnnn : Execute program at nnnn
|
||||||
|
- Gnnnn,tttt : as above, breakpoint at tttt
|
||||||
|
- R : modify registers
|
||||||
|
The monitor works on the radionic too.
|
||||||
|
|
||||||
About the ht1080z - This was made for schools in Hungary. Each comes with a BASIC extension roms
|
About the ht1080z - This was made for schools in Hungary. Each comes with a BASIC extension roms
|
||||||
which activated Hungarian features. To activate - start emulation - enter SYSTEM
|
which activated Hungarian features. To activate - start emulation - enter SYSTEM
|
||||||
@ -118,7 +138,7 @@ sys80: works
|
|||||||
add 32 / 64 cpl switch
|
add 32 / 64 cpl switch
|
||||||
|
|
||||||
ht1080z works
|
ht1080z works
|
||||||
add AY-3-8910
|
verify clock for AY-3-8910
|
||||||
investigate expansion-box
|
investigate expansion-box
|
||||||
|
|
||||||
radionic: works
|
radionic: works
|
||||||
@ -139,6 +159,7 @@ lnw80: works
|
|||||||
#include "emu.h"
|
#include "emu.h"
|
||||||
#include "includes/trs80.h"
|
#include "includes/trs80.h"
|
||||||
|
|
||||||
|
#include "sound/ay8910.h"
|
||||||
#include "screen.h"
|
#include "screen.h"
|
||||||
#include "speaker.h"
|
#include "speaker.h"
|
||||||
|
|
||||||
@ -201,6 +222,15 @@ void trs80_state::sys80_io(address_map &map)
|
|||||||
map(0xff, 0xff).rw(FUNC(trs80_state::port_ff_r), FUNC(trs80_state::port_ff_w));
|
map(0xff, 0xff).rw(FUNC(trs80_state::port_ff_r), FUNC(trs80_state::port_ff_w));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void trs80_state::ht1080z_io(address_map &map)
|
||||||
|
{
|
||||||
|
map.global_mask(0xff);
|
||||||
|
map.unmap_value_high();
|
||||||
|
sys80_io(map);
|
||||||
|
map(0x1e, 0x1e).rw("ay1", FUNC(ay8910_device::data_r), FUNC(ay8910_device::data_w));
|
||||||
|
map(0x1f, 0x1f).w("ay1", FUNC(ay8910_device::address_w));
|
||||||
|
}
|
||||||
|
|
||||||
void trs80_state::lnw80_mem(address_map &map)
|
void trs80_state::lnw80_mem(address_map &map)
|
||||||
{
|
{
|
||||||
map(0x0000, 0x3fff).m(m_lnw_bank, FUNC(address_map_bank_device::amap8));
|
map(0x0000, 0x3fff).m(m_lnw_bank, FUNC(address_map_bank_device::amap8));
|
||||||
@ -540,9 +570,17 @@ MACHINE_CONFIG_END
|
|||||||
|
|
||||||
MACHINE_CONFIG_START(trs80_state::ht1080z)
|
MACHINE_CONFIG_START(trs80_state::ht1080z)
|
||||||
sys80(config);
|
sys80(config);
|
||||||
|
MCFG_DEVICE_MODIFY("maincpu")
|
||||||
|
MCFG_DEVICE_IO_MAP(ht1080z_io)
|
||||||
|
|
||||||
MCFG_SCREEN_MODIFY("screen")
|
MCFG_SCREEN_MODIFY("screen")
|
||||||
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_ht1080z)
|
MCFG_SCREEN_UPDATE_DRIVER(trs80_state, screen_update_ht1080z)
|
||||||
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_ht1080z)
|
MCFG_GFXDECODE_MODIFY("gfxdecode", gfx_ht1080z)
|
||||||
|
|
||||||
|
MCFG_DEVICE_ADD("ay1", AY8910, 1'500'000) // guess of clock
|
||||||
|
//MCFG_AY8910_PORT_A_READ_CB(...) // ports are some kind of expansion slot
|
||||||
|
//MCFG_AY8910_PORT_B_READ_CB(...)
|
||||||
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
MACHINE_CONFIG_START(trs80_state::lnw80)
|
MACHINE_CONFIG_START(trs80_state::lnw80)
|
||||||
|
@ -104,6 +104,7 @@ private:
|
|||||||
void sys80_io(address_map &map);
|
void sys80_io(address_map &map);
|
||||||
void trs80_io(address_map &map);
|
void trs80_io(address_map &map);
|
||||||
void trs80_mem(address_map &map);
|
void trs80_mem(address_map &map);
|
||||||
|
void ht1080z_io(address_map &map);
|
||||||
|
|
||||||
uint8_t m_mode;
|
uint8_t m_mode;
|
||||||
uint8_t m_irq;
|
uint8_t m_irq;
|
||||||
|
@ -352,6 +352,7 @@ void trs80_state::machine_start()
|
|||||||
void trs80_state::machine_reset()
|
void trs80_state::machine_reset()
|
||||||
{
|
{
|
||||||
m_cassette_data = false;
|
m_cassette_data = false;
|
||||||
|
// if machine has a uart but no brg, the baud is determined by dipswitch
|
||||||
if (m_io_baud)
|
if (m_io_baud)
|
||||||
{
|
{
|
||||||
const uint16_t s_bauds[8]={ 110, 300, 600, 1200, 2400, 4800, 9600, 19200 };
|
const uint16_t s_bauds[8]={ 110, 300, 600, 1200, 2400, 4800, 9600, 19200 };
|
||||||
|
Loading…
Reference in New Issue
Block a user