diff options
56 files changed, 674 insertions, 674 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 78a388d032e..d5fe0319ca5 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2086,7 +2086,7 @@ files { MAME_DIR .. "src/mame/drivers/hp9k_3xx.cpp", MAME_DIR .. "src/mame/drivers/hp64k.cpp", MAME_DIR .. "src/mame/drivers/hp_ipc.cpp", - MAME_DIR .. "src/mame/drivers/hp80.cpp", + MAME_DIR .. "src/mame/drivers/hp80.cpp", } createMESSProjects(_target, _subtarget, "hec2hrp") diff --git a/src/devices/bus/lpci/i82371sb.cpp b/src/devices/bus/lpci/i82371sb.cpp index 3ea30c60061..6fd7308a922 100644 --- a/src/devices/bus/lpci/i82371sb.cpp +++ b/src/devices/bus/lpci/i82371sb.cpp @@ -185,4 +185,4 @@ void i82371sb_device::device_reset() void i82371sb_device::port80_debug_write(uint8_t value) { m_boot_state_hook((offs_t)0, value); -}
\ No newline at end of file +} diff --git a/src/devices/cpu/capricorn/capricorn.cpp b/src/devices/cpu/capricorn/capricorn.cpp index cb897bd1a59..3faa132b5f3 100644 --- a/src/devices/cpu/capricorn/capricorn.cpp +++ b/src/devices/cpu/capricorn/capricorn.cpp @@ -109,32 +109,32 @@ namespace { } // Bits in m_flags -static constexpr unsigned FLAGS_DCM_BIT = 0; // Decimal/binary mode -static constexpr unsigned FLAGS_CY_BIT = 1; // Carry -static constexpr unsigned FLAGS_OVF_BIT = 2; // Overflow -static constexpr unsigned FLAGS_LSB_BIT = 3; // LSB -static constexpr unsigned FLAGS_MSB_BIT = 4; // MSB -static constexpr unsigned FLAGS_Z_BIT = 5; // Zero -static constexpr unsigned FLAGS_LDZ_BIT = 6; // Left digit zero -static constexpr unsigned FLAGS_RDZ_BIT = 7; // Right digit zero -static constexpr unsigned FLAGS_IRL_BIT = 8; // Interrupt request +static constexpr unsigned FLAGS_DCM_BIT = 0; // Decimal/binary mode +static constexpr unsigned FLAGS_CY_BIT = 1; // Carry +static constexpr unsigned FLAGS_OVF_BIT = 2; // Overflow +static constexpr unsigned FLAGS_LSB_BIT = 3; // LSB +static constexpr unsigned FLAGS_MSB_BIT = 4; // MSB +static constexpr unsigned FLAGS_Z_BIT = 5; // Zero +static constexpr unsigned FLAGS_LDZ_BIT = 6; // Left digit zero +static constexpr unsigned FLAGS_RDZ_BIT = 7; // Right digit zero +static constexpr unsigned FLAGS_IRL_BIT = 8; // Interrupt request // Special registers -static constexpr unsigned REG_BANK_PTR = 0; // R0: register bank pointer -static constexpr unsigned REG_INDEX_SCRATCH = 2; // R2 & R3: index scratch registers -static constexpr unsigned REG_PC = 4; // R4 & R5: PC -static constexpr unsigned REG_SP = 6; // R6 & R7: return stack pointer +static constexpr unsigned REG_BANK_PTR = 0; // R0: register bank pointer +static constexpr unsigned REG_INDEX_SCRATCH = 2; // R2 & R3: index scratch registers +static constexpr unsigned REG_PC = 4; // R4 & R5: PC +static constexpr unsigned REG_SP = 6; // R6 & R7: return stack pointer // Bit in address values that specifies external address (0) or internal register (1) -static constexpr unsigned GP_REG_BIT = 17; -static constexpr unsigned GP_REG_MASK = BIT_MASK(GP_REG_BIT); -static constexpr unsigned ADDR_MASK = 0xffff; +static constexpr unsigned GP_REG_BIT = 17; +static constexpr unsigned GP_REG_MASK = BIT_MASK(GP_REG_BIT); +static constexpr unsigned ADDR_MASK = 0xffff; // Mask of bits in ARP & DRP -static constexpr uint8_t ARP_DRP_MASK = 0x3f; +static constexpr uint8_t ARP_DRP_MASK = 0x3f; // Mask of bits in E -static constexpr uint8_t E_MASK = 0xf; +static constexpr uint8_t E_MASK = 0xf; DEFINE_DEVICE_TYPE(HP_CAPRICORN , capricorn_cpu_device , "capricorn" , "HP-Capricorn") @@ -483,44 +483,44 @@ uint8_t capricorn_cpu_device::sub_bcd_bytes(uint8_t first , uint8_t second , boo return (ld << 4) | rd; } -#define OP_ITERATION_START_FWD(idx , multi) \ - unsigned boundary = multi ? get_upper_boundary() : m_drp; \ - BIT_SET(m_flags , FLAGS_Z_BIT); \ - bool first = true; \ +#define OP_ITERATION_START_FWD(idx , multi) \ + unsigned boundary = multi ? get_upper_boundary() : m_drp; \ + BIT_SET(m_flags , FLAGS_Z_BIT); \ + bool first = true; \ for (unsigned idx = m_drp; idx <= boundary; idx++) -#define OP_ITERATION_START_REV(idx , multi) \ - int boundary = multi ? get_lower_boundary() : m_drp; \ - BIT_SET(m_flags , FLAGS_Z_BIT); \ - bool first = true; \ +#define OP_ITERATION_START_REV(idx , multi) \ + int boundary = multi ? get_lower_boundary() : m_drp; \ + BIT_SET(m_flags , FLAGS_Z_BIT); \ + bool first = true; \ for (int idx = m_drp; idx >= boundary; idx--) -#define OP1_GET(idx , op1) \ - m_icount--; \ +#define OP1_GET(idx , op1) \ + m_icount--; \ uint8_t op1 = m_reg[ idx ]; -#define OP2_GET(idx , ea , op1 , op2) \ - m_icount--; \ - uint8_t op1 = m_reg[ idx ]; \ +#define OP2_GET(idx , ea , op1 , op2) \ + m_icount--; \ + uint8_t op1 = m_reg[ idx ]; \ uint8_t op2 = RM(ea); -#define RES_SET(idx , res) \ +#define RES_SET(idx , res) \ m_reg[ idx ] = res; -#define OP_ITERATION_END_FWD(res) \ - if (first) { \ - update_flags_right(res); \ - first = false; \ - } \ - update_flags_left(res); \ +#define OP_ITERATION_END_FWD(res) \ + if (first) { \ + update_flags_right(res); \ + first = false; \ + } \ + update_flags_left(res); \ update_flags_every(res); -#define OP_ITERATION_END_REV(res) \ - if (first) { \ - update_flags_left(res); \ - first = false; \ - } \ - update_flags_right(res); \ +#define OP_ITERATION_END_REV(res) \ + if (first) { \ + update_flags_left(res); \ + first = false; \ + } \ + update_flags_right(res); \ update_flags_every(res); void capricorn_cpu_device::do_AN_op(ea_addr_t ea) diff --git a/src/devices/cpu/capricorn/capricorn.h b/src/devices/cpu/capricorn/capricorn.h index c31bf6dfacc..3519a5b95db 100644 --- a/src/devices/cpu/capricorn/capricorn.h +++ b/src/devices/cpu/capricorn/capricorn.h @@ -54,16 +54,16 @@ private: // State of processor uint8_t m_reg[ 64 ];// Registers R00-R77 - uint8_t m_arp; // ARP register (6 bits) - uint8_t m_drp; // DRP register (6 bits) - uint8_t m_reg_E; // E register (4 bits) - uint16_t m_flags; // Flags - uint16_t m_genpc; // PC + uint8_t m_arp; // ARP register (6 bits) + uint8_t m_drp; // DRP register (6 bits) + uint8_t m_reg_E; // E register (4 bits) + uint16_t m_flags; // Flags + uint16_t m_genpc; // PC // Burst memory accesses - bool m_flatten; // Consecutive accesses to memory are "flattened" - uint16_t m_start_addr; // Start address of burst - uint16_t m_curr_addr; // Current address in burst + bool m_flatten; // Consecutive accesses to memory are "flattened" + uint16_t m_start_addr; // Start address of burst + uint16_t m_curr_addr; // Current address in burst // Effective Addresses // When b17 = 0, b15..b0 hold 16-bit memory address diff --git a/src/devices/cpu/upd7810/upd7811.cpp b/src/devices/cpu/upd7810/upd7811.cpp index 97bfb5f25ef..d3e80a9fc67 100644 --- a/src/devices/cpu/upd7810/upd7811.cpp +++ b/src/devices/cpu/upd7810/upd7811.cpp @@ -3,7 +3,7 @@ /* - uPD7811 - variant of uPD7810 with internal ROM + uPD7811 - variant of uPD7810 with internal ROM */ @@ -11,15 +11,15 @@ #include "upd7811.h" /* - the MODE pins can cause this to work with external ROM instead - todo: document MODE pins - - M0 M1 + the MODE pins can cause this to work with external ROM instead + todo: document MODE pins - 0 0 - - 0 1 - - 1 0 - - 1 1 - + M0 M1 + + 0 0 - + 0 1 - + 1 0 - + 1 1 - */ @@ -33,4 +33,4 @@ DEFINE_DEVICE_TYPE(UPD7811, upd7811_device, "upd78c11", "uPD78C11") upd7811_device::upd7811_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : upd7810_device(mconfig, UPD7811, tag, owner, clock, ADDRESS_MAP_NAME(upd_internal_4096_rom_map)) { -}
\ No newline at end of file +} diff --git a/src/devices/machine/ncr5390.cpp b/src/devices/machine/ncr5390.cpp index 3496eba4f07..53f78a1129d 100644 --- a/src/devices/machine/ncr5390.cpp +++ b/src/devices/machine/ncr5390.cpp @@ -439,7 +439,7 @@ void ncr5390_device::step(bool timeout) dma_set(dma_command ? DMA_IN : DMA_NONE); // if it's the last message byte, ACK remains asserted, terminate with function_complete() - state = (xfr_phase == S_PHASE_MSG_IN && (!dma_command || tcounter == 1)) ? INIT_XFR_RECV_BYTE_NACK : INIT_XFR_RECV_BYTE_ACK; + state = (xfr_phase == S_PHASE_MSG_IN && (!dma_command || tcounter == 1)) ? INIT_XFR_RECV_BYTE_NACK : INIT_XFR_RECV_BYTE_ACK; recv_byte(); break; diff --git a/src/devices/machine/smioc.cpp b/src/devices/machine/smioc.cpp index 5ceabc2691e..65c5e8891c7 100644 --- a/src/devices/machine/smioc.cpp +++ b/src/devices/machine/smioc.cpp @@ -24,13 +24,13 @@ * Memory - Mitsubishi M5M187AJ 046101-35 SRAM 64K X 1?? - U37 Logic: * U8 - 22V10-25JC - * U33 - 22V10-25JC - * U61 - 22V10-25JC - * U63 - 22V10-25JC - * U87 - 22V10-20JC - * U88 - 22V10-20JC - * U102 - 22V10-25JC - * U111 - 22V10-25JC + * U33 - 22V10-25JC + * U61 - 22V10-25JC + * U63 - 22V10-25JC + * U87 - 22V10-20JC + * U88 - 22V10-20JC + * U102 - 22V10-25JC + * U111 - 22V10-25JC Switches: * S1 - Board reset diff --git a/src/emu/debug/dvdisasm.cpp b/src/emu/debug/dvdisasm.cpp index 5c18a66e313..1051365c561 100644 --- a/src/emu/debug/dvdisasm.cpp +++ b/src/emu/debug/dvdisasm.cpp @@ -462,7 +462,7 @@ void debug_view_disasm::print(int row, std::string text, int start, int end, u8 *dest++ = { ' ', attrib }; else *dest++ = { u8(text[spos]), attrib }; - } + } } //------------------------------------------------- diff --git a/src/emu/emupal.h b/src/emu/emupal.h index 4836c311073..d6495b232f1 100644 --- a/src/emu/emupal.h +++ b/src/emu/emupal.h @@ -343,7 +343,7 @@ public: static rgb_t xRGBRRRRGGGGBBBB_bit0_decoder(u32 raw); // bits 14/13/12 are LSb static rgb_t xRGBRRRRGGGGBBBB_bit4_decoder(u32 raw); // bits 14/13/12 are MSb - + private: // internal data int m_bytes_per_entry; diff --git a/src/emu/http.cpp b/src/emu/http.cpp index 541c049ef19..e483a32a099 100644 --- a/src/emu/http.cpp +++ b/src/emu/http.cpp @@ -130,28 +130,28 @@ public: m_query = m_request->path.find('?'); m_path_end = m_query == std::string::npos ? m_query_end : m_query; } - + /** Retrieves the requested resource. */ virtual const std::string get_resource() { // The entire resource: path, query and fragment. return m_request->path; } - + /** Returns the path part of the requested resource. */ virtual const std::string get_path() { return m_request->path.substr(0, m_path_end); } - + /** Returns the query part of the requested resource. */ virtual const std::string get_query() { return m_query == std::string::npos ? "" : m_request->path.substr(m_query, m_query_end); } - + /** Returns the fragment part of the requested resource. */ virtual const std::string get_fragment() { return m_fragment == std::string::npos ? "" : m_request->path.substr(m_fragment); } - + /** Retrieves a header from the HTTP request. */ virtual const std::string get_header(const std::string &header_name) { auto i = m_request->header.find(header_name); @@ -171,7 +171,7 @@ public: } return result; } - + /** Returns the body that was submitted with the HTTP request. */ virtual const std::string get_body() { // TODO(cbrunschen): What to return here - http_server::Request has a 'content' feld that is never filled in! @@ -193,7 +193,7 @@ struct http_response_impl : public http_manager::http_response { virtual void set_status(int status) { m_status = status; } - + /** Sets the HTTP content type to be returned to the client. */ virtual void set_content_type(const std::string &content_type) { m_content_type = content_type; @@ -209,7 +209,7 @@ struct http_response_impl : public http_manager::http_response { virtual void append_body(const std::string &body) { m_body << body; } - + /** Sends the response to the client. */ void send() { m_response->type(m_content_type); @@ -221,12 +221,12 @@ struct http_response_impl : public http_manager::http_response { struct websocket_endpoint_impl : public http_manager::websocket_endpoint { /** The underlying edpoint. */ std::shared_ptr<webpp::ws_server::Endpoint> m_endpoint; - - websocket_endpoint_impl(std::shared_ptr<webpp::ws_server::Endpoint> endpoint, + + websocket_endpoint_impl(std::shared_ptr<webpp::ws_server::Endpoint> endpoint, http_manager::websocket_open_handler on_open, http_manager::websocket_message_handler on_message, http_manager::websocket_close_handler on_close, - http_manager::websocket_error_handler on_error) + http_manager::websocket_error_handler on_error) : m_endpoint(endpoint) { this->on_open = on_open; this->on_message = on_message; @@ -240,7 +240,7 @@ struct websocket_connection_impl : public http_manager::websocket_connection { webpp::ws_server *m_wsserver; /* The underlying Commection. */ std::shared_ptr<webpp::ws_server::Connection> m_connection; - websocket_connection_impl(webpp::ws_server *server, std::shared_ptr<webpp::ws_server::Connection> connection) + websocket_connection_impl(webpp::ws_server *server, std::shared_ptr<webpp::ws_server::Connection> connection) : m_wsserver(server), m_connection(connection) { } /** Sends a message to the client that is connected on the other end of this Websocket connection. */ @@ -358,7 +358,7 @@ void http_manager::on_open(http_manager::websocket_endpoint_ptr endpoint, void * std::shared_ptr<webpp::ws_server::Connection> conn = (static_cast<webpp::ws_server::Connection *>(connection))->ptr(); http_manager::websocket_connection_ptr connection_impl = std::make_shared<websocket_connection_impl>(ws_server, conn); m_connections[connection] = connection_impl; - + if (endpoint->on_open) { endpoint->on_open(connection_impl); } @@ -384,7 +384,7 @@ void http_manager::on_close(http_manager::websocket_endpoint_ptr endpoint, void http_manager::websocket_connection_ptr websocket_connection_impl = (*i).second; endpoint->on_close(websocket_connection_impl, status, reason); } - + m_connections.erase(connection); } } @@ -434,7 +434,7 @@ void http_manager::serve_document(http_request_ptr request, http_response_ptr re } } -void http_manager::serve_template(http_request_ptr request, http_response_ptr response, +void http_manager::serve_template(http_request_ptr request, http_response_ptr response, const std::string &filename, substitution substitute, char init, char term) { if (!m_active) return; @@ -494,10 +494,10 @@ void http_manager::add_http_handler(const std::string &path, http_manager::http_ m_server->on_get(path, std::bind(on_get, handler, _1, _2)); std::lock_guard<std::mutex> lock(m_handlers_mutex); - m_handlers.emplace(path, handler); + m_handlers.emplace(path, handler); } -void http_manager::remove_http_handler(const std::string &path) { +void http_manager::remove_http_handler(const std::string &path) { if (!m_active) return; m_server->remove_handler(path); @@ -515,7 +515,7 @@ void http_manager::clear() { m_handlers.clear(); } -http_manager::websocket_endpoint_ptr http_manager::add_endpoint(const std::string &path, +http_manager::websocket_endpoint_ptr http_manager::add_endpoint(const std::string &path, http_manager::websocket_open_handler on_open, http_manager::websocket_message_handler on_message, http_manager::websocket_close_handler on_close, @@ -533,21 +533,21 @@ http_manager::websocket_endpoint_ptr http_manager::add_endpoint(const std::strin endpoint.on_open = [&, this, endpoint_impl](std::shared_ptr<webpp::ws_server::Connection> conn) { this->on_open(endpoint_impl, conn.get()); }; - + endpoint.on_message = [&, this, endpoint_impl](std::shared_ptr<webpp::ws_server::Connection> conn, std::shared_ptr<webpp::ws_server::Message> message) { std::string payload = message->string(); int opcode = message->fin_rsv_opcode & 0x0f; this->on_message(endpoint_impl, conn.get(), payload, opcode); }; - + endpoint.on_close = [&, this, endpoint_impl](std::shared_ptr<webpp::ws_server::Connection> conn, int status, const std::string& reason) { this->on_close(endpoint_impl, conn.get(), status, reason); }; - + endpoint.on_error = [&, this, endpoint_impl](std::shared_ptr<webpp::ws_server::Connection> conn, const std::error_code& error_code) { this->on_error(endpoint_impl, conn.get(), error_code); }; - + m_endpoints[path] = endpoint_impl; return endpoint_impl; } else { diff --git a/src/emu/http.h b/src/emu/http.h index 8da265c8893..783720bd2d1 100644 --- a/src/emu/http.h +++ b/src/emu/http.h @@ -39,28 +39,28 @@ class http_manager { DISABLE_COPYING(http_manager); public: - + /** An HTTP Request. */ struct http_request : public std::enable_shared_from_this<http_request> { /** Retrieves the requested resource. */ virtual const std::string get_resource() = 0; // The entire resource: path, query and fragment. - + /** Returns the path part of the requested resource. */ virtual const std::string get_path() = 0; - + /** Returns the query part of the requested resource. */ virtual const std::string get_query() = 0; - + /** Returns the fragment part of the requested resource. */ virtual const std::string get_fragment() = 0; - + /** Retrieves a header from the HTTP request. */ virtual const std::string get_header(const std::string &header_name) = 0; - + /** Retrieves a header from the HTTP request. */ virtual const std::list<std::string> get_headers(const std::string &header_name) = 0; - + /** Returns the body that was submitted with the HTTP request. */ virtual const std::string get_body() = 0; }; @@ -71,7 +71,7 @@ public: { /** Sets the HTTP status to be returned to the client. */ virtual void set_status(int status) = 0; - + /** Sets the HTTP content type to be returned to the client. */ virtual void set_content_type(const std::string &type) = 0; @@ -88,29 +88,29 @@ public: { /** Sends a message to the client that is connected on the other end of this Websocket connection. */ virtual void send_message(const std::string &payload, int opcode) = 0; - + /** Closes this open Websocket connection. */ virtual void close() = 0; - + virtual ~websocket_connection() { } }; typedef std::shared_ptr<websocket_connection> websocket_connection_ptr; /** Handles opening an incoming Websocket connection. */ typedef std::function<void(websocket_connection_ptr connection)> websocket_open_handler; - + /** Handles an incoming message on an open Websocket connection. */ typedef std::function<void(websocket_connection_ptr connection, const std::string &payload, int opcode)> websocket_message_handler; - + /** Handles when the client has closed a websocket connection. */ typedef std::function<void(websocket_connection_ptr connection, int status, const std::string& reason)> websocket_close_handler; /** Handles when there has been an error on a websocket connection. */ typedef std::function<void(websocket_connection_ptr connection, const std::error_code& error_code)> websocket_error_handler; - + /** Handles an incoming HTTP request, generating an HTTP response. */ typedef std::function<void(http_request_ptr, http_response_ptr)> http_handler; - + struct websocket_endpoint : public std::enable_shared_from_this<websocket_endpoint> { websocket_open_handler on_open; websocket_message_handler on_message; @@ -118,11 +118,11 @@ public: websocket_error_handler on_error; }; typedef std::shared_ptr<websocket_endpoint> websocket_endpoint_ptr; - + /** Substitutes one string with another, and returns whether the substitution should be performed. * Used when evaluating a template. */ typedef std::function<bool(std::string &)> substitution; - + http_manager(bool active, short port, const char *root); virtual ~http_manager(); void clear(); @@ -132,10 +132,10 @@ public: * will be used instead. */ void add_template(const std::string &path, substitution substitute, char init, char term); - + /** Removes a template from the web server. */ void remove_template(const std::string &path); - + /** Serves a template at an explicit path, which may be diffrent from the request path, under the document root. * The template will be read and parsed: * strings between each pair of <init, term> characters will be passed to the substitute function and the result @@ -144,23 +144,23 @@ public: void serve_template(http_request_ptr request, http_response_ptr response, const std::string &path, substitution substitute, char init, char term); void serve_document(http_request_ptr request, http_response_ptr response, const std::string &path); - + /** Adds an HTTP handler. When the specified path is requested, the specified HTTP handler will be called. */ void add_http_handler(const std::string &path, http_handler handler); - + /** Removes the HTTP handler at the specified path. */ void remove_http_handler(const std::string &path); - + /** Retrieves a websocket endpoint, possibly adding it if it does not already exist. */ websocket_endpoint_ptr add_endpoint(const std::string &path, websocket_open_handler on_open, websocket_message_handler on_message, websocket_close_handler on_close, websocket_error_handler on_error); - + /** Removes the websocket endpoint at the specified path. */ void remove_endpoint(const std::string &path); - + bool is_active() { return m_active; } - + private: void on_open(http_manager::websocket_endpoint_ptr endpoint, void *onnection); @@ -169,26 +169,26 @@ private: void on_close(http_manager::websocket_endpoint_ptr endpoint, void *connection, int status, const std::string& reason); void on_error(http_manager::websocket_endpoint_ptr endpoint, void *connection, const std::error_code& error_code); - + bool read_file(std::ostream &os, const std::string &path); - + bool m_active; - + std::shared_ptr<asio::io_context> m_io_context; std::unique_ptr<webpp::http_server> m_server; std::unique_ptr<webpp::ws_server> m_wsserver; std::thread m_server_thread; std::string m_root; - + std::unordered_map<std::string, http_handler> m_handlers; std::mutex m_handlers_mutex; - + std::unordered_map<std::string, websocket_endpoint_ptr> m_endpoints; std::mutex m_endpoints_mutex; - + std::unordered_map<void *, websocket_connection_ptr> m_connections; // the keys are really webpp::ws_server::Connection pointers std::mutex m_connections_mutex; - + }; diff --git a/src/emu/image.cpp b/src/emu/image.cpp index cd7329b13ef..e93362c6603 100644 --- a/src/emu/image.cpp +++ b/src/emu/image.cpp @@ -191,8 +191,8 @@ void image_manager::options_extract() // 2. When is_reset_on_load(), and this results in a device being unmounted (unmounting is_reset_and_load() // doesn't force an unmount). // - // Note that as a part of #2, we cannot extract the option when the image in question is a part of an - // active reset_on_load; hence the check for is_reset_and_loading() (see issue #2414) + // Note that as a part of #2, we cannot extract the option when the image in question is a part of an + // active reset_on_load; hence the check for is_reset_and_loading() (see issue #2414) if (!image.is_reset_on_load() || (!image.exists() && !image.is_reset_and_loading() && !machine().options().image_option(image.instance_name()).value().empty())) { diff --git a/src/emu/machine.cpp b/src/emu/machine.cpp index 68b4b170b6c..a2f8ba48752 100644 --- a/src/emu/machine.cpp +++ b/src/emu/machine.cpp @@ -1209,7 +1209,7 @@ void running_machine::export_http_api() writer.EndArray(); writer.EndObject(); - + response->set_status(200); response->set_content_type("application/json"); response->set_body(s.GetString()); diff --git a/src/frontend/mame/ui/selsoft.cpp b/src/frontend/mame/ui/selsoft.cpp index 8b76a6ef3ad..9e71a42f2a6 100644 --- a/src/frontend/mame/ui/selsoft.cpp +++ b/src/frontend/mame/ui/selsoft.cpp @@ -1428,7 +1428,7 @@ void bios_selection::handle() moptions.set_value(OPTION_SOFTWARENAME, ui_swinfo->listname + ":" + ui_swinfo->shortname, OPTION_PRIORITY_CMDLINE); - moptions.set_value(OPTION_SNAPNAME, + moptions.set_value(OPTION_SNAPNAME, ui_swinfo->listname + std::string(PATH_SEPARATOR) + ui_swinfo->shortname, OPTION_PRIORITY_CMDLINE); reselect_last::driver = drivlist.driver().name; diff --git a/src/lib/util/server_ws.hpp b/src/lib/util/server_ws.hpp index 41e8cda3287..ad9887c38dd 100644 --- a/src/lib/util/server_ws.hpp +++ b/src/lib/util/server_ws.hpp @@ -80,7 +80,7 @@ namespace webpp { std::string remote_endpoint_address; unsigned short remote_endpoint_port; - + std::shared_ptr<Connection> ptr() { return this->shared_from_this(); } @@ -432,7 +432,7 @@ namespace webpp { } } } - + void write_handshake(const std::shared_ptr<Connection> &connection, const std::shared_ptr<asio::streambuf> &read_buffer) { //Find path- and method-match, and generate response std::lock_guard<std::mutex> lock(m_endpoint_mutex); diff --git a/src/mame/drivers/atlantis.cpp b/src/mame/drivers/atlantis.cpp index 6deb956f006..91c0a1371e8 100644 --- a/src/mame/drivers/atlantis.cpp +++ b/src/mame/drivers/atlantis.cpp @@ -18,12 +18,12 @@ * M4T28-8R128H1 TimeKeeper RTC/CMOS * PLX PCI9050 Bus Target Interface Chip (interfaces ISA-style designs to PCI) * Midway Zeus-series custom video - * Actiontec PM560LKI PCI Data/Fax Modem (PCI\VEN_11C1&DEV_0480&SUBSYS_04801668) - * TL16c552 dual UART - * ADSP-2181 based DCS2 audio (unclear which variant) - * Cirrus Logic CS4338 16 bit stereo audio serial DAC, PCB has space for 3 chips (6-channels), only 1 is populated - * Maxim MAX192 8 channel 10 bit serial ADC - * PIC16C57 (protection? serial #?) + * Actiontec PM560LKI PCI Data/Fax Modem (PCI\VEN_11C1&DEV_0480&SUBSYS_04801668) + * TL16c552 dual UART + * ADSP-2181 based DCS2 audio (unclear which variant) + * Cirrus Logic CS4338 16 bit stereo audio serial DAC, PCB has space for 3 chips (6-channels), only 1 is populated + * Maxim MAX192 8 channel 10 bit serial ADC + * PIC16C57 (protection? serial #?) * Quantum Fireball CX 6.4GB IDE HDD (C/H/S 13328/15/63) TODO: diff --git a/src/mame/drivers/blackt96.cpp b/src/mame/drivers/blackt96.cpp index fe2fc8ca568..5085a8d7500 100644 --- a/src/mame/drivers/blackt96.cpp +++ b/src/mame/drivers/blackt96.cpp @@ -61,7 +61,7 @@ Bugs (all of these looks BTANBs): 00E8E0: 6700 001A beq $e8fc 00E8E4: 0C39 000F 00C0 008E cmpi.b #$f, $c0008e.l 00E8EC: 6700 000E beq $e8fc - 00E8F0: 33FC 2000 00C0 1982 move.w #$2000, $c01982.l // timer inited again??? + 00E8F0: 33FC 2000 00C0 1982 move.w #$2000, $c01982.l // timer inited again??? 00E8F8: 6100 0118 bsr $ea12 00E8FC: 4E75 rts --- @@ -73,7 +73,7 @@ Bugs (all of these looks BTANBs): - flip screen doesn't work properly, game code explicitly sets flip screen off & the correlated work RAM buffer at 0xee2 no matter the dip setting - + - some service mode items are buggy or not functioning properly (font, color, inputs, sound, 2nd item); */ @@ -103,19 +103,19 @@ public: required_device<gfxdecode_device> m_gfxdecode; required_device<palette_device> m_palette; required_device<snk68_spr_device> m_sprites; - + tilemap_t *m_tx_tilemap; - + DECLARE_WRITE8_MEMBER(output_w); DECLARE_WRITE8_MEMBER(sound_cmd_w); DECLARE_WRITE16_MEMBER(tx_vram_w); - + DECLARE_WRITE8_MEMBER(blackt96_soundio_port00_w); DECLARE_READ8_MEMBER(blackt96_soundio_port01_r); DECLARE_WRITE8_MEMBER(blackt96_soundio_port01_w); DECLARE_READ8_MEMBER(blackt96_soundio_port02_r); DECLARE_WRITE8_MEMBER(blackt96_soundio_port02_w); - + TILE_GET_INFO_MEMBER(get_tx_tile_info); void tile_callback(int &tile, int& fx, int& fy, int& region); @@ -158,7 +158,7 @@ uint32_t blackt96_state::screen_update_blackt96(screen_device &screen, bitmap_in m_sprites->draw_sprites_all(bitmap, cliprect); m_tx_tilemap->draw(screen,bitmap, cliprect, 0, 0); - + return 0; } @@ -183,8 +183,8 @@ WRITE8_MEMBER(blackt96_state::output_w) m_sprites->set_flip(data & 0x08); machine().bookkeeping().coin_counter_w(0, data & 1); machine().bookkeeping().coin_counter_w(1, data & 2); - -// printf("blackt96_c0000_w %04x %04x\n",data & 0xfc,mem_mask); + +// printf("blackt96_c0000_w %04x %04x\n",data & 0xfc,mem_mask); } WRITE16_MEMBER(blackt96_state::tx_vram_w) @@ -198,7 +198,7 @@ static ADDRESS_MAP_START( blackt96_map, AS_PROGRAM, 16, blackt96_state ) AM_RANGE(0x080000, 0x080001) AM_READ_PORT("P1_P2") AM_WRITE8(sound_cmd_w,0xff00) // soundlatch AM_RANGE(0x0c0000, 0x0c0001) AM_READ_PORT("IN1") AM_WRITE8(output_w,0x00ff) // COIN INPUT AM_RANGE(0x0e0000, 0x0e0001) AM_READ( random_r ) // unk, from sound? - called in tandem with result discarded, watchdog? - AM_RANGE(0x0e8000, 0x0e8001) AM_READ( random_r ) // unk, from sound? / + AM_RANGE(0x0e8000, 0x0e8001) AM_READ( random_r ) // unk, from sound? / AM_RANGE(0x0f0000, 0x0f0001) AM_READ_PORT("DSW1") AM_RANGE(0x0f0008, 0x0f0009) AM_READ_PORT("DSW2") AM_WRITENOP // service mode, left-over? diff --git a/src/mame/drivers/cbuster.cpp b/src/mame/drivers/cbuster.cpp index c6a7c401a8f..ca77041ba30 100644 --- a/src/mame/drivers/cbuster.cpp +++ b/src/mame/drivers/cbuster.cpp @@ -10,14 +10,14 @@ The 'FX' board is filled with 'FU' roms except for the 4 program roms, both boards have 'export' stickers which usually indicates a World version. Maybe one is a UK or European version. Some boards exist with 'FU-1' roms - which are binary identical to the FX roms. + which are binary identical to the FX roms. The FX/FU-1 roms are largely translation corrections from the first revision: - + THEIR SOLDIERS ARE ARMED WITH THE ADVANCED AND BIZARRE WEAPONS -> THEIR SOLDIERS ARE ARMED WITH THE MOST ADVANCED AND BIZARRE WEAPONS. etc - + DE-0333-3 PCB Data East 59 - 64 pin (68k) diff --git a/src/mame/drivers/crystal.cpp b/src/mame/drivers/crystal.cpp index da8af85e952..a7ebc2a30db 100644 --- a/src/mame/drivers/crystal.cpp +++ b/src/mame/drivers/crystal.cpp @@ -183,7 +183,7 @@ CC-DAC is a TDA1311A Stereo Continuous Calibration DAC Service Switch | P | 14| Video GND Video Horizontal Sync | R | 15| Test Switch | S | 16| Coin Switch - Start Player 2 | T | 17| Start Player 1 + Start Player 2 | T | 17| Start Player 1 | U | 18| | V | 19| | W | 20| diff --git a/src/mame/drivers/dec8.cpp b/src/mame/drivers/dec8.cpp index ed5bbba9517..34de82cd449 100644 --- a/src/mame/drivers/dec8.cpp +++ b/src/mame/drivers/dec8.cpp @@ -2021,7 +2021,7 @@ static MACHINE_CONFIG_START( lastmisn ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", shackled) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn) /* sound hardware */ @@ -2075,7 +2075,7 @@ static MACHINE_CONFIG_START( shackled ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", shackled) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,shackled) /* sound hardware */ @@ -2129,7 +2129,7 @@ static MACHINE_CONFIG_START( gondo ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", gondo) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,gondo) /* sound hardware */ @@ -2183,7 +2183,7 @@ static MACHINE_CONFIG_START( garyoret ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", gondo) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,garyoret) /* sound hardware */ @@ -2298,7 +2298,7 @@ static MACHINE_CONFIG_START( csilver ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", shackled) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,lastmisn) /* sound hardware */ @@ -2361,7 +2361,7 @@ static MACHINE_CONFIG_START( oscar ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", oscar) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(1024) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,oscar) /* sound hardware */ @@ -2407,7 +2407,7 @@ static MACHINE_CONFIG_START( srdarwin ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", srdarwin) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(144) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,srdarwin) /* sound hardware */ @@ -2465,7 +2465,7 @@ static MACHINE_CONFIG_START( cobracom ) MCFG_GFXDECODE_ADD("gfxdecode", "palette", cobracom) MCFG_DEVICE_ADD("palette", DECO_RMC3, 0) // xxxxBBBBGGGGRRRR with custom weighting MCFG_DECO_RMC3_SET_PALETTE_SIZE(256) - + MCFG_VIDEO_START_OVERRIDE(dec8_state,cobracom) /* sound hardware */ @@ -3756,7 +3756,7 @@ GAME( 1987, oscarj2, oscar, oscar, oscarj, dec8_state, oscar, R GAME( 1987, srdarwin, 0, srdarwin, srdarwin, dec8_state, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (World)", MACHINE_SUPPORTS_SAVE ) GAME( 1987, srdarwinj, srdarwin, srdarwin, srdarwinj, dec8_state, srdarwin, ROT270, "Data East Corporation", "Super Real Darwin (Japan)", MACHINE_SUPPORTS_SAVE ) -// Unlike most Deco games of this period Cobra Command does not seem to have a Data East USA release. Instead the Data East Corporation release +// Unlike most Deco games of this period Cobra Command does not seem to have a Data East USA release. Instead the Data East Corporation release // was used in the US as evidenced by boards with the EL romset bearing AAMA seal stickers (American Amusement Machine Association) GAME( 1988, cobracom, 0, cobracom, cobracom, dec8_state, cobracom, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 5)", MACHINE_SUPPORTS_SAVE ) GAME( 1988, cobracoma, cobracom, cobracom, cobracom, dec8_state, cobracom, ROT0, "Data East Corporation", "Cobra-Command (World/US revision 4)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/dectalk.cpp b/src/mame/drivers/dectalk.cpp index bd985c73c3b..3a74fd8ebce 100644 --- a/src/mame/drivers/dectalk.cpp +++ b/src/mame/drivers/dectalk.cpp @@ -980,7 +980,7 @@ ROM_START( dectalk ) // older dsp firmware from earlier dectalk firmware 2.0 units, both proms are 82s191 equivalent; this firmware clips with the 1.8 dectalk firmware ROM_LOAD16_BYTE("23-205f4.e70", 0x000, 0x800, CRC(ed76a3ad) SHA1(3136bae243ef48721e21c66fde70dab5fc3c21d0)) // Label: "LM8506205F4 // M1-76161-5" @ E70 ROM_LOAD16_BYTE("23-204f4.e69", 0x001, 0x800, CRC(79bb54ff) SHA1(9409f90f7a397b041e4440341f2d7934cb479285)) // Label: "LM8504204F4 // 78S191" @ E69 - // older dsp firmware from dectalk firmware 1.8 units; while this firmware works with 2.0 dectalk firmware, its a bit quieter than the proper one. + // older dsp firmware from dectalk firmware 1.8 units; while this firmware works with 2.0 dectalk firmware, its a bit quieter than the proper one. ROM_LOAD16_BYTE("23-166f4.e70", 0x000, 0x800, CRC(2d036ffc) SHA1(e8c25ca092dde2dc0aec73921af806026bdfbbc3)) // HM1-76161-5 ROM_LOAD16_BYTE("23-165f4.e69", 0x001, 0x800, CRC(a3019ca4) SHA1(249f269c38f7f44edb6d025bcc867c8ca0de3e9c)) // HM1-76161-5 diff --git a/src/mame/drivers/hh_sm510.cpp b/src/mame/drivers/hh_sm510.cpp index 2fa5a5d4e7c..2d6b0eb6ff0 100644 --- a/src/mame/drivers/hh_sm510.cpp +++ b/src/mame/drivers/hh_sm510.cpp @@ -48,7 +48,7 @@ public: // misc common u16 m_inp_mux; // multiplexed inputs mask int m_inp_lines; // number of input mux columns - + u8 read_inputs(int columns); virtual void update_k_line(); @@ -124,7 +124,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(hh_sm510_state::display_decay_tick) { u8 z_mask = (1 << m_display_z_len) - 1; u8 zx_len = 1 << (m_display_x_len + m_display_z_len); - + for (int zx = 0; zx < zx_len; zx++) { for (int y = 0; y < m_display_y_len; y++) @@ -153,7 +153,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(hh_sm510_state::display_decay_tick) char buf[0x10]; sprintf(buf, "%d.%d.%d", zx >> m_display_z_len, y, zx & z_mask); output().set_value(buf, active_state); - + m_display_cache[y][zx] = active_state; } } diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp index 77271036acf..f6a2543960b 100644 --- a/src/mame/drivers/hh_tms1k.cpp +++ b/src/mame/drivers/hh_tms1k.cpp @@ -6426,7 +6426,7 @@ WRITE16_MEMBER(arcmania_state::write_o) // O3,O4,O6: input mux m_inp_mux = (data >> 3 & 3) | (data >> 4 & 4); - + // O5: power off when low (turn back on with button row 1) if (~data & 0x20) power_off(); diff --git a/src/mame/drivers/hp80.cpp b/src/mame/drivers/hp80.cpp index 4a55ca7f334..8ee1fbcdcaa 100644 --- a/src/mame/drivers/hp80.cpp +++ b/src/mame/drivers/hp80.cpp @@ -43,25 +43,25 @@ namespace { } // **** Constants **** -static constexpr unsigned MASTER_CLOCK = 9808000; +static constexpr unsigned MASTER_CLOCK = 9808000; // Video memory is actually made of 16384 4-bit nibbles static constexpr unsigned VIDEO_MEM_SIZE= 8192; static constexpr unsigned ALPHA_MEM_SIZE= 4096; static constexpr unsigned GRAPH_MEM_SIZE= 16384; -static constexpr unsigned CRT_STS_READY_BIT = 0; -static constexpr unsigned CRT_STS_DISPLAY_BIT = 1; -//static constexpr unsigned CRT_STS_BUSY_BIT = 7; -static constexpr unsigned CRT_CTL_RD_RQ_BIT = 0; -static constexpr unsigned CRT_CTL_WIPEOUT_BIT = 1; -static constexpr unsigned CRT_CTL_POWERDN_BIT = 2; -static constexpr unsigned CRT_CTL_GRAPHICS_BIT = 7; -static constexpr unsigned IRQ_KEYBOARD_BIT = 0; -static constexpr unsigned IRQ_TIMER0_BIT = 1; -static constexpr unsigned TIMER_COUNT = 4; -static constexpr unsigned IRQ_IOP0_BIT = IRQ_TIMER0_BIT + TIMER_COUNT; -static constexpr unsigned IOP_COUNT = 0; -static constexpr unsigned IRQ_BIT_COUNT = IRQ_IOP0_BIT + IOP_COUNT; -static constexpr unsigned NO_IRQ = IRQ_BIT_COUNT; +static constexpr unsigned CRT_STS_READY_BIT = 0; +static constexpr unsigned CRT_STS_DISPLAY_BIT = 1; +//static constexpr unsigned CRT_STS_BUSY_BIT = 7; +static constexpr unsigned CRT_CTL_RD_RQ_BIT = 0; +static constexpr unsigned CRT_CTL_WIPEOUT_BIT = 1; +static constexpr unsigned CRT_CTL_POWERDN_BIT = 2; +static constexpr unsigned CRT_CTL_GRAPHICS_BIT = 7; +static constexpr unsigned IRQ_KEYBOARD_BIT = 0; +static constexpr unsigned IRQ_TIMER0_BIT = 1; +static constexpr unsigned TIMER_COUNT = 4; +static constexpr unsigned IRQ_IOP0_BIT = IRQ_TIMER0_BIT + TIMER_COUNT; +static constexpr unsigned IOP_COUNT = 0; +static constexpr unsigned IRQ_BIT_COUNT = IRQ_IOP0_BIT + IOP_COUNT; +static constexpr unsigned NO_IRQ = IRQ_BIT_COUNT; // ************ // hp85_state @@ -251,11 +251,11 @@ WRITE_LINE_MEMBER(hp85_state::vblank_w) // Vector table (indexed by bit no. in m_int_serv) static const uint8_t vector_table[] = { - 0x04, // Keyboard - 0x08, // Timer 0 - 0x0a, // Timer 1 - 0x0c, // Timer 2 - 0x0e // Timer 3 + 0x04, // Keyboard + 0x08, // Timer 0 + 0x0a, // Timer 1 + 0x0c, // Timer 2 + 0x0e // Timer 3 }; IRQ_CALLBACK_MEMBER(hp85_state::irq_callback) @@ -401,86 +401,86 @@ WRITE8_MEMBER(hp85_state::rselec_w) // Inner index: SHIFT state (0 = no SHIFT, 1 = SHIFT) static const uint8_t keyboard_table[ 80 ][ 2 ] = { // -- SHIFT - { 0xa2 , 0xac }, // 0,0: Down / Auto - { 0xa1 , 0xa5 }, // 0,1: Up / Home - { 0x83 , 0x87 }, // 0,2: k4 / k8 - { 0x82 , 0x86 }, // 0,3: k3 / k7 - { 0x81 , 0x85 }, // 0,4: k2 / k6 - { 0x80 , 0x84 }, // 0,5: k1 / k5 - { 0x96 , 0x60 }, // 0,6: LABEL KEY - { 0xff , 0xff }, // 0,7: N/U - { 0x38 , 0x2a }, // 1,0: 8 - { 0x37 , 0x26 }, // 1,1: 7 - { 0x36 , 0x5e }, // 1,2: 6 - { 0x35 , 0x25 }, // 1,3: 5 - { 0x34 , 0x24 }, // 1,4: 4 - { 0x33 , 0x23 }, // 1,5: 3 - { 0x32 , 0x40 }, // 1,6: 2 - { 0x31 , 0x21 }, // 1,7: 1 - { 0x49 , 0x69 }, // 2,0: I - { 0x55 , 0x75 }, // 2,1: U - { 0x59 , 0x79 }, // 2,2: Y - { 0x54 , 0x74 }, // 2,3: T - { 0x52 , 0x72 }, // 2,4: R - { 0x45 , 0x65 }, // 2,5: E - { 0x57 , 0x77 }, // 2,6: W - { 0x51 , 0x71 }, // 2,7: Q - { 0x4b , 0x6b }, // 3,0: K - { 0x4a , 0x6a }, // 3,1: J - { 0x48 , 0x68 }, // 3,2: H - { 0x47 , 0x67 }, // 3,3: G - { 0x46 , 0x66 }, // 3,4: F - { 0x44 , 0x64 }, // 3,5: D - { 0x53 , 0x73 }, // 3,6: S - { 0x41 , 0x61 }, // 3,7: A - { 0x4d , 0x6d }, // 4,0: M - { 0x4e , 0x6e }, // 4,1: N - { 0x42 , 0x62 }, // 4,2: B - { 0x56 , 0x76 }, // 4,3: V - { 0x43 , 0x63 }, // 4,4: C - { 0x58 , 0x78 }, // 4,5: X - { 0x5a , 0x7a }, // 4,6: Z - { 0x20 , 0x20 }, // 4,7: Space - { 0x2c , 0x3c }, // 5,0: , - { 0x2e , 0x3e }, // 5,1: . - { 0x2f , 0x3f }, // 5,2: / ? - { 0x8e , 0x90 }, // 5,3: PAUSE / STEP - { 0x8d , 0x8d }, // 5,4: RUN - { 0x2b , 0x7f }, // 5,5: KP + - { 0x2d , 0x7d }, // 5,6: KP - - { 0x2a , 0x7e }, // 5,7: KP * - { 0x4c , 0x6c }, // 6,0: L - { 0x3b , 0x3a }, // 6,1: ; - { 0x27 , 0x22 }, // 6,2: ' " - { 0x9a , 0x9a }, // 6,3: END LINE - { 0x94 , 0x95 }, // 6,4: LIST / P LST - { 0xff , 0xff }, // 6,5: N/U - { 0xff , 0xff }, // 6,6: N/U - { 0x2f , 0x7b }, // 6,7: KP / - { 0x4f , 0x6f }, // 7,0: O - { 0x50 , 0x70 }, // 7,1: P - { 0x28 , 0x5b }, // 7,2: ( [ - { 0x29 , 0x5d }, // 7,3: ) ] - { 0x8f , 0xad }, // 7,4: CONT / SCRATCH - { 0xa0 , 0x92 }, // 7,5: -LINE / CLEAR - { 0x29 , 0x8c }, // 7,6: ) INIT - { 0xff , 0xff }, // 7,7: N/U - { 0x39 , 0x28 }, // 8,0: 9 - { 0x30 , 0x29 }, // 8,1: 0 - { 0x2d , 0x5f }, // 8,2: - _ - { 0x3d , 0x2b }, // 8,3: = + - { 0x5c , 0x7c }, // 8,4: \ | - { 0x99 , 0x9b }, // 8,5: BS - { 0x28 , 0x8b }, // 8,6: ( RESET - { 0x5e , 0xa6 }, // 8,7: ^ / RESLT - { 0x9c , 0x93 }, // 9,0: LEFT / GRAPH - { 0x9d , 0x89 }, // 9,1: RIGHT / COPY - { 0xa3 , 0xa3 }, // 9,2: RPL / INS - { 0xa4 , 0xa8 }, // 9,3: -CHAR / DEL - { 0x9f , 0x9e }, // 9,4: ROLL - { 0xaa , 0x88 }, // 9,5: LOAD / REW - { 0xa9 , 0x91 }, // 9,6: STORE / TEST - { 0x8a , 0x8a } // 9,7: PAPER ADVANCE + { 0xa2 , 0xac }, // 0,0: Down / Auto + { 0xa1 , 0xa5 }, // 0,1: Up / Home + { 0x83 , 0x87 }, // 0,2: k4 / k8 + { 0x82 , 0x86 }, // 0,3: k3 / k7 + { 0x81 , 0x85 }, // 0,4: k2 / k6 + { 0x80 , 0x84 }, // 0,5: k1 / k5 + { 0x96 , 0x60 }, // 0,6: LABEL KEY + { 0xff , 0xff }, // 0,7: N/U + { 0x38 , 0x2a }, // 1,0: 8 + { 0x37 , 0x26 }, // 1,1: 7 + { 0x36 , 0x5e }, // 1,2: 6 + { 0x35 , 0x25 }, // 1,3: 5 + { 0x34 , 0x24 }, // 1,4: 4 + { 0x33 , 0x23 }, // 1,5: 3 + { 0x32 , 0x40 }, // 1,6: 2 + { 0x31 , 0x21 }, // 1,7: 1 + { 0x49 , 0x69 }, // 2,0: I + { 0x55 , 0x75 }, // 2,1: U + { 0x59 , 0x79 }, // 2,2: Y + { 0x54 , 0x74 }, // 2,3: T + { 0x52 , 0x72 }, // 2,4: R + { 0x45 , 0x65 }, // 2,5: E + { 0x57 , 0x77 }, // 2,6: W + { 0x51 , 0x71 }, // 2,7: Q + { 0x4b , 0x6b }, // 3,0: K + { 0x4a , 0x6a }, // 3,1: J + { 0x48 , 0x68 }, // 3,2: H + { 0x47 , 0x67 }, // 3,3: G + { 0x46 , 0x66 }, // 3,4: F + { 0x44 , 0x64 }, // 3,5: D + { 0x53 , 0x73 }, // 3,6: S + { 0x41 , 0x61 }, // 3,7: A + { 0x4d , 0x6d }, // 4,0: M + { 0x4e , 0x6e }, // 4,1: N + { 0x42 , 0x62 }, // 4,2: B + { 0x56 , 0x76 }, // 4,3: V + { 0x43 , 0x63 }, // 4,4: C + { 0x58 , 0x78 }, // 4,5: X + { 0x5a , 0x7a }, // 4,6: Z + { 0x20 , 0x20 }, // 4,7: Space + { 0x2c , 0x3c }, // 5,0: , + { 0x2e , 0x3e }, // 5,1: . + { 0x2f , 0x3f }, // 5,2: / ? + { 0x8e , 0x90 }, // 5,3: PAUSE / STEP + { 0x8d , 0x8d }, // 5,4: RUN + { 0x2b , 0x7f }, // 5,5: KP + + { 0x2d , 0x7d }, // 5,6: KP - + { 0x2a , 0x7e }, // 5,7: KP * + { 0x4c , 0x6c }, // 6,0: L + { 0x3b , 0x3a }, // 6,1: ; + { 0x27 , 0x22 }, // 6,2: ' " + { 0x9a , 0x9a }, // 6,3: END LINE + { 0x94 , 0x95 }, // 6,4: LIST / P LST + { 0xff , 0xff }, // 6,5: N/U + { 0xff , 0xff }, // 6,6: N/U + { 0x2f , 0x7b }, // 6,7: KP / + { 0x4f , 0x6f }, // 7,0: O + { 0x50 , 0x70 }, // 7,1: P + { 0x28 , 0x5b }, // 7,2: ( [ + { 0x29 , 0x5d }, // 7,3: ) ] + { 0x8f , 0xad }, // 7,4: CONT / SCRATCH + { 0xa0 , 0x92 }, // 7,5: -LINE / CLEAR + { 0x29 , 0x8c }, // 7,6: ) INIT + { 0xff , 0xff }, // 7,7: N/U + { 0x39 , 0x28 }, // 8,0: 9 + { 0x30 , 0x29 }, // 8,1: 0 + { 0x2d , 0x5f }, // 8,2: - _ + { 0x3d , 0x2b }, // 8,3: = + + { 0x5c , 0x7c }, // 8,4: \ | + { 0x99 , 0x9b }, // 8,5: BS + { 0x28 , 0x8b }, // 8,6: ( RESET + { 0x5e , 0xa6 }, // 8,7: ^ / RESLT + { 0x9c , 0x93 }, // 9,0: LEFT / GRAPH + { 0x9d , 0x89 }, // 9,1: RIGHT / COPY + { 0xa3 , 0xa3 }, // 9,2: RPL / INS + { 0xa4 , 0xa8 }, // 9,3: -CHAR / DEL + { 0x9f , 0x9e }, // 9,4: ROLL + { 0xaa , 0x88 }, // 9,5: LOAD / REW + { 0xa9 , 0x91 }, // 9,6: STORE / TEST + { 0x8a , 0x8a } // 9,7: PAPER ADVANCE }; bool hp85_state::kb_scan_ioport(ioport_value pressed , unsigned idx_base , uint8_t& keycode) @@ -654,95 +654,95 @@ static INPUT_PORTS_START(hp85) // n = r / 4 // b = (r % 4) * 8 + c PORT_START("KEY0") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_NAME("Down AUTO") // 0,0: Down / Auto - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP)) PORT_NAME("Up Home") // 0,1: Up / Home - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_NAME("k4 k8") // 0,2: k4 / k8 - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_NAME("k3 k7") // 0,3: k3 / k7 - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_NAME("k2 k6") // 0,4: k2 / k6 - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_NAME("k1 k5") // 0,5: k1 / k5 - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LABEL KEY") // 0,6: LABEL KEY - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) // 0,7: N/U - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*') // 1,0: 8 - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&') // 1,1: 7 - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^') // 1,2: 6 - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') // 1,3: 5 - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') // 1,4: 4 - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') // 1,5: 3 - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@') // 1,6: 2 - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') // 1,7: 1 - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') // 2,0: I - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') // 2,1: U - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') // 2,2: Y - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') // 2,3: T - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') // 2,4: R - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') // 2,5: E - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') // 2,6: W - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') // 2,7: Q - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') // 3,0: K - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') // 3,1: J - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') // 3,2: H - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') // 3,3: G - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') // 3,4: F - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') // 3,5: D - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') // 3,6: S - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') // 3,7: A + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) PORT_NAME("Down AUTO") // 0,0: Down / Auto + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP)) PORT_NAME("Up Home") // 0,1: Up / Home + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F4) PORT_CHAR(UCHAR_MAMEKEY(F4)) PORT_NAME("k4 k8") // 0,2: k4 / k8 + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F3) PORT_CHAR(UCHAR_MAMEKEY(F3)) PORT_NAME("k3 k7") // 0,3: k3 / k7 + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F2) PORT_CHAR(UCHAR_MAMEKEY(F2)) PORT_NAME("k2 k6") // 0,4: k2 / k6 + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F1) PORT_CHAR(UCHAR_MAMEKEY(F1)) PORT_NAME("k1 k5") // 0,5: k1 / k5 + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LABEL KEY") // 0,6: LABEL KEY + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_UNUSED) // 0,7: N/U + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('*') // 1,0: 8 + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&') // 1,1: 7 + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('^') // 1,2: 6 + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR('%') // 1,3: 5 + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('$') // 1,4: 4 + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('#') // 1,5: 3 + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('@') // 1,6: 2 + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('!') // 1,7: 1 + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I') // 2,0: I + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U') // 2,1: U + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y') // 2,2: Y + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T') // 2,3: T + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R') // 2,4: R + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E') // 2,5: E + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W') // 2,6: W + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q') // 2,7: Q + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K') // 3,0: K + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J') // 3,1: J + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H') // 3,2: H + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G') // 3,3: G + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F') // 3,4: F + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D') // 3,5: D + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S') // 3,6: S + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A') // 3,7: A PORT_START("KEY1") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') // 4,0: M - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') // 4,1: N - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') // 4,2: B - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') // 4,3: V - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') // 4,4: C - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') // 4,5: X - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') // 4,6: Z - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') // 4,7: Space - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') // 5,0: , - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') // 5,1: . - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') // 5,2: / ? - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("PAUSE STEP") // 5,3: PAUSE / STEP - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("RUN") // 5,4: RUN - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("KP +") // 5,5: KP + - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_NAME("KP -") // 5,6: KP - - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("KP *") // 5,7: KP * (not sure) - PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') // 6,0: L - PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') // 6,1: ; - PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"') // 6,2: ' " - PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) PORT_NAME("END LINE") // 6,3: END LINE - PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LIST P LST") // 6,4: LIST / P LST - PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) // 6,5: N/U - PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) // 6,6: N/U - PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_NAME("KP /") // 6,7: KP / - PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') // 7,0: O - PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') // 7,1: P - PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('(') PORT_CHAR('[') // 7,2: ( [ - PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(')') PORT_CHAR(']') // 7,3: ) ] - PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("CONT SCRATCH") // 7,4: CONT / SCRATCH - PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("-LINE CLEAR") // 7,5: -LINE / CLEAR - PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME(") INIT") // 7,6: ) INIT - PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) // 7,7: N/U + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M') // 4,0: M + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N') // 4,1: N + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B') // 4,2: B + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V') // 4,3: V + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C') // 4,4: C + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X') // 4,5: X + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z') // 4,6: Z + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') // 4,7: Space + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',') PORT_CHAR('<') // 5,0: , + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.') PORT_CHAR('>') // 5,1: . + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR('/') PORT_CHAR('?') // 5,2: / ? + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("PAUSE STEP") // 5,3: PAUSE / STEP + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("RUN") // 5,4: RUN + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PLUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(PLUS_PAD)) PORT_NAME("KP +") // 5,5: KP + + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS_PAD) PORT_CHAR(UCHAR_MAMEKEY(MINUS_PAD)) PORT_NAME("KP -") // 5,6: KP - + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ASTERISK) PORT_CHAR(UCHAR_MAMEKEY(ASTERISK)) PORT_NAME("KP *") // 5,7: KP * (not sure) + PORT_BIT(BIT_MASK(16) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L') // 6,0: L + PORT_BIT(BIT_MASK(17) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') // 6,1: ; + PORT_BIT(BIT_MASK(18) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR('\'') PORT_CHAR('"') // 6,2: ' " + PORT_BIT(BIT_MASK(19) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) PORT_NAME("END LINE") // 6,3: END LINE + PORT_BIT(BIT_MASK(20) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LIST P LST") // 6,4: LIST / P LST + PORT_BIT(BIT_MASK(21) , IP_ACTIVE_HIGH , IPT_UNUSED) // 6,5: N/U + PORT_BIT(BIT_MASK(22) , IP_ACTIVE_HIGH , IPT_UNUSED) // 6,6: N/U + PORT_BIT(BIT_MASK(23) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH_PAD) PORT_CHAR(UCHAR_MAMEKEY(SLASH_PAD)) PORT_NAME("KP /") // 6,7: KP / + PORT_BIT(BIT_MASK(24) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O') // 7,0: O + PORT_BIT(BIT_MASK(25) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P') // 7,1: P + PORT_BIT(BIT_MASK(26) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR('(') PORT_CHAR('[') // 7,2: ( [ + PORT_BIT(BIT_MASK(27) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(')') PORT_CHAR(']') // 7,3: ) ] + PORT_BIT(BIT_MASK(28) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("CONT SCRATCH") // 7,4: CONT / SCRATCH + PORT_BIT(BIT_MASK(29) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("-LINE CLEAR") // 7,5: -LINE / CLEAR + PORT_BIT(BIT_MASK(30) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME(") INIT") // 7,6: ) INIT + PORT_BIT(BIT_MASK(31) , IP_ACTIVE_HIGH , IPT_UNUSED) // 7,7: N/U PORT_START("KEY2") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(') // 8,0: 9 - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')') // 8,1: 0 - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_') // 8,2: - _ - PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+') // 8,3: = + - PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('\\') PORT_CHAR('|') // 8,4: \ | - PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) // 8,5: BS - PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("( RESET") // 8,6: ( RESET - PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("^ RESLT") // 8,7: ^ / RESLT - PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) PORT_NAME("Left GRAPH") // 9,0: LEFT / GRAPH - PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_NAME("Right COPY") // 9,1: RIGHT / COPY - PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_INSERT) PORT_NAME("RPL INS") // 9,2: RPL / INS - PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) PORT_NAME("-CHAR DEL") // 9,3: -CHAR / DEL - PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGDN) PORT_NAME("ROLL") // 9,4: ROLL - PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LOAD REW") // 9,5: LOAD / REW - PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("STORE TEST") // 9,6: STORE / TEST - PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("PAPER ADVANCE") // 9,7: PAPER ADVANCE + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(') // 8,0: 9 + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')') // 8,1: 0 + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('_') // 8,2: - _ + PORT_BIT(BIT_MASK(3) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR('=') PORT_CHAR('+') // 8,3: = + + PORT_BIT(BIT_MASK(4) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('\\') PORT_CHAR('|') // 8,4: \ | + PORT_BIT(BIT_MASK(5) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) // 8,5: BS + PORT_BIT(BIT_MASK(6) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("( RESET") // 8,6: ( RESET + PORT_BIT(BIT_MASK(7) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("^ RESLT") // 8,7: ^ / RESLT + PORT_BIT(BIT_MASK(8) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) PORT_NAME("Left GRAPH") // 9,0: LEFT / GRAPH + PORT_BIT(BIT_MASK(9) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT)) PORT_NAME("Right COPY") // 9,1: RIGHT / COPY + PORT_BIT(BIT_MASK(10) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_INSERT) PORT_NAME("RPL INS") // 9,2: RPL / INS + PORT_BIT(BIT_MASK(11) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) PORT_NAME("-CHAR DEL") // 9,3: -CHAR / DEL + PORT_BIT(BIT_MASK(12) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_PGDN) PORT_NAME("ROLL") // 9,4: ROLL + PORT_BIT(BIT_MASK(13) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("LOAD REW") // 9,5: LOAD / REW + PORT_BIT(BIT_MASK(14) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("STORE TEST") // 9,6: STORE / TEST + PORT_BIT(BIT_MASK(15) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_NAME("PAPER ADVANCE") // 9,7: PAPER ADVANCE PORT_START("MODKEYS") - PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) // Shift - PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_NAME("Shift lock") // Shift lock - PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) // Control + PORT_BIT(BIT_MASK(0) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LSHIFT) PORT_CHAR(UCHAR_SHIFT_1) // Shift + PORT_BIT(BIT_MASK(1) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_CAPSLOCK) PORT_TOGGLE PORT_NAME("Shift lock") // Shift lock + PORT_BIT(BIT_MASK(2) , IP_ACTIVE_HIGH , IPT_KEYBOARD) PORT_CODE(KEYCODE_LCONTROL) PORT_CHAR(UCHAR_SHIFT_2) // Control INPUT_PORTS_END diff --git a/src/mame/drivers/kinst.cpp b/src/mame/drivers/kinst.cpp index d3a6f558d0f..b74e9be2fe5 100644 --- a/src/mame/drivers/kinst.cpp +++ b/src/mame/drivers/kinst.cpp @@ -21,9 +21,9 @@ Guru-Readme for Killer Instinct 1 / Killer Instinct 2 Rare/Nintendo, 1994/1995 -This is a fighting game using a hard drive to hold the graphics + code, +This is a fighting game using a hard drive to hold the graphics + code, running on hardware made by Midway Manufacturing. -The hardware is using similar PCB technology to other Midway games +The hardware is using similar PCB technology to other Midway games of the era such as San Francisco Rush, Mortal Kombat 3, Cruis'n Exotica, War Gods etc. The majority of the IC's on the PCB are surface mounted. @@ -114,7 +114,7 @@ Notes: LED1 - H/Drive Activity LED LED2 - Sound Activity LED H/Drive - 2.5" IDE Hard Drive with 44-pin connector. Note the model is checked by the program and the game will not run unless it finds - the correct model. There is a modified Boot ROM available that allows it to work with any model HDD or a cheap Chinese $2 CF>IDE44 + the correct model. There is a modified Boot ROM available that allows it to work with any model HDD or a cheap Chinese $2 CF>IDE44 adapter. A cheap Chinese $5 SD>IDE44 adapter can also be used. - For KI1, Seagate Marathon 2.5" IDE hard drive, model ST9150AG (131MB formatted capacity) C/H/S = 419/13/47 = 131076608 bytes, labelled 'L1 KILLER INSTINCT DISK (C)1984 NINTENDO/RARE' @@ -127,12 +127,12 @@ Notes: - For KI labelled 'KI-U96 A-19489 (C)1994 NINTENDO/RARE' (PLCC44) - For KI2 labelled 'K12-U96 A-20351 (C)1996 NINTENDO/RARE' (PLCC44). Note if the PCB has this chip it is a dedicated KI2 PCB. If the software is replaced with KI 1 (boot ROM and HDD) the board will boot but immediately jumps to test mode and then freezes. - Also, the top title "Killer Instinct" flashes rapidly. If the sticker on U96 is missing (so can't be identified as a KI 2) and + Also, the top title "Killer Instinct" flashes rapidly. If the sticker on U96 is missing (so can't be identified as a KI 2) and someone has tried to make it run KI 1 and it has the above symptoms, it is likely a dedicated KI 2 PCB. EPM7032y - Altera EPM7032LC44-15T CPLD labelled 'K12-U1 A-20383 (C)1996 NINTENDO/RARE' (PLCC44) This IC is mounted on a small PCB (5772-14668-01) and connected between the IDE44 interface on the main board and the IDE44 Hard Drive. - It is used only with the KI2 conversion kit. This is mainly a protection device to stop game swaps on a KI 1 PCB. However if the - sub board is removed and all the EPROMs and HDD are changed, the main board will run Killer Instinct, providing U96 is the correct + It is used only with the KI2 conversion kit. This is mainly a protection device to stop game swaps on a KI 1 PCB. However if the + sub board is removed and all the EPROMs and HDD are changed, the main board will run Killer Instinct, providing U96 is the correct chip for KI. If U96 is the type for KI2, then the main board will only run KI2 and can't be converted to KI. HSync - 15.3846kHz VSync - 58.9634Hz @@ -166,10 +166,10 @@ Notes: BOOT ROMs for IDE HDD to Compact Flash conversion ------------------------------------------------- - Killer Instinct: + Killer Instinct: U98 - ST 27C4001 or 27C040 EPROM. File name = KI_L15DI.U98, CRC32 = 230F55FB - Killer Instinct 2 Dedicated PCB (U96 labelled 'K12-U96 A-20351') + Killer Instinct 2 Dedicated PCB (U96 labelled 'K12-U96 A-20351') U98 - ST 27C4001 or 27C040 EPROM. File name = KI2_L14P.U98.BIN, CRC32 = D80C937A Killer Instinct 2 on Killer Instinct 1 PCB (U96 labelled 'KI-U96 A-19489') with KI 2 protection PCB 5772-14668-01 diff --git a/src/mame/drivers/m14.cpp b/src/mame/drivers/m14.cpp index 14ee7a6bc3c..937c0fc364d 100644 --- a/src/mame/drivers/m14.cpp +++ b/src/mame/drivers/m14.cpp @@ -17,7 +17,7 @@ TODO: Notes: - Unlike most Arcade games, if you call a ron but you don't have a legit hand you'll automatically lose the match. This is commonly named chombo in rii'chi mahjong rules; -- After getting a completed hand, press start 1 + ron + discard at the same time to go back +- After getting a completed hand, press start 1 + ron + discard at the same time to go back into attract mode (!); ============================================================================================== @@ -98,11 +98,11 @@ public: DECLARE_PALETTE_INIT(m14); uint32_t screen_update_m14(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); INTERRUPT_GEN_MEMBER(m14_irq); - + private: /* video-related */ tilemap_t *m_m14_tilemap; - + /* input-related */ //uint8_t m_hop_mux; uint8_t m_ballx,m_bally; @@ -259,14 +259,14 @@ static const char *const m14_sample_names[] = "*ptrmj", "wall_hit", // 1 "tile_hit", // 2 - "tick", // 0x40 + "tick", // 0x40 "ball_drop", // 8 "paddle_hit", nullptr }; - + WRITE8_MEMBER(m14_state::sound_w) -{ +{ switch(data) { case 1: // wall hit @@ -290,7 +290,7 @@ WRITE8_MEMBER(m14_state::sound_w) } } - + /************************************* * * Memory Map @@ -447,7 +447,7 @@ static MACHINE_CONFIG_START( m14 ) /* sound hardware */ - + MCFG_SPEAKER_STANDARD_MONO("mono") MCFG_SOUND_ADD("samples", SAMPLES, 0) MCFG_SAMPLES_CHANNELS(5) diff --git a/src/mame/drivers/m62.cpp b/src/mame/drivers/m62.cpp index 4e824a18ddd..faccc1fab67 100644 --- a/src/mame/drivers/m62.cpp +++ b/src/mame/drivers/m62.cpp @@ -779,13 +779,13 @@ INPUT_PORTS_END static const gfx_layout tile_charlayout = { - 8,8, - RGN_FRAC(1,3), - 3, + 8,8, + RGN_FRAC(1,3), + 3, { RGN_FRAC(2,3), RGN_FRAC(1,3), 0 }, { 0, 1, 2, 3, 4, 5, 6, 7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, - 8*8 + 8*8 }; @@ -1010,7 +1010,7 @@ static MACHINE_CONFIG_DERIVED( battroad, ldrun ) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_VISIBLE_AREA((64*8-256)/2, 64*8-(64*8-256)/2-1, 0*8, 32*8-1) MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_battroad) - + MCFG_GFXDECODE_ADD("fg_decode", "fg_palette", m62_fg_battroad) MCFG_PALETTE_ADD("fg_palette", 32) @@ -1075,7 +1075,7 @@ static MACHINE_CONFIG_DERIVED( lotlot, ldrun ) MCFG_PALETTE_ADD("fg_palette", 256) MCFG_PALETTE_INIT_OWNER(m62_state,m62_lotlot_fg) - + MCFG_VIDEO_START_OVERRIDE(m62_state,lotlot) MCFG_SCREEN_MODIFY("screen") MCFG_SCREEN_UPDATE_DRIVER(m62_state, screen_update_lotlot) diff --git a/src/mame/drivers/namcond1.cpp b/src/mame/drivers/namcond1.cpp index bb17c5598cf..73e596877f5 100644 --- a/src/mame/drivers/namcond1.cpp +++ b/src/mame/drivers/namcond1.cpp @@ -9,16 +9,16 @@ James Jenkins Walter Fath - abcheck TODOs: - - YGV608 brokenness - - Where is the extra data ROM mapped? - - To make abcheck run when the EEPROM is clear: - - F2 to enter service mode - - Player 3 A/B to navigate to GAME OPTIONS - - Player 1 A to enter, Player 1 B to cancel or go back - - Go to LOCAL SELECT and choose the Japanese city of your choice (I don't know what it affects yet) - - Exit test mode (F2) and reset (F3) and the game will boot + abcheck TODOs: + - YGV608 brokenness + - Where is the extra data ROM mapped? + + To make abcheck run when the EEPROM is clear: + - F2 to enter service mode + - Player 3 A/B to navigate to GAME OPTIONS + - Player 1 A to enter, Player 1 B to cancel or go back + - Go to LOCAL SELECT and choose the Japanese city of your choice (I don't know what it affects yet) + - Exit test mode (F2) and reset (F3) and the game will boot ----------------------------------- Guru-Readme for Namco ND-1 hardware @@ -80,10 +80,10 @@ Notes: LM1203 - National LM1203 RGB VIDEO AMP (DIP28). Note on some PCB revisions there is a capacitor glued on top of this chip. AT28C16 - Atmel 2k x8-bit EEPROM (DIP24) YGV608-F - Yamaha YVG608-F video controller (QFP100) - LT1109 - Linear Technology LT1109A DC/DC converter (SOIC8). Note on some PCB revisions this is not present. If the IC is required there + LT1109 - Linear Technology LT1109A DC/DC converter (SOIC8). Note on some PCB revisions this is not present. If the IC is required there is an additional 'SREG PCB' with the LT1109 and other support components present at this location. C416 - Namco custom (QFP176), Memory/DMA Controller - MACH210 - AMD MACH211 CPLD, used as Namco "KEYCUS" protection chip (PLCC44) + MACH210 - AMD MACH211 CPLD, used as Namco "KEYCUS" protection chip (PLCC44) - for Namco Classics 1 stamped 'KC001' at 3C - for Namco Classics 2 stamped 'KC002' at 3C - for Abnormal Check stamped 'KC008' at 3D @@ -97,7 +97,7 @@ Notes: ROMs: (note IC locations are different between GAME+GAME(B) and GAME(C) PCBs. - + Namco Classics Volume 1 ------------------------- NC2 MAIN0B.14D - 512k x16-bit EPROM type 27C240/27C4002 (for Japan: NC1) (revisions: MAIN0 or MAIN0B) @@ -151,7 +151,7 @@ The PCB contains the following parts.... Partial Pinout of J12 ---------------------- GND 10b 10a GND - ERROR 9b 9a + ERROR 9b 9a EMPTY 8b 8a BUSY 7b 7a 6b 6a @@ -216,12 +216,12 @@ static ADDRESS_MAP_START( abcheck_map, AS_PROGRAM, 16, namcond1_state ) ADDRESS_MAP_END READ16_MEMBER(namcond1_state::printer_r) -{ +{ // bits tested: // bit 2 = 0 for paper cut switch on, 1 for off // bit 4 = 0 for paper OK, 1 for empty // bit 5 = 1 for normal status, 0 for error - return 0x0020; + return 0x0020; } /*************************************************************/ @@ -261,7 +261,7 @@ INPUT_PORTS_END static INPUT_PORTS_START( abcheck ) PORT_INCLUDE( namcond1 ) - + PORT_MODIFY("P1_P2") PORT_BIT( 0x000f, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME("P1 A") @@ -273,7 +273,7 @@ static INPUT_PORTS_START( abcheck ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) PORT_NAME("P3 A") PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) PORT_NAME("P3 B") PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNUSED ) - + PORT_MODIFY("DSW") PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_UNUSED ) PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_COIN1 ) @@ -305,15 +305,15 @@ static ADDRESS_MAP_START( nd1h8rwmap, AS_PROGRAM, 16, namcond1_state ) AM_RANGE(0xc00010, 0xc00011) AM_NOP AM_RANGE(0xc00030, 0xc00031) AM_NOP AM_RANGE(0xc00040, 0xc00041) AM_NOP - AM_RANGE(0xffff1a, 0xffff1b) AM_NOP // abcheck - AM_RANGE(0xffff1e, 0xffff1f) AM_NOP // ^ + AM_RANGE(0xffff1a, 0xffff1b) AM_NOP // abcheck + AM_RANGE(0xffff1e, 0xffff1f) AM_NOP // ^ ADDRESS_MAP_END static ADDRESS_MAP_START( nd1h8iomap, AS_IO, 16, namcond1_state ) AM_RANGE(h8_device::PORT_7, h8_device::PORT_7) AM_READ(mcu_p7_read ) AM_RANGE(h8_device::PORT_A, h8_device::PORT_A) AM_READWRITE(mcu_pa_read, mcu_pa_write ) AM_RANGE(h8_device::ADC_0, h8_device::ADC_3) AM_NOP // MCU reads these, but the games have no analog controls - AM_RANGE(0x14, 0x17) AM_READNOP // abcheck + AM_RANGE(0x14, 0x17) AM_READNOP // abcheck ADDRESS_MAP_END INTERRUPT_GEN_MEMBER(namcond1_state::mcu_interrupt) @@ -346,7 +346,7 @@ static MACHINE_CONFIG_START( namcond1 ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, XTAL_49_152MHz/4) MCFG_CPU_PROGRAM_MAP(namcond1_map) -// MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold) +// MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold) MCFG_CPU_ADD("mcu", H83002, XTAL_49_152MHz/3 ) MCFG_CPU_PROGRAM_MAP( nd1h8rwmap) @@ -360,7 +360,7 @@ static MACHINE_CONFIG_START( namcond1 ) MCFG_YGV608_PALETTE("palette") MCFG_YGV608_VBLANK_HANDLER(WRITELINE(namcond1_state, vblank_irq_w)) MCFG_YGV608_RASTER_HANDLER(WRITELINE(namcond1_state, raster_irq_w)) - + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) /* @@ -390,8 +390,8 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( abcheck, namcond1 ) MCFG_CPU_REPLACE("maincpu", M68000, XTAL_49_152MHz/4) MCFG_CPU_PROGRAM_MAP(abcheck_map) -// MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold) - +// MCFG_CPU_VBLANK_INT_DRIVER("screen", namcond1_state, irq1_line_hold) + MCFG_NVRAM_ADD_0FILL("zpr1") MCFG_NVRAM_ADD_0FILL("zpr2") MACHINE_CONFIG_END @@ -475,34 +475,34 @@ ROM_END ROM_START( abcheck ) ROM_REGION( 0x100000,"maincpu", 0 ) /* 16MB for Main CPU */ - ROM_LOAD( "an1main0b.14e", 0x000000, 0x080000, CRC(f1b9777d) SHA1(b28f4106e1e145dc1aaa5af455b6f991d2b04c59) ) - ROM_LOAD( "an1main1b.13e", 0x080000, 0x080000, CRC(d40ccdcc) SHA1(05f864d84bf34a1722c598378ed8d27fba00f575) ) + ROM_LOAD( "an1main0b.14e", 0x000000, 0x080000, CRC(f1b9777d) SHA1(b28f4106e1e145dc1aaa5af455b6f991d2b04c59) ) + ROM_LOAD( "an1main1b.13e", 0x080000, 0x080000, CRC(d40ccdcc) SHA1(05f864d84bf34a1722c598378ed8d27fba00f575) ) ROM_REGION( 0x80000,"mcu", 0 ) /* sub CPU */ - ROM_LOAD( "an1sub.1d", 0x000000, 0x080000, CRC(50de9130) SHA1(470b3977f4bf12ca65bc42631ccdf81753ef56fd) ) + ROM_LOAD( "an1sub.1d", 0x000000, 0x080000, CRC(50de9130) SHA1(470b3977f4bf12ca65bc42631ccdf81753ef56fd) ) ROM_REGION( 0x400000,"ygv608", 0 ) /* 4MB character generator */ - ROM_LOAD( "an1cg0.10e", 0x000000, 0x200000, CRC(6dae0531) SHA1(2f4a4a22d461eb9a5bb88bdfccc3aff44cd3faee) ) - ROM_LOAD( "an1cg1.10f", 0x200000, 0x200000, CRC(8485607a) SHA1(1b9a1950c6db61a2b546fe2f5e56333593e93fb4) ) + ROM_LOAD( "an1cg0.10e", 0x000000, 0x200000, CRC(6dae0531) SHA1(2f4a4a22d461eb9a5bb88bdfccc3aff44cd3faee) ) + ROM_LOAD( "an1cg1.10f", 0x200000, 0x200000, CRC(8485607a) SHA1(1b9a1950c6db61a2b546fe2f5e56333593e93fb4) ) ROM_REGION( 0x1000000, "c352", 0 ) // Samples - ROM_LOAD( "an1voice.7c", 0x000000, 0x200000, CRC(d2bfa453) SHA1(6b7d6bb4d65290d8fd3df5d12b41ae7dce5f3f1c) ) + ROM_LOAD( "an1voice.7c", 0x000000, 0x200000, CRC(d2bfa453) SHA1(6b7d6bb4d65290d8fd3df5d12b41ae7dce5f3f1c) ) + + ROM_REGION( 0x80000, "data", 0 ) // game data? + ROM_LOAD( "an1dat0.ic1", 0x000000, 0x080000, CRC(44dc7da1) SHA1(dd57670a2b07c4988ca30bba134931c1701a926f) ) - ROM_REGION( 0x80000, "data", 0 ) // game data? - ROM_LOAD( "an1dat0.ic1", 0x000000, 0x080000, CRC(44dc7da1) SHA1(dd57670a2b07c4988ca30bba134931c1701a926f) ) - ROM_REGION( 0x8000, "zpr1", 0 ) - ROM_LOAD( "m48z30y.ic2", 0x000000, 0x008000, CRC(a816d989) SHA1(c78fe06b049c31cf8de2a79025823dbc0c95d526) ) - + ROM_LOAD( "m48z30y.ic2", 0x000000, 0x008000, CRC(a816d989) SHA1(c78fe06b049c31cf8de2a79025823dbc0c95d526) ) + ROM_REGION( 0x8000, "zpr2", 0 ) - ROM_LOAD( "m48z30y.ic3", 0x000000, 0x008000, CRC(bfa687bb) SHA1(463ae40f21b675f3b4155efda9c965b71519a49e) ) + ROM_LOAD( "m48z30y.ic3", 0x000000, 0x008000, CRC(bfa687bb) SHA1(463ae40f21b675f3b4155efda9c965b71519a49e) ) ROM_REGION( 0x800, "at28c16", 0 ) ROM_LOAD( "at28c16.12e", 0x000000, 0x000800, CRC(df92af14) SHA1(1ae8c318f1eb2628e97914d15a06779c7bb87506) ) ROM_REGION( 0x220000, "printer", 0 ) - ROM_LOAD( "np-b205_nmc_ver1.00.u9", 0x000000, 0x020000, CRC(445ceb0d) SHA1(49491b936f50577564196992df3a3c93aa3fcc99) ) - ROM_LOAD( "npg1624lc.u4", 0x020000, 0x200000, CRC(7e00254f) SHA1(b0fa8f979e8322d71f842de5358ae2a2e36386f7) ) + ROM_LOAD( "np-b205_nmc_ver1.00.u9", 0x000000, 0x020000, CRC(445ceb0d) SHA1(49491b936f50577564196992df3a3c93aa3fcc99) ) + ROM_LOAD( "npg1624lc.u4", 0x020000, 0x200000, CRC(7e00254f) SHA1(b0fa8f979e8322d71f842de5358ae2a2e36386f7) ) ROM_END GAME( 1995, ncv1, 0, namcond1, namcond1, namcond1_state, 0, ROT90, "Namco", "Namco Classic Collection Vol.1", MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/opwolf.cpp b/src/mame/drivers/opwolf.cpp index 1349520c843..abd1b36782f 100644 --- a/src/mame/drivers/opwolf.cpp +++ b/src/mame/drivers/opwolf.cpp @@ -918,9 +918,9 @@ MACHINE_CONFIG_END DRIVERS ***************************************************************************/ -/* +/* -Note about current c-chip eprom dump +Note about current c-chip eprom dump the current dump is bad because data with address bit 0x200 set is missing (always read out as 0xff) @@ -930,8 +930,8 @@ for example Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 00001128 07 80 02 09 03 00 4C -00001134 01 00 04 00 10 07 80 02 09 03 00 4C -00001140 01 40 04 00 20 +00001134 01 00 04 00 10 07 80 02 09 03 00 4C +00001140 01 40 04 00 20 is the following data from machine/opwolf.cpp diff --git a/src/mame/drivers/rbisland.cpp b/src/mame/drivers/rbisland.cpp index 9f5d3dda0d1..84ad16a0665 100644 --- a/src/mame/drivers/rbisland.cpp +++ b/src/mame/drivers/rbisland.cpp @@ -688,7 +688,7 @@ static MACHINE_CONFIG_START( jumping ) MCFG_CPU_ADD("audiocpu", Z80, XTAL_24MHz/4) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(jumping_sound_map) - + MCFG_QUANTUM_TIME(attotime::from_hz(600)) /* 10 CPU slices per frame - enough unless otherwise */ diff --git a/src/mame/drivers/retofinv.cpp b/src/mame/drivers/retofinv.cpp index 8bcbed96284..6c2b0197eba 100644 --- a/src/mame/drivers/retofinv.cpp +++ b/src/mame/drivers/retofinv.cpp @@ -54,7 +54,7 @@ Notes: | 14| R | Joystick Right | 15| S | Joystick Left | 16| T | - | 17| U | + | 17| U | | 18| V | | 19| W | | 20| X | @@ -81,7 +81,7 @@ Notes: | 14| R | | 15| S | | 16| T | - | 17| U | + | 17| U | +5V | 18| V | +5V diff --git a/src/mame/drivers/ron.cpp b/src/mame/drivers/ron.cpp index fb7efce214e..6a0dbbf4228 100644 --- a/src/mame/drivers/ron.cpp +++ b/src/mame/drivers/ron.cpp @@ -7,7 +7,7 @@ TODO: - colors; - dip switches; - - sound, especially f/f part; + - sound, especially f/f part; ============================================================================ Debug cheats: diff --git a/src/mame/drivers/sderby2.cpp b/src/mame/drivers/sderby2.cpp index 4ab8534bce4..07f8a4c4390 100644 --- a/src/mame/drivers/sderby2.cpp +++ b/src/mame/drivers/sderby2.cpp @@ -214,7 +214,7 @@ static ADDRESS_MAP_START( sub_program_map, AS_PROGRAM, 8, sderby2_state ) AM_RANGE(0xd800, 0xdbff) AM_RAM // 2KB Tested at 105B AM_RANGE(0xdc00, 0xdfff) AM_RAM // 2KB Tested at 10B7 - AM_RANGE(0xe000, 0xffff) AM_RAM // Tested at FE8 + AM_RANGE(0xe000, 0xffff) AM_RAM // Tested at FE8 ADDRESS_MAP_END static ADDRESS_MAP_START( sub_io_map, AS_IO, 8, sderby2_state ) diff --git a/src/mame/drivers/shootaway2.cpp b/src/mame/drivers/shootaway2.cpp index 71a31a0ad65..c438292d689 100644 --- a/src/mame/drivers/shootaway2.cpp +++ b/src/mame/drivers/shootaway2.cpp @@ -101,7 +101,7 @@ ROM_START(shootaw2) ROM_REGION(0x80000, "subcpu", 0) /* Z84C011 program ROM */ ROM_LOAD( "sas1_spr0.7f", 0x000000, 0x080000, CRC(3bc14ba3) SHA1(7a75281621f23107c5c3c1a09831be2f8bb93540) ) - ROM_REGION(0x2000, "at28c64", 0) /* AT28C64 parallel EEPROM (not yet supported by MAME) */ + ROM_REGION(0x2000, "at28c64", 0) /* AT28C64 parallel EEPROM (not yet supported by MAME) */ ROM_LOAD( "m28c64a.9l", 0x000000, 0x002000, CRC(d65d4176) SHA1(dd9b529a729685f9535ae7f060f67d75d70d9567) ) ROM_REGION(0x40000, "oki", 0) diff --git a/src/mame/drivers/socrates.cpp b/src/mame/drivers/socrates.cpp index 99515730a39..a9f114dac0b 100644 --- a/src/mame/drivers/socrates.cpp +++ b/src/mame/drivers/socrates.cpp @@ -237,7 +237,7 @@ private: Socrates Keyboard MCU simulation ******************************************************************************* -the tmp50c40 MCU seems to have an 8? word, 12 bit wide internal fifo, which is fed by IR decoded from the +the tmp50c40 MCU seems to have an 8? word, 12 bit wide internal fifo, which is fed by IR decoded from the remote keyboard. The socrates reads this data out via SPI? by asserting a /cs? bit when keyboard_buffer_update is written to. the bits are returned in two registers, handled by keyboard_buffer_read diff --git a/src/mame/drivers/system1.cpp b/src/mame/drivers/system1.cpp index 2a71036302f..a6d346a4d0d 100644 --- a/src/mame/drivers/system1.cpp +++ b/src/mame/drivers/system1.cpp @@ -5462,7 +5462,7 @@ GAME( 1985, pitfall2a, pitfall2, sys1piox_315_5093, pitfall2, system1_state, b GAME( 1985, pitfall2u, pitfall2, sys1pio, pitfall2u, system1_state, bank00, ROT0, "Sega", "Pitfall II (not encrypted)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, seganinj, 0, sys1piox_315_5102, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, seganinju, seganinj, sys1pio, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (not encrypted)", MACHINE_SUPPORTS_SAVE ) -GAME( 1985, seganinja, seganinj, sys1piox_315_5133, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE ) +GAME( 1985, seganinja, seganinj, sys1piox_315_5133, seganinj, system1_state, bank00, ROT0, "Sega", "Sega Ninja (315-5113)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, ninja, seganinj, sys1piox_315_5102, seganinj, system1_state, bank00, ROT0, "Sega", "Ninja (315-5102)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, nprinceso, seganinj, sys1piox_315_5098, seganinj, system1_state, bank00, ROT0, "Sega", "Ninja Princess (315-5098, 128k Ver.)", MACHINE_SUPPORTS_SAVE ) GAME( 1985, nprincesb, seganinj, sys1piox_315_5051, seganinj, system1_state, bank00, ROT0, "bootleg?", "Ninja Princess (315-5051?, 128k Ver. bootleg?)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/includes/decocass.h b/src/mame/includes/decocass.h index eb5a3e75420..25120f9877f 100644 --- a/src/mame/includes/decocass.h +++ b/src/mame/includes/decocass.h @@ -403,6 +403,6 @@ private: /* dongle type widel: status */ int32_t m_widel_ctrs; /* latched PROM address (E5x0 LSB, E5x1 MSB) */ int32_t m_widel_latch; /* latched enable PROM (1100xxxx written to E5x1) */ - uint8_t m_decomult_bank; + uint8_t m_decomult_bank; }; diff --git a/src/mame/includes/namcond1.h b/src/mame/includes/namcond1.h index 6396f9d989a..dcba4d53f13 100644 --- a/src/mame/includes/namcond1.h +++ b/src/mame/includes/namcond1.h @@ -45,5 +45,5 @@ public: DECLARE_WRITE_LINE_MEMBER( vblank_irq_w ); DECLARE_WRITE_LINE_MEMBER( raster_irq_w ); - INTERRUPT_GEN_MEMBER(mcu_interrupt); + INTERRUPT_GEN_MEMBER(mcu_interrupt); }; diff --git a/src/mame/includes/taito_x.h b/src/mame/includes/taito_x.h index ebea05d3935..e8f4016dbef 100644 --- a/src/mame/includes/taito_x.h +++ b/src/mame/includes/taito_x.h @@ -14,7 +14,7 @@ class taitox_state : public seta_state public: taitox_state(const machine_config &mconfig, device_type type, const char *tag) : seta_state(mconfig, type, tag), - m_cchip(*this, "cchip") + m_cchip(*this, "cchip") { } optional_device<taito_cchip_device> m_cchip; diff --git a/src/mame/layout/checkma5.lay b/src/mame/layout/checkma5.lay index 1b51b60a526..c009876e4a1 100644 --- a/src/mame/layout/checkma5.lay +++ b/src/mame/layout/checkma5.lay @@ -328,7 +328,7 @@ </bezel> <!-- FIXME - missing element definition <bezel name="lamp4" element="BET3" inputtag="P1" inputmask="0x10"> - <bounds x="1.51" y="3.28" width="0.31" height="0.24" /> + <bounds x="1.51" y="3.28" width="0.31" height="0.24" /> </bezel> --> <bezel name="lamp3" element="BET4" inputtag="P1" inputmask="0x08"> @@ -395,7 +395,7 @@ </bezel> <!-- FIXME - missing element definition <bezel name="lamp4" element="BET3" inputtag="P1" inputmask="0x10"> - <bounds x="1.51" y="3.28" width="0.31" height="0.24" /> + <bounds x="1.51" y="3.28" width="0.31" height="0.24" /> </bezel> --> <bezel name="lamp3" element="BET5" inputtag="P1" inputmask="0x08"> diff --git a/src/mame/machine/decocass.cpp b/src/mame/machine/decocass.cpp index abac33a48e7..b38b2593f16 100644 --- a/src/mame/machine/decocass.cpp +++ b/src/mame/machine/decocass.cpp @@ -1050,11 +1050,11 @@ READ8_MEMBER(decocass_widel_state::decocass_widel_r) { if (m_widel_latch) { - uint8_t *prom = space.machine().root_device().memregion("dongle")->base(); + uint8_t *prom = space.machine().root_device().memregion("dongle")->base(); data = prom[m_widel_ctrs | (m_decomult_bank << 16)]; LOG(3,("%10s 6502-PC: %04x decocass_widel_r(%02x): $%02x '%c' <- PROM[%04x]\n", space.machine().time().as_string(6), space.device().safe_pcbase(), offset, data, (data >= 32) ? data : '.', m_widel_ctrs)); - + m_widel_ctrs = (m_widel_ctrs + 1) & 0xffff; if (m_widel_ctrs == 0) { @@ -1184,8 +1184,8 @@ WRITE8_MEMBER(decocass_state::decocass_e5xx_w) * DE-0091xx daughter board handler * * The DE-0091xx daughter board seems to be a read-only ROM board with - * two times five 4K ROMs. - * + * two times five 4K ROMs. + * * The board's ROMs are mapped into view for reads between addresses * 0x6000 and 0xafff by setting bits 0 and 1 of address 0xe900. * @@ -1608,7 +1608,7 @@ MACHINE_RESET_MEMBER(decocass_type3_state,cfghtice) -// Note, this is a hack, I can't see where the bank bits actually get written out +// Note, this is a hack, I can't see where the bank bits actually get written out // and the MAME disassembly is currently a mess. READ8_MEMBER(decocass_widel_state::decocass_fbc2_r) { diff --git a/src/mame/machine/esqpanel.cpp b/src/mame/machine/esqpanel.cpp index 00cb3999103..737ca23fbc9 100644 --- a/src/mame/machine/esqpanel.cpp +++ b/src/mame/machine/esqpanel.cpp @@ -126,7 +126,7 @@ public: { using namespace std::placeholders; if (m_server->is_active()) { - m_server->add_endpoint("/esqpanel/socket", + m_server->add_endpoint("/esqpanel/socket", std::bind(&esqpanel_external_panel_server::on_open, this, _1), std::bind(&esqpanel_external_panel_server::on_message, this, _1, _2, _3), std::bind(&esqpanel_external_panel_server::on_close, this, _1, _2, _3), @@ -320,7 +320,7 @@ public: { return m_version; } - + bool get_template_value(std::string &s) { if (s == "keyboard") @@ -422,7 +422,7 @@ void esqpanel_device::device_start() { m_write_tx.resolve_safe(); m_write_analog.resolve_safe(); - + m_external_panel_server = new esqpanel_external_panel_server(machine().manager().http()); if (machine().manager().http()->is_active()) { m_external_panel_server->set_keyboard(owner()->shortname()); @@ -536,7 +536,7 @@ void esqpanel_device::rcv_complete() // Rx completed receiving byte // 2 = On // 3 = Blinking m_light_states[lightNumber] = (data & 0xc0) >> 6; - + // TODO: do something with the button information! // printf("Setting light %d to %s\n", lightNumber, lightState == 3 ? "Blink" : lightState == 2 ? "On" : "Off"); m_bButtonLightSecondByte = false; diff --git a/src/mame/machine/esqpanel.h b/src/mame/machine/esqpanel.h index 7557bf9494e..7fd461a8da5 100644 --- a/src/mame/machine/esqpanel.h +++ b/src/mame/machine/esqpanel.h @@ -68,13 +68,13 @@ class esqpanel_device : public device_t, public device_serial_interface { public: template <class Object> - static devcb_base &set_tx_wr_callback(device_t &device, Object &&cb) { + static devcb_base &set_tx_wr_callback(device_t &device, Object &&cb) { return downcast<esqpanel_device &>(device).m_write_tx.set_callback(std::forward<Object>(cb)); } - + template <class Object> - static devcb_base &set_analog_wr_callback(device_t &device, Object &&cb) { - return downcast<esqpanel_device &>(device).m_write_analog.set_callback(std::forward<Object>(cb)); + static devcb_base &set_analog_wr_callback(device_t &device, Object &&cb) { + return downcast<esqpanel_device &>(device).m_write_analog.set_callback(std::forward<Object>(cb)); } void xmit_char(uint8_t data); @@ -105,8 +105,8 @@ protected: std::vector<uint8_t> m_light_states; - bool m_eps_mode; - + bool m_eps_mode; + esqpanel_external_panel_server *m_external_panel_server; private: diff --git a/src/mame/machine/esqvfd.h b/src/mame/machine/esqvfd.h index 3b07b013d91..63b12ea2d90 100644 --- a/src/mame/machine/esqvfd.h +++ b/src/mame/machine/esqvfd.h @@ -29,7 +29,7 @@ public: virtual void write_char(int data) = 0; virtual void update_display(); virtual bool write_contents(std::ostream &o) { return false; } - + uint32_t conv_segments(uint16_t segin); protected: diff --git a/src/mame/machine/interpro_ioga.cpp b/src/mame/machine/interpro_ioga.cpp index 010791f5165..4e7856c3d2e 100644 --- a/src/mame/machine/interpro_ioga.cpp +++ b/src/mame/machine/interpro_ioga.cpp @@ -43,9 +43,9 @@ #endif DEVICE_ADDRESS_MAP_START(map, 32, interpro_ioga_device) - AM_RANGE(0x00, 0x03) AM_READWRITE(eth_remap_r, eth_remap_w) - AM_RANGE(0x04, 0x07) AM_READWRITE(eth_map_page_r, eth_map_page_w) - AM_RANGE(0x08, 0x0b) AM_READWRITE(eth_control_r, eth_control_w) + AM_RANGE(0x00, 0x03) AM_READWRITE(eth_remap_r, eth_remap_w) + AM_RANGE(0x04, 0x07) AM_READWRITE(eth_map_page_r, eth_map_page_w) + AM_RANGE(0x08, 0x0b) AM_READWRITE(eth_control_r, eth_control_w) AM_RANGE(0x0c, 0x1b) AM_READWRITE(dma_plotter_r, dma_plotter_w) AM_RANGE(0x1c, 0x1f) AM_READWRITE(dma_plotter_eosl_r, dma_plotter_eosl_w) diff --git a/src/mame/machine/interpro_ioga.h b/src/mame/machine/interpro_ioga.h index f852ed5b985..94e282a9e2c 100644 --- a/src/mame/machine/interpro_ioga.h +++ b/src/mame/machine/interpro_ioga.h @@ -205,19 +205,19 @@ public: enum dma_ctrl_mask { - DMA_CTRL_TCZERO = 0x00000001, // transfer count zero - DMA_CTRL_TAG = 0x00000e00, // bus tag - DMA_CTRL_BERR = 0x00400000, // bus error - DMA_CTRL_ERR = 0x00800000, // checked for in scsi isr + DMA_CTRL_TCZERO = 0x00000001, // transfer count zero + DMA_CTRL_TAG = 0x00000e00, // bus tag + DMA_CTRL_BERR = 0x00400000, // bus error + DMA_CTRL_ERR = 0x00800000, // checked for in scsi isr - DMA_CTRL_BUSY = 0x01000000, // cleared when command complete (maybe bus grant required?) - DMA_CTRL_WAIT = 0x02000000, // waiting for bus grant - DMA_CTRL_X = 0x04000000, // set during fdc dma? + DMA_CTRL_BUSY = 0x01000000, // cleared when command complete (maybe bus grant required?) + DMA_CTRL_WAIT = 0x02000000, // waiting for bus grant + DMA_CTRL_X = 0x04000000, // set during fdc dma? - DMA_CTRL_VIRTUAL = 0x20000000, // use virtual addressing - DMA_CTRL_WRITE = 0x40000000, // memory to device transfer + DMA_CTRL_VIRTUAL = 0x20000000, // use virtual addressing + DMA_CTRL_WRITE = 0x40000000, // memory to device transfer - DMA_CTRL_WMASK = 0xfd000e00 // writable fields + DMA_CTRL_WMASK = 0xfd000e00 // writable fields }; DECLARE_READ32_MEMBER(dma_plotter_r) { return dma_r(space, offset, mem_mask, IOGA_DMA_PLOTTER); } DECLARE_WRITE32_MEMBER(dma_plotter_w) { dma_w(space, offset, data, mem_mask, IOGA_DMA_PLOTTER); } diff --git a/src/mame/machine/saturn.cpp b/src/mame/machine/saturn.cpp index 4167ccca48d..561a6b350f7 100644 --- a/src/mame/machine/saturn.cpp +++ b/src/mame/machine/saturn.cpp @@ -426,7 +426,7 @@ void saturn_state::scu_dma_direct(address_space &space, uint8_t dma_ch) m_scu.ist |= (IRQ_DMAILL); return; } - + DnMV_1(dma_ch); /* max size */ diff --git a/src/mame/machine/taitocchip.cpp b/src/mame/machine/taitocchip.cpp index be743a6cfff..dfd85aa29fa 100644 --- a/src/mame/machine/taitocchip.cpp +++ b/src/mame/machine/taitocchip.cpp @@ -64,18 +64,18 @@ CLK is supplied with a 12MHZ oscillator on operation wolf (move below MODE notes to upd7811.cpp?) The four Mode0/Mode1 combinations are: - LOW/LOW 78c11 mem map is 4k external rom (i.e. the eprom inside the c-chip) from 0x0000-0x0FFF; - the low 4 bits of port F are used, to provide the high 4 address bits. - speculation: likely the eprom can be banked so the low or high half is visible here, - or possibly one fixed window and 3 variable windows, managed by the asic? - LOW/HIGH 78c11 mem map boots to internal rom (mask rom inside the 78c11 inside the c-chip) from - 0x0000-0x0fff but the memory map is under full mcu control and can select any of the - four modes (internal only, 4k external, 16k external, 64k external) + LOW/LOW 78c11 mem map is 4k external rom (i.e. the eprom inside the c-chip) from 0x0000-0x0FFF; + the low 4 bits of port F are used, to provide the high 4 address bits. + speculation: likely the eprom can be banked so the low or high half is visible here, + or possibly one fixed window and 3 variable windows, managed by the asic? + LOW/HIGH 78c11 mem map boots to internal rom (mask rom inside the 78c11 inside the c-chip) from + 0x0000-0x0fff but the memory map is under full mcu control and can select any of the + four modes (internal only, 4k external, 16k external, 64k external) The following two modes are unusable on the c-chip: - HIGH/LOW 78c11 mem map is 16k external rom from 0x0000-0x3FFF; - the low 6 bits of port F are used, to provide the high 6 address bits. - HIGH/HIGH 78c11 mem map is 64k external rom from 0x0000-0xFFFF; - all 8 bits of port F are used to provide the high 8 address bits. + HIGH/LOW 78c11 mem map is 16k external rom from 0x0000-0x3FFF; + the low 6 bits of port F are used, to provide the high 6 address bits. + HIGH/HIGH 78c11 mem map is 64k external rom from 0x0000-0xFFFF; + all 8 bits of port F are used to provide the high 8 address bits. VPP is only used for programming the 27c64, do not tie it to 18v or you will probably overwrite the 27c64 with garbage. (see http://www.cpcwiki.eu/index.php/UPD7810/uPD7811 ) diff --git a/src/mame/video/cbuster.cpp b/src/mame/video/cbuster.cpp index 11d725c7bb7..2afb65eac9c 100644 --- a/src/mame/video/cbuster.cpp +++ b/src/mame/video/cbuster.cpp @@ -22,24 +22,24 @@ void cbuster_state::video_start() m_sprgen->alloc_sprite_bitmap(); } -/* - Crude Buster palette is a little strange compared to other Data East games - of this period. Although the digital palette is 8 bits per channel, the - analog 'white' level is set at 0x8e. In hardware this is done at the - final resistors before the JAMMA connector. It also suggests that if the - game were to use any values above 0x8e (it doesn't) then the final output - voltage would be out of spec. - - I suspect this setup is actually software compensating for a hardware - design problem. +/* + Crude Buster palette is a little strange compared to other Data East games + of this period. Although the digital palette is 8 bits per channel, the + analog 'white' level is set at 0x8e. In hardware this is done at the + final resistors before the JAMMA connector. It also suggests that if the + game were to use any values above 0x8e (it doesn't) then the final output + voltage would be out of spec. + + I suspect this setup is actually software compensating for a hardware + design problem. */ - + void cbuster_state::update_palette(int offset) { int r = m_paletteram[offset]&0xff; int g = m_paletteram[offset]>>8; int b = m_paletteram_ext[offset]&0xff; - + if (r>0x8e) r=0x8e; if (g>0x8e) g=0x8e; if (b>0x8e) b=0x8e; @@ -47,7 +47,7 @@ void cbuster_state::update_palette(int offset) r = (r * 255) / 0x8e; g = (g * 255) / 0x8e; b = (b * 255) / 0x8e; - + m_palette->set_pen_color(offset,rgb_t(r,g,b)); } @@ -56,7 +56,7 @@ WRITE16_MEMBER(cbuster_state::cbuster_palette_w) COMBINE_DATA(&m_paletteram[offset]); update_palette(offset); } - + WRITE16_MEMBER(cbuster_state::cbuster_palette_ext_w) { COMBINE_DATA(&m_paletteram_ext[offset]); diff --git a/src/mame/video/decrmc3.cpp b/src/mame/video/decrmc3.cpp index fd9a62467b1..388d2b1f739 100644 --- a/src/mame/video/decrmc3.cpp +++ b/src/mame/video/decrmc3.cpp @@ -211,8 +211,8 @@ void deco_rmc3_device::device_start() -// This conversion mimics the specific weighting used by the Data East -// custom resistor pack marked DECO RM-C3 to convert the digital +// This conversion mimics the specific weighting used by the Data East +// custom resistor pack marked DECO RM-C3 to convert the digital // palette for analog output. It is used on games such as The Real // Ghostbusters, Gondomania, Cobra Command, Psychonics Oscar. // @@ -244,7 +244,7 @@ rgb_t deco_rmc3_device::deco_rgb_decoder(u32 raw) u8 r = raw&0xf; u8 g = (raw>>4)&0xf; u8 b = (raw>>8)&0xf; - + r = 0x0e * BIT(r,0) + 0x1f * BIT(r,1) + 0x43 * BIT(r,2) + 0x8f * BIT(r,3); g = 0x0e * BIT(g,0) + 0x1f * BIT(g,1) + 0x43 * BIT(g,2) + 0x8f * BIT(g,3); b = 0x0e * BIT(b,0) + 0x1f * BIT(b,1) + 0x43 * BIT(b,2) + 0x8f * BIT(b,3); diff --git a/src/mame/video/decrmc3.h b/src/mame/video/decrmc3.h index 4b7017fce08..f7d5e30078e 100644 --- a/src/mame/video/decrmc3.h +++ b/src/mame/video/decrmc3.h @@ -9,8 +9,8 @@ **************************************************************************** Data East RM-C3 is a custom resistor pack used to convert a digital - palette to an analog output. The conversion is non-linear with high bits - weighted a little more than low bits compared to linear. + palette to an analog output. The conversion is non-linear with high bits + weighted a little more than low bits compared to linear. ******************************************************************************/ @@ -28,7 +28,7 @@ #define MCFG_DECO_RMC3_ADD(_tag, _entries) \ MCFG_DEVICE_ADD(_tag, DECO_RMC3, 0) \ MCFG_DECO_RMC3_SET_PALETTE_SIZE(_entries) - + #define MCFG_DECO_RMC3_MODIFY MCFG_DEVICE_MODIFY #define MCFG_DECO_RMC3_SET_PALETTE_SIZE(_entries) \ @@ -43,8 +43,8 @@ deco_rmc3_device::static_set_prom_region(*device, "^" _region); \ deco_rmc3_device::static_set_init(*device, deco_rmc3_palette_init_delegate(FUNC(deco_rmc3_device::palette_init_proms), downcast<deco_rmc3_device *>(device))); -//#define MCFG_DECO_RMC3_INIT_OWNER(_class, _method) -// deco_rmc3_device::static_set_init(*device, deco_rmc3_palette_init_delegate(&_class::PALETTE_INIT_NAME(_method), #_class "::palette_init_" #_method, downcast<_class *>(owner))); +//#define MCFG_DECO_RMC3_INIT_OWNER(_class, _method) +// deco_rmc3_device::static_set_init(*device, deco_rmc3_palette_init_delegate(&_class::PALETTE_INIT_NAME(_method), #_class "::palette_init_" #_method, downcast<_class *>(owner))); //************************************************************************** // TYPE DEFINITIONS @@ -110,16 +110,16 @@ protected: private: void update_for_write(offs_t byte_offset, int bytes_modified, bool indirect = false); rgb_t deco_rgb_decoder(u32 raw); - + // configuration state u32 m_entries; // number of entries in the palette u32 m_indirect_entries; // number of indirect colors in the palette -// bool m_enable_shadows; // are shadows enabled? -// bool m_enable_hilights; // are hilights enabled? -// int m_membits; // width of palette RAM, if different from native -// bool m_membits_supplied; // true if membits forced in static config -// endianness_t m_endianness; // endianness of palette RAM, if different from native -// bool m_endianness_supplied; // true if endianness forced in static config +// bool m_enable_shadows; // are shadows enabled? +// bool m_enable_hilights; // are hilights enabled? +// int m_membits; // width of palette RAM, if different from native +// bool m_membits_supplied; // true if membits forced in static config +// endianness_t m_endianness; // endianness of palette RAM, if different from native +// bool m_endianness_supplied; // true if endianness forced in static config optional_memory_region m_prom_region; // region where the color PROMs are deco_rmc3_palette_init_delegate m_init; diff --git a/src/mame/video/m62.cpp b/src/mame/video/m62.cpp index 5c85ba0e08c..e250bd8c1ac 100644 --- a/src/mame/video/m62.cpp +++ b/src/mame/video/m62.cpp @@ -143,10 +143,10 @@ void m62_state::m62_amplify_contrast(bool include_fg) pals[0] = m_chr_palette; pals[1] = m_spr_palette; - + if (m_fg_palette && include_fg) pals[2] = m_fg_palette; - else + else pals[2] = 0; // m62 palette is very dark, so amplify default contrast diff --git a/src/mame/video/ygv608.cpp b/src/mame/video/ygv608.cpp index 8886531f1ea..5a97ce807d2 100644 --- a/src/mame/video/ygv608.cpp +++ b/src/mame/video/ygv608.cpp @@ -369,22 +369,22 @@ static ADDRESS_MAP_START( regs_map, AS_IO, 8, ygv608_device ) // address pointers AM_RANGE( 0, 0) AM_READWRITE(pattern_name_table_y_r,pattern_name_table_y_w) AM_RANGE( 1, 1) AM_READWRITE(pattern_name_table_x_r,pattern_name_table_x_w) - + AM_RANGE( 3, 3) AM_READWRITE(sprite_address_r,sprite_address_w) AM_RANGE( 4, 4) AM_READWRITE(scroll_address_r,scroll_address_w) AM_RANGE( 5, 5) AM_READWRITE(palette_address_r,palette_address_w) AM_RANGE( 6, 6) AM_READWRITE(sprite_bank_r,sprite_bank_w) - - // screen control + + // screen control AM_RANGE(10, 10) AM_READWRITE(screen_ctrl_mosaic_sprite_r, screen_ctrl_mosaic_sprite_w) - + AM_RANGE(13, 13) AM_WRITE(border_color_w) // interrupt section - AM_RANGE(14, 14) AM_READWRITE(irq_mask_r,irq_mask_w) + AM_RANGE(14, 14) AM_READWRITE(irq_mask_r,irq_mask_w) AM_RANGE(15, 16) AM_READWRITE(irq_ctrl_r,irq_ctrl_w) // base address AM_RANGE(17, 24) AM_WRITE(base_address_w) - + // ROZ parameters AM_RANGE(25, 27) AM_WRITE(roz_ax_w) AM_RANGE(28, 29) AM_WRITE(roz_dx_w) @@ -420,11 +420,11 @@ ADDRESS_MAP_END //------------------------------------------------- ygv608_device::ygv608_device( const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock ) - : device_t(mconfig, YGV608, tag, owner, clock), + : device_t(mconfig, YGV608, tag, owner, clock), device_gfx_interface(mconfig, *this, GFXDECODE_NAME(ygv608)), device_memory_interface(mconfig, *this), m_io_space_config("io", ENDIANNESS_BIG, 8, 6, 0, *ADDRESS_MAP_NAME(regs_map)), - m_vblank_handler(*this), + m_vblank_handler(*this), m_raster_handler(*this) { } @@ -481,14 +481,14 @@ void ygv608_device::device_start() m_tilemap_B = nullptr; m_iospace = &space(AS_IO); - + // TODO: tagging configuration m_screen = downcast<screen_device *>(machine().device("screen")); m_vblank_handler.resolve(); m_raster_handler.resolve(); m_vblank_timer = timer_alloc(VBLANK_TIMER); m_raster_timer = timer_alloc(RASTER_TIMER); - + register_state_save(); } @@ -531,7 +531,7 @@ void ygv608_device::device_timer(emu_timer &timer, device_timer_id id, int param { m_screen_status |= 0x10; // FP raster_irq_check(); - + // adjust for next one shot m_raster_timer->reset(); m_raster_timer->adjust(raster_sync_offset(), 0); @@ -760,7 +760,7 @@ TILE_GET_INFO_MEMBER( ygv608_device::get_tile_info_A_16 ) uint8_t attr = 0; int pattern_name_base = 0; int set = ((m_regs.s.r7 & r7_md) == MD_1PLANE_256COLOUR - ? GFX_16X16_8BIT : GFX_16X16_4BIT ); + ? GFX_16X16_8BIT : GFX_16X16_4BIT ); int base = row >> m_base_y_shift; if( col >= m_page_x ) { @@ -949,7 +949,7 @@ void ygv608_device::register_state_save() save_item(NAME(m_sprite_attribute_table.b)); save_item(NAME(m_scroll_data_table)); save_item(NAME(m_colour_palette)); -// save_item(NAME(register_state_save)); +// save_item(NAME(register_state_save)); save_item(NAME(m_color_state_r)); save_item(NAME(m_color_state_w)); @@ -1000,7 +1000,7 @@ void ygv608_device::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect flipy = (g_attr & SZ_VERTREVERSE) != 0; } - switch( size ) + switch( size ) { case SZ_8X8 : code = ( (int)m_sprite_bank << 8 ) | (int)sa->sn; @@ -1383,7 +1383,7 @@ READ8_MEMBER( ygv608_device::pattern_name_table_r ) p0_state_r = 0; pattern_name_base_r = 0; } - + return m_pattern_name_table[pn]; } @@ -1391,14 +1391,14 @@ READ8_MEMBER( ygv608_device::pattern_name_table_r ) READ8_MEMBER( ygv608_device::sprite_data_r ) { uint8_t res = m_sprite_attribute_table.b[m_sprite_address]; - + if (m_regs.s.r2 & r2_saar) m_sprite_address++; - + return res; } -// P#2R - scroll data port +// P#2R - scroll data port READ8_MEMBER( ygv608_device::scroll_data_r ) { uint8_t res = m_scroll_data_table[(m_regs.s.r2 & r2_b_a) >> 4][m_scroll_address]; @@ -1438,7 +1438,7 @@ READ8_MEMBER(ygv608_device::register_data_r) //m_iospace->read_byte(regNum); - + if (m_register_autoinc_r == true) { m_register_address ++; @@ -1452,7 +1452,7 @@ READ8_MEMBER(ygv608_device::register_data_r) } #endif } - + return res; } @@ -1594,8 +1594,8 @@ WRITE8_MEMBER( ygv608_device::palette_data_w ) if (++m_color_state_w == 3) { m_color_state_w = 0; -// if(m_colour_palette[m_palette_address][0] & 0x80) // Transparency designation, none of the Namco games enables it? - +// if(m_colour_palette[m_palette_address][0] & 0x80) // Transparency designation, none of the Namco games enables it? + palette().set_pen_color(m_palette_address, pal6bit( m_colour_palette[m_palette_address][0] ), pal6bit( m_colour_palette[m_palette_address][1] ), @@ -1611,17 +1611,17 @@ WRITE8_MEMBER( ygv608_device::register_data_w ) { uint8_t regNum = m_register_address & 0x3f; //logerror( "R#%d = $%02X\n", regNum, data ); - + SetPreShortcuts (regNum, data); m_regs.b[regNum] = data; SetPostShortcuts (regNum); m_iospace->write_byte(regNum, data); - + if (m_register_autoinc_w == true) { m_register_address ++; m_register_address &= 0x3f; - + #if 0 // we'll catch this in the logerror anyway if (regNum == 50) @@ -1646,7 +1646,7 @@ WRITE8_MEMBER( ygv608_device::status_port_w ) { /* writing a '1' resets that bit */ m_screen_status &= ~data; - + // send an irq ack to the delegates accordingly if(data & 8) m_vblank_handler(CLEAR_LINE); @@ -1701,7 +1701,7 @@ void ygv608_device::HandleYGV608Reset() void ygv608_device::HandleRomTransfers(uint8_t type) { popmessage("ROM DMA used %02x",type); - + #if 0 static uint8_t *sdt = (uint8_t *)m_scroll_data_table; static uint8_t *sat = (uint8_t *)m_sprite_attribute_table.b; @@ -1769,11 +1769,11 @@ WRITE8_MEMBER( ygv608_device::pattern_name_table_y_w ) { m_ytile_ptr = data & 0x3f; //if (yTile >= m_page_y) - // logerror ("%s:setting pny(%d) >= page_y(%d)\n", machine().describe_context(), - // yTile, m_page_y ); + // logerror ("%s:setting pny(%d) >= page_y(%d)\n", machine().describe_context(), + // yTile, m_page_y ); m_ytile_ptr &= m_page_y -1; m_ytile_autoinc = BIT(data,7); - m_plane_select_access = BIT(data,6); + m_plane_select_access = BIT(data,6); if(m_ytile_autoinc == true && m_xtile_autoinc == true) logerror("%s: Warning both X/Y Tiles autoinc enabled!\n",this->tag()); } @@ -1789,15 +1789,15 @@ WRITE8_MEMBER( ygv608_device::pattern_name_table_x_w ) { m_xtile_ptr = data & 0x3f; //if (xTile >= m_page_x) - // logerror ("%s:setting pnx(%d) >= page_x(%d)\n", machine().describe_context(), - // xTile, m_page_x ); + // logerror ("%s:setting pnx(%d) >= page_x(%d)\n", machine().describe_context(), + // xTile, m_page_x ); m_xtile_ptr &= m_page_x -1; - m_xtile_autoinc = BIT(data,7); + m_xtile_autoinc = BIT(data,7); if(m_ytile_autoinc == true && m_xtile_autoinc == true) logerror("%s: Warning both X/Y Tiles autoinc enabled!\n",this->tag()); } - + // R#3R - sprite attribute table access pointer READ8_MEMBER( ygv608_device::sprite_address_r ) { @@ -1810,7 +1810,7 @@ WRITE8_MEMBER( ygv608_device::sprite_address_w ) m_sprite_address = data; } - + // R#4R - scroll table access pointer READ8_MEMBER( ygv608_device::scroll_address_r ) { @@ -1846,13 +1846,13 @@ WRITE8_MEMBER( ygv608_device::sprite_bank_w ) { m_sprite_bank = data; } - + // R#10R - screen control: mosaic & sprite READ8_MEMBER( ygv608_device::screen_ctrl_mosaic_sprite_r ) { - return (m_sprite_aux_reg << 6) | ((m_sprite_aux_mode == true) << 5) | ((m_sprite_disable == true) << 4) - | (m_mosaic_bplane << 2) | (m_mosaic_aplane & 3); -} + return (m_sprite_aux_reg << 6) | ((m_sprite_aux_mode == true) << 5) | ((m_sprite_disable == true) << 4) + | (m_mosaic_bplane << 2) | (m_mosaic_aplane & 3); +} // R#10W - screen control: mosaic & sprite WRITE8_MEMBER( ygv608_device::screen_ctrl_mosaic_sprite_w ) @@ -1885,7 +1885,7 @@ WRITE8_MEMBER( ygv608_device::irq_mask_w ) { m_vblank_irq_mask = BIT(data, 0); m_raster_irq_mask = BIT(data, 1); - + // check if we have an irq in the queue vblank_irq_check(); raster_irq_check(); @@ -1895,18 +1895,18 @@ WRITE8_MEMBER( ygv608_device::irq_mask_w ) READ8_MEMBER( ygv608_device::irq_ctrl_r ) { uint8_t res; - + if(offset == 0) // R#15 res = m_raster_irq_vpos & 0xff; else // R#16 { res = (m_raster_irq_mode << 7); - + res|= (BIT(m_raster_irq_vpos, 8) << 6); - + res|= (m_raster_irq_hpos / 32) & 0x1f; } - + return res; } @@ -1921,13 +1921,13 @@ WRITE8_MEMBER( ygv608_device::irq_ctrl_w ) else // R#16 { m_raster_irq_mode = BIT(data,7); - + m_raster_irq_vpos &= ~0x100; m_raster_irq_vpos |= BIT(data,6) << 8; - + m_raster_irq_hpos = (data & 0x1f) * 32; } - + // reset raster timer m_raster_timer->reset(); m_raster_timer->adjust(raster_sync_offset(), 0); @@ -1938,7 +1938,7 @@ WRITE8_MEMBER( ygv608_device::irq_ctrl_w ) // helper for validating and convert to screen position attotime ygv608_device::raster_sync_offset() { - + // don't care if h/v pos is higher than CRTC params (NCV2 POST) if(m_raster_irq_hpos > m_crtc.htotal || m_raster_irq_vpos > m_crtc.vtotal ) return attotime::never; @@ -1949,16 +1949,16 @@ attotime ygv608_device::raster_sync_offset() popmessage("Raster IRQ used with mode = true"); return attotime::never; } - + // TODO: actual sync not taken into account, needs a better test than NCV2 limited case return m_screen->time_until_pos(m_raster_irq_vpos,m_raster_irq_hpos); } // R#17 / R#24 - base address -/* +/* * offset & 4 selects plane B * -xxx ---- write to base address + 1 - * ---- -xxx write to base address + * ---- -xxx write to base address */ WRITE8_MEMBER( ygv608_device::base_address_w ) { @@ -1966,7 +1966,7 @@ WRITE8_MEMBER( ygv608_device::base_address_w ) int addr = ( offset << 1 ) & 0x07; m_base_addr[plane][addr] = data & 0x07; m_base_addr[plane][addr+1] = (data >> 4) & 0x7; - + m_tilemap_resize = 1; } @@ -1988,7 +1988,7 @@ WRITE8_MEMBER( ygv608_device::roz_dy_w ) { m_dy = roz_convert_raw16(&m_raw_dy,o // R#37W - R#38W - increment of coordinate in Y direction in movement toward X direction WRITE8_MEMBER( ygv608_device::roz_dyx_w ) { m_dyx = roz_convert_raw16(&m_raw_dyx,offset,data); } -// ROZ assign helpers +// ROZ assign helpers inline uint32_t ygv608_device::roz_convert_raw24(uint32_t *raw_reg, uint8_t offset, uint8_t data) { const uint32_t roz_data_mask24 = 0x1fffff; @@ -2012,11 +2012,11 @@ inline uint32_t ygv608_device::roz_convert_raw16(uint16_t *raw_reg, uint8_t offs const uint16_t roz_data_mask16 = 0x1fff; const uint16_t mem_mask = (0xff << offset*8) ^ ~0; uint32_t res; - + // substitute the new byte value into the raw register *raw_reg &= mem_mask; *raw_reg |= data << offset*8; - + // convert raw to the given register res = *raw_reg & roz_data_mask16; res <<= 7; @@ -2038,7 +2038,7 @@ WRITE8_MEMBER( ygv608_device::crtc_w ) m_crtc.border_width = (data & 0x1f) * 16; break; } - + case 40: { m_crtc.htotal &= ~0x600; @@ -2047,30 +2047,30 @@ WRITE8_MEMBER( ygv608_device::crtc_w ) m_crtc.display_width = (data & 0x3f) * 16; break; } - + case 41: { m_crtc.display_hstart &= ~0x1fe; m_crtc.display_hstart |= (data & 0xff) << 1; break; } - + case 42: { m_crtc.htotal &= ~0x1fe; m_crtc.htotal |= (data & 0xff) << 1; - + //printf("H %d %d %d %d %d\n",m_crtc.htotal,m_crtc.display_hstart,m_crtc.display_width,m_crtc.display_hsync,m_crtc.border_width); break; } - + case 43: { m_crtc.display_vsync = (data >> 5) & 7; m_crtc.border_height = (data & 0x1f) * 8; break; } - + case 44: { // TODO: VSLS, bit 6 @@ -2078,23 +2078,23 @@ WRITE8_MEMBER( ygv608_device::crtc_w ) m_crtc.display_height = (data & 0x3f) * 8; break; } - + case 45: { m_crtc.vtotal &= ~0x100; m_crtc.vtotal |= BIT(data,7) << 8; - + // TODO: TRES, bit 6 - - m_crtc.display_vstart = data & 0x3f; + + m_crtc.display_vstart = data & 0x3f; break; } - + case 46: { m_crtc.vtotal &= ~0xff; m_crtc.vtotal |= data & 0xff; - + // TODO: call it for all mods in the CRTC, add sanity checks screen_configure(); @@ -2108,9 +2108,9 @@ WRITE8_MEMBER( ygv608_device::crtc_w ) // TODO: h/vstart not taken into account (needs video mods) void ygv608_device::screen_configure() { -// int display_hend = (m_crtc.display_hstart + (m_crtc.display_width / 2)) - 1; +// int display_hend = (m_crtc.display_hstart + (m_crtc.display_width / 2)) - 1; int display_hend = (m_crtc.display_width / 2) - 1; -// int display_vend = (m_crtc.display_vstart + m_crtc.display_height) - 1; +// int display_vend = (m_crtc.display_vstart + m_crtc.display_height) - 1; int display_vend = (m_crtc.display_height) - 1; //rectangle visarea(m_crtc.display_hstart, display_hend, m_crtc.display_vstart, display_vend); @@ -2119,7 +2119,7 @@ void ygv608_device::screen_configure() attoseconds_t period = HZ_TO_ATTOSECONDS(m_screen->clock()) * m_crtc.vtotal * (m_crtc.htotal / 2); m_screen->configure(m_crtc.htotal / 2, m_crtc.vtotal, visarea, period ); - + // reset vblank timer m_vblank_timer->reset(); //m_vblank_timer->adjust(m_screen->time_until_pos(m_crtc.display_vstart+m_crtc.display_height,0), 0, m_screen->frame_period()); diff --git a/src/mame/video/ygv608.h b/src/mame/video/ygv608.h index 3850896f216..b3867bf74e2 100644 --- a/src/mame/video/ygv608.h +++ b/src/mame/video/ygv608.h @@ -13,8 +13,8 @@ #include "tilemap.h" #include "screen.h" -class ygv608_device : public device_t, - public device_gfx_interface, +class ygv608_device : public device_t, + public device_gfx_interface, public device_memory_interface { public: @@ -29,7 +29,7 @@ public: DECLARE_READ8_MEMBER(scroll_data_r); DECLARE_READ8_MEMBER(palette_data_r); DECLARE_READ8_MEMBER(register_data_r); -// DECLARE_READ8_MEMBER(register_select_r); +// DECLARE_READ8_MEMBER(register_select_r); DECLARE_READ8_MEMBER(status_port_r); DECLARE_READ8_MEMBER(system_control_r); DECLARE_WRITE8_MEMBER(pattern_name_table_w); @@ -55,7 +55,7 @@ public: DECLARE_READ8_MEMBER(sprite_bank_r); DECLARE_WRITE8_MEMBER(sprite_bank_w); DECLARE_READ8_MEMBER(screen_ctrl_mosaic_sprite_r); - DECLARE_WRITE8_MEMBER(screen_ctrl_mosaic_sprite_w); + DECLARE_WRITE8_MEMBER(screen_ctrl_mosaic_sprite_w); DECLARE_READ8_MEMBER(irq_mask_r); DECLARE_WRITE8_MEMBER(irq_mask_w); DECLARE_READ8_MEMBER(irq_ctrl_r); @@ -84,13 +84,13 @@ public: { return downcast<ygv608_device &>(device).m_raster_handler.set_callback(std::forward<Object>(cb)); } - + protected: // device-level overrides virtual void device_start() override; virtual std::vector<std::pair<int, const address_space_config *>> memory_space_config() const override; - + void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override; address_space *m_iospace; private: @@ -253,84 +253,84 @@ private: uint8_t m_screen_resize; // screen requires resize uint8_t m_tilemap_resize; // tilemap requires resize - + /* These were statically allocated in the r/w routines */ int p0_state_r,m_color_state_r; int p0_state_w,m_color_state_w; - int pattern_name_base_r,pattern_name_base_w; /* pattern name table base address */ - + int pattern_name_base_r,pattern_name_base_w; /* pattern name table base address */ + // === new variable handling starts here === uint8_t m_register_address; /**< RN: Register address select */ bool m_register_autoinc_r; /**< RRAI: Register address auto-increment on read */ bool m_register_autoinc_w; /**< RWAI: Register address auto-increment on write */ - uint8_t m_screen_status; /**< CD: status port r/w */ - - bool m_raster_irq_mask; /**< IEP: raster irq mask (INT1 occurs if 1) */ - bool m_vblank_irq_mask; /**< IEV: vblank irq mask (INT0 occurs if 1) */ - int m_raster_irq_hpos; /**< IH: horizontal position where raster irq occurs x 32 */ - int m_raster_irq_vpos; /**< IV: vertical position where raster irq occurs */ - bool m_raster_irq_mode; /**< FPM: if 1 vertical position becomes invalid for raster irqs (irqs occur for every line) */ - - uint8_t m_scroll_address; /**< SCA: scroll table access pointer */ - uint8_t m_palette_address; /**< CC: color palette access pointer */ - uint8_t m_sprite_address; /**< SAA: sprite attribute table access pointer */ - uint8_t m_sprite_bank; /**< SBA: sprite generator base address (MA20 to MA13) */ - uint8_t m_xtile_ptr; /**< PNX: X coordinate of pattern space */ - uint8_t m_ytile_ptr; /**< PNY: Y coordinate of pattern space */ - bool m_xtile_autoinc; /**< PNXA: Permits auto-increment in X coordinate */ - bool m_ytile_autoinc; /**< PNXA: Permits auto-increment in Y coordinate */ + uint8_t m_screen_status; /**< CD: status port r/w */ + + bool m_raster_irq_mask; /**< IEP: raster irq mask (INT1 occurs if 1) */ + bool m_vblank_irq_mask; /**< IEV: vblank irq mask (INT0 occurs if 1) */ + int m_raster_irq_hpos; /**< IH: horizontal position where raster irq occurs x 32 */ + int m_raster_irq_vpos; /**< IV: vertical position where raster irq occurs */ + bool m_raster_irq_mode; /**< FPM: if 1 vertical position becomes invalid for raster irqs (irqs occur for every line) */ + + uint8_t m_scroll_address; /**< SCA: scroll table access pointer */ + uint8_t m_palette_address; /**< CC: color palette access pointer */ + uint8_t m_sprite_address; /**< SAA: sprite attribute table access pointer */ + uint8_t m_sprite_bank; /**< SBA: sprite generator base address (MA20 to MA13) */ + uint8_t m_xtile_ptr; /**< PNX: X coordinate of pattern space */ + uint8_t m_ytile_ptr; /**< PNY: Y coordinate of pattern space */ + bool m_xtile_autoinc; /**< PNXA: Permits auto-increment in X coordinate */ + bool m_ytile_autoinc; /**< PNXA: Permits auto-increment in Y coordinate */ bool m_plane_select_access; /**< B/(A): A/B plane access select */ - - uint8_t m_mosaic_aplane; /**< MCA: mosaic factor applied to A plane */ - uint8_t m_mosaic_bplane; /**< MCA: mosaic factor applied to B plane */ - bool m_sprite_disable; /**< SPRD: disables the sprite plane display */ - bool m_sprite_aux_mode; /**< SPAS: if 0 aux bits selects size, if 1 selects flipping */ - uint8_t m_sprite_aux_reg; /**< SPA: auxiliary bits of sprite attribute table */ - uint8_t m_border_color; /**< BDC: border color */ - + + uint8_t m_mosaic_aplane; /**< MCA: mosaic factor applied to A plane */ + uint8_t m_mosaic_bplane; /**< MCA: mosaic factor applied to B plane */ + bool m_sprite_disable; /**< SPRD: disables the sprite plane display */ + bool m_sprite_aux_mode; /**< SPAS: if 0 aux bits selects size, if 1 selects flipping */ + uint8_t m_sprite_aux_reg; /**< SPA: auxiliary bits of sprite attribute table */ + uint8_t m_border_color; /**< BDC: border color */ + // screen section devcb_write_line m_vblank_handler; devcb_write_line m_raster_handler; - screen_device *m_screen; - emu_timer *m_vblank_timer; - emu_timer *m_raster_timer; - - void screen_configure(); /**< Adjust screen parameters based off CRTC ones */ - attotime raster_sync_offset(); /**< Adjust timing based off raster & CRTC parameters */ - void vblank_irq_check(); /**< mask + pend check for vblank irq */ - void raster_irq_check(); /**< mask + pend check for raster irq */ - void pattern_name_autoinc_check(); /**< check autoinc for tile pointers */ - + screen_device *m_screen; + emu_timer *m_vblank_timer; + emu_timer *m_raster_timer; + + void screen_configure(); /**< Adjust screen parameters based off CRTC ones */ + attotime raster_sync_offset(); /**< Adjust timing based off raster & CRTC parameters */ + void vblank_irq_check(); /**< mask + pend check for vblank irq */ + void raster_irq_check(); /**< mask + pend check for raster irq */ + void pattern_name_autoinc_check(); /**< check autoinc for tile pointers */ + enum { VBLANK_TIMER, RASTER_TIMER }; - + struct { - int htotal; /**< HTL: horizontal total number of dots x 2 */ - int vtotal; /**< VTL: vertical total number of lines x 1 */ - int display_hstart; /**< HDS: horizontal display starting position x 2*/ - int display_vstart; /**< VDS: vertical display starting position x 1 */ - int display_width; /**< HDW: horizontal display size x 16 */ - int display_height; /**< VDW: vertical display size x 8 */ - int display_hsync; /**< HSW: horizontal sync signal x 16 */ - int display_vsync; /**< VSW: vertical sync signal x 1 */ - int border_width; /**< HBW: horizontal border size x 16 */ - int border_height; /**< VBW: vertical border size x 8 */ + int htotal; /**< HTL: horizontal total number of dots x 2 */ + int vtotal; /**< VTL: vertical total number of lines x 1 */ + int display_hstart; /**< HDS: horizontal display starting position x 2*/ + int display_vstart; /**< VDS: vertical display starting position x 1 */ + int display_width; /**< HDW: horizontal display size x 16 */ + int display_height; /**< VDW: vertical display size x 8 */ + int display_hsync; /**< HSW: horizontal sync signal x 16 */ + int display_vsync; /**< VSW: vertical sync signal x 1 */ + int border_width; /**< HBW: horizontal border size x 16 */ + int border_height; /**< VBW: vertical border size x 8 */ }m_crtc; - + // rotation, zoom shortcuts - uint32_t m_ax; /**< AX */ - uint32_t m_dx; /**< DX */ - uint32_t m_dxy; /**< DXY */ - uint32_t m_ay; /**< AY */ - uint32_t m_dy; /**< DY */ - uint32_t m_dyx; /**< DYX */ + uint32_t m_ax; /**< AX */ + uint32_t m_dx; /**< DX */ + uint32_t m_dxy; /**< DXY */ + uint32_t m_ay; /**< AY */ + uint32_t m_dy; /**< DY */ + uint32_t m_dyx; /**< DYX */ // raw register versions of above - uint32_t m_raw_ax; - uint16_t m_raw_dx; + uint32_t m_raw_ax; + uint16_t m_raw_dx; uint16_t m_raw_dxy; uint32_t m_raw_ay; uint16_t m_raw_dy; @@ -363,5 +363,5 @@ DECLARE_DEVICE_TYPE(YGV608, ygv608_device) #define MCFG_YGV608_RASTER_HANDLER( _intcallb ) \ devcb = &ygv608_device::static_set_raster_callback( *device, DEVCB_##_intcallb ); - + #endif diff --git a/src/osd/modules/output/network.cpp b/src/osd/modules/output/network.cpp index e350cfc99dd..650a815a8ae 100644 --- a/src/osd/modules/output/network.cpp +++ b/src/osd/modules/output/network.cpp @@ -41,7 +41,7 @@ public: void start(running_machine &machine) { - m_machine = &machine; + m_machine = &machine; m_clients->insert(shared_from_this()); // now send "hello = 1" to the newly connected client std::strncpy(m_data, "hello = 1\1", max_length); @@ -58,43 +58,43 @@ private: void handle_message(char *msg) { - char verb[1024]; - int value; - - //printf("handle_message: got [%s]\n", msg); - - std::uint32_t ch = 0; - while (msg[ch] != ' ') - { - ch++; - } - msg[ch] = '\0'; - ch++; - std::strncpy(verb, msg, sizeof(verb)-1); - //printf("verb = [%s], ", verb); - - while (msg[ch] != ' ') - { - ch++; - } - - ch++; - value = atoi(&msg[ch]); - //printf("value = %d\n", value); - - if (!std::strcmp(verb, "send_id")) - { - if (value == 0) - { - std::snprintf(m_data, max_length, "req_id = %s\1", machine().system().name); + char verb[1024]; + int value; + + //printf("handle_message: got [%s]\n", msg); + + std::uint32_t ch = 0; + while (msg[ch] != ' ') + { + ch++; + } + msg[ch] = '\0'; + ch++; + std::strncpy(verb, msg, sizeof(verb)-1); + //printf("verb = [%s], ", verb); + + while (msg[ch] != ' ') + { + ch++; + } + + ch++; + value = atoi(&msg[ch]); + //printf("value = %d\n", value); + + if (!std::strcmp(verb, "send_id")) + { + if (value == 0) + { + std::snprintf(m_data, max_length, "req_id = %s\1", machine().system().name); } else { - std::snprintf(m_data, max_length, "req_id = %s\1", machine().output().id_to_name(value)); + std::snprintf(m_data, max_length, "req_id = %s\1", machine().output().id_to_name(value)); } - + do_write(std::strlen(m_data)); - } + } } void do_read() @@ -105,11 +105,11 @@ private: { if (!ec) { - if (length > 0) - { - m_input_m_data[length] = '\0'; - handle_message(m_input_m_data); - } + if (length > 0) + { + m_input_m_data[length] = '\0'; + handle_message(m_input_m_data); + } do_read(); } else @@ -148,7 +148,7 @@ public: output_network_server(asio::io_context& io_context, short port, running_machine &machine) : m_acceptor(io_context, asio::ip::tcp::endpoint(asio::ip::tcp::v4(), port)) { - m_machine = &machine; + m_machine = &machine; do_accept(); } diff --git a/src/tools/unidasm.cpp b/src/tools/unidasm.cpp index c736bdbb892..eafca32f14f 100644 --- a/src/tools/unidasm.cpp +++ b/src/tools/unidasm.cpp @@ -250,7 +250,7 @@ static const dasm_table_entry dasm_table[] = { "arm7thumbb", _16be, 0, CPU_DISASSEMBLE_NAME(arm7thumb_be) }, { "asap", _32le, 0, CPU_DISASSEMBLE_NAME(asap) }, { "avr8", _16le, 0, CPU_DISASSEMBLE_NAME(avr8) }, - { "capricorn", _8bit, 0, CPU_DISASSEMBLE_NAME(capricorn) }, + { "capricorn", _8bit, 0, CPU_DISASSEMBLE_NAME(capricorn) }, { "ccpu", _8bit, 0, CPU_DISASSEMBLE_NAME(ccpu) }, { "cdp1801", _8bit, 0, CPU_DISASSEMBLE_NAME(cdp1801) }, { "cdp1802", _8bit, 0, CPU_DISASSEMBLE_NAME(cdp1802) }, |