blob: d2c2a16e3ba884d112ff54d15107516a7bc27fcd (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
// license:BSD-3-Clause
// copyright-holders:Juergen Buchmueller
/*****************************************************************************
*
* Xerox AltoII memory mapped i/o stuff (HW)
*
*****************************************************************************/
#ifdef ALTO2_DEFINE_CONSTANTS
#else // ALTO2_DEFINE_CONSTANTS
#ifndef MAME_CPU_ALTO2_A2HW_H
#define MAME_CPU_ALTO2_A2HW_H
//! miscellaneous hardware registers in the memory mapped I/O range
struct {
uint16_t eia; //!< the EIA port at 0177001
uint16_t utilout; //!< the UTILOUT port at 0177016 (active-low outputs)
uint16_t xbus[4]; //!< the XBUS port at 0177020 to 0177023
uint16_t utilin; //!< the UTILIN port at 0177030 to 0177033 (same value on all addresses)
} m_hw;
uint16_t pprdy_r(); //!< read UTILIN[0] printer paper ready bit
uint16_t pcheck_r(); //!< read UTILIN[1] printer check bit
uint16_t unused2_r(); //!< read UTILIN[2] unused bit
uint16_t pchrdy_r(); //!< read UTILIN[3] printer daisy ready bit
uint16_t parrdy_r(); //!< read UTILIN[4] printer carriage ready bit
uint16_t pready_r(); //!< read UTILIN[5] printer ready bit
uint16_t memconfig_r(); //!< read UTILIN[6] memory config switch
uint16_t unused7_r(); //!< read UTILIN[7] unused bit
uint16_t keyset_key0_r(); //!< read UTILIN[8] keyset key #0
uint16_t keyset_key1_r(); //!< read UTILIN[9] keyset key #1
uint16_t keyset_key2_r(); //!< read UTILIN[10] keyset key #2
uint16_t keyset_key3_r(); //!< read UTILIN[11] keyset key #3
uint16_t keyset_key4_r(); //!< read UTILIN[12] keyset key #4
uint16_t mouse_red_r(); //!< read UTILIN[13] mouse red button bit
uint16_t mouse_blue_r(); //!< read UTILIN[14] mouse blue button bit
uint16_t mouse_yellow_r(); //!< read UTILIN[15] mouse yellow button bit
void pprdy_w(uint16_t data); //!< write UTILIN[0] printer paper ready bit
void pcheck_w(uint16_t data); //!< write UTILIN[1] printer check bit
void unused2_w(uint16_t data); //!< write UTILIN[2] unused bit
void pchrdy_w(uint16_t data); //!< write UTILIN[3] printer daisy ready bit
void parrdy_w(uint16_t data); //!< write UTILIN[4] carriage ready bit
void pready_w(uint16_t data); //!< write UTILIN[5] printer ready bit
void memconfig_w(uint16_t data); //!< write UTILIN[6] memory config switch
void unused7_w(uint16_t data); //!< write UTILIN[7] unused bit
void keyset_key0_w(uint16_t data); //!< write UTILIN[8] keyset key #0
void keyset_key1_w(uint16_t data); //!< write UTILIN[9] keyset key #1
void keyset_key2_w(uint16_t data); //!< write UTILIN[10] keyset key #2
void keyset_key3_w(uint16_t data); //!< write UTILIN[11] keyset key #3
void keyset_key4_w(uint16_t data); //!< write UTILIN[12] keyset key #4
void mouse_red_w(uint16_t data); //!< write UTILIN[13] mouse red button bit
void mouse_blue_w(uint16_t data); //!< write UTILIN[14] mouse blue button bit
void mouse_yellow_w(uint16_t data); //!< write UTILIN[15] mouse yellow button bit
void mouse_buttons_w(uint16_t data); //!< write UTILIN[13-15] mouse buttons bits
uint16_t utilin_r(offs_t offset); //!< read an UTILIN address
uint16_t utilout_r(offs_t offset); //!< read the UTILOUT address
void utilout_w(offs_t offset, uint16_t data); //!< write the UTILOUT address
uint16_t xbus_r(offs_t offset); //!< read an XBUS address
void xbus_w(offs_t offset, uint16_t data); //!< write an XBUS address (?)
void init_hw(); //!< initialize miscellaneous hardware
void exit_hw(); //!< deinitialize miscellaneous hardware
void reset_hw(); //!< reset miscellaneous hardware
#endif // MAME_CPU_ALTO2_A2HW_H
#endif // ALTO2_DEFINE_CONSTANTS
|