Minor comments etc in various drivers (mostly mine)

This commit is contained in:
Robbbert 2022-04-14 02:11:54 +10:00
parent e269443a19
commit 7bb372f194
37 changed files with 160 additions and 164 deletions

View File

@ -68,7 +68,7 @@ ToDo:
- 80 column mode (used in Turbo Monitor)
Keyboard:
- okean240 - external ascii keyboard
- okean240 - external ascii keyboard
- okean240a - internal keyboard
- okean240t - serial keyboard & screen
@ -131,7 +131,7 @@ private:
u8 m_j = 0U;
u8 m_scroll = 0U;
u8 m_tog = 0U;
bool m_key_pressed = 0;
bool m_key_pressed = false;
u8 m_kbd_row = 0U;
required_shared_ptr<u8> m_p_videoram;
optional_ioport_array<11> m_io_keyboard;

View File

@ -2,9 +2,9 @@
// copyright-holders:Robbbert
/***************************************************************************
P112 Single Board Computer
P112 Single Board Computer
30/08/2010 Skeleton driver
2010-08-30 Skeleton driver
The P112 is a stand-alone 8-bit CPU board. Typically running CP/M (tm) or a
similar operating system, it provides a Z80182 (Z-80 upgrade) CPU with up to

View File

@ -106,7 +106,7 @@ private:
void pegasusm_mem(address_map &map);
u8 m_kbd_row = 0U;
bool m_kbd_irq = 0;
bool m_kbd_irq = false;
u8 m_control_bits = 0U;
std::unique_ptr<u8[]> m_pcg;
void pegasus_decrypt_rom(u8 *ROM);

View File

@ -128,7 +128,7 @@ private:
virtual void machine_start() override;
int m_centronics_busy = 0;
int m_centronics_ack = 0;
bool m_cass_state = 0;
bool m_cass_state = false;
required_device<cpu_device> m_maincpu;
required_device<centronics_device> m_centronics;
required_device<cassette_image_device> m_cass;

View File

@ -77,7 +77,7 @@ private:
void data_map(address_map &map);
void mem_map(address_map &map);
u8 m_cass_data[4]{};
bool m_cassold = 0, m_cassinbit = 0;
bool m_cassold = false, m_cassinbit = false;
};
void pipbug_state::pipbug_ctrl_w(u8 data)

View File

@ -58,7 +58,7 @@ private:
void io_map(address_map &map);
void mem_map(address_map &map);
u8 m_kbd_row = 0U;
bool m_spk_pol = 0;
bool m_spk_pol = false;
virtual void machine_reset() override;
virtual void machine_start() override;
memory_passthrough_handler m_rom_shadow_tap;

View File

@ -67,8 +67,8 @@ private:
void mem_map(address_map &map);
uint8_t m_keyrow = 0U;
bool m_ledready = 0;
bool m_cassbit = 0,m_cassold = 0;
bool m_ledready = false;
bool m_cassbit = false, m_cassold = false;
u16 m_cass_cnt = 0U;
virtual void machine_reset() override;
virtual void machine_start() override;

View File

@ -159,10 +159,10 @@ private:
required_region_ptr<uint8_t> m_char_rom;
required_ioport m_battery;
uint8_t m_ip;
uint8_t m_ie;
uint16_t m_counter;
int m_rom_b;
uint8_t m_ip = 0;
uint8_t m_ie = 0;
uint16_t m_counter = 0;
int m_rom_b = 0;
};

View File

@ -122,7 +122,7 @@ private:
struct
{
uint8_t trap[4]{};
std::unique_ptr<uint8_t[]> videoram_base{};
std::unique_ptr<uint8_t[]> videoram_base;
uint8_t *videoram = nullptr;
uint8_t mode_control_6a = 0;
uint8_t color_select_68 = 0;

View File

@ -59,34 +59,34 @@ protected:
private:
struct PRC
{
uint8_t colors_inverted;
uint8_t background_enabled;
uint8_t sprites_enabled;
uint8_t copy_enabled;
uint8_t map_size;
uint8_t map_size_x;
uint8_t frame_count;
uint8_t max_frame_count;
uint32_t bg_tiles;
uint32_t spr_tiles;
uint8_t count;
emu_timer *count_timer;
uint8_t colors_inverted = 0;
uint8_t background_enabled = 0;
uint8_t sprites_enabled = 0;
uint8_t copy_enabled = 0;
uint8_t map_size = 0;
uint8_t map_size_x = 0;
uint8_t frame_count = 0;
uint8_t max_frame_count = 0;
uint32_t bg_tiles = 0;
uint32_t spr_tiles = 0;
uint8_t count = 0;
emu_timer *count_timer = nullptr;
};
struct TIMERS
{
emu_timer *seconds_timer;
emu_timer *hz256_timer;
emu_timer *timer1; // Timer 1 low or 16bit
emu_timer *timer1_hi; // Timer 1 hi
emu_timer *timer2; // Timer 2 low or 16bit
emu_timer *timer2_hi; // Timer 2 high
emu_timer *timer3; // Timer 3 low or 16bit
emu_timer *timer3_hi; // Timer 3 high
emu_timer *seconds_timer = nullptr;
emu_timer *hz256_timer = nullptr;
emu_timer *timer1 = nullptr; // Timer 1 low or 16bit
emu_timer *timer1_hi = nullptr; // Timer 1 hi
emu_timer *timer2 = nullptr; // Timer 2 low or 16bit
emu_timer *timer2_hi = nullptr; // Timer 2 high
emu_timer *timer3 = nullptr; // Timer 3 low or 16bit
emu_timer *timer3_hi = nullptr; // Timer 3 high
};
uint8_t m_pm_reg[0x100];
uint8_t m_pm_reg[0x100]{};
PRC m_prc;
TIMERS m_timers;
bitmap_ind16 m_bitmap;
@ -119,7 +119,6 @@ private:
void timer3_callback();
void timer3_hi_callback();
void prc_counter_callback();
};

View File

@ -111,7 +111,7 @@ private:
required_device<fd1771_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
floppy_image_device *m_floppy;
floppy_image_device *m_floppy = nullptr;
};

View File

@ -116,7 +116,7 @@ private:
u8 m_flashcnt = 0U;
u16 m_curs_pos = 0U;
u8 m_cass_data[4]{};
bool m_cassbit = 0, m_cassold = 0, m_cassinbit = 0;
bool m_cassbit = false, m_cassold = false, m_cassinbit = false;
std::unique_ptr<u8[]> m_vram;
required_device<cpu_device> m_maincpu;
required_region_ptr<u8> m_p_chargen;

View File

@ -172,14 +172,14 @@ private:
struct cass_data_t
{
struct {
int length; /* time cassette level is at input.level */
int level; /* cassette level */
int bit; /* bit being read */
int length = 0; /* time cassette level is at input.level */
int level = 0; /* cassette level */
int bit = 0; /* bit being read */
} input;
struct {
int length; /* time cassette level is at output.level */
int level; /* cassette level */
int bit; /* bit to output */
int length = 0; /* time cassette level is at output.level */
int level = 0; /* cassette level */
int bit = 0; /* bit to output */
} output;
};
@ -206,7 +206,7 @@ private:
u8 m_sol20_fe = 0U;
u8 m_framecnt = 0U;
cass_data_t m_cass_data;
emu_timer *m_cassette_timer;
emu_timer *m_cassette_timer = nullptr;
cassette_image_device *cassette_device_image();
memory_passthrough_handler m_rom_shadow_tap;
required_device<i8080a_cpu_device> m_maincpu;

View File

@ -2,23 +2,23 @@
// copyright-holders:Miodrag Milanovic, Robbbert
/***************************************************************************
Pyldin-601
Pyldin-601
12/05/2009 Skeleton driver.
22/04/2012 Added sound, fixed keyboard, marked as working [Robbbert]
2009-05-12 Skeleton driver.
2012-04-22 Added sound, fixed keyboard, marked as working [Robbbert]
ToDo?
- PYL601 - command 'MODE80' does nothing
ToDo?
- PYL601 - command 'MODE80' does nothing
- PYL601a - most software looks odd (unplayable) because of the
different design of the screen.
- PYL601A - command 'MODE40' doesn't go to 40-columns, instead
there is a space between each letter.
- PYL601a - most software looks odd (unplayable) because of the
different design of the screen.
- PYL601A - command 'MODE40' doesn't go to 40-columns, instead
there is a space between each letter.
The BASIC
- to get back to dos, enter SYSTEM
- It has its own internal monitor: MON to enter, Q to exit.
The BASIC
- to get back to dos, enter SYSTEM
- It has its own internal monitor: MON to enter, Q to exit.

View File

@ -112,7 +112,7 @@ private:
required_ioport m_cpu_speed;
required_region_ptr<u8> m_eprom;
required_shared_ptr<u8> m_p_ram;
bool m_power_on;
bool m_power_on = false;
bool m_rts;
bool m_dtr;
};

View File

@ -9,8 +9,8 @@ the entire thing (including the circuit boards) yourself.
https://web.archive.org/web/20160321001634/http://petersieg.bplaced.com/?2650_Computer:2650_Selbstbaucomputer
2013-04-23 Skeleton driver.
2013-04-23 Skeleton driver.
No instructions, no schematics - it's all guesswork.

View File

@ -89,12 +89,12 @@ private:
void io_map(address_map &map);
void mem_map(address_map &map);
bool m_q_state = 0;
bool m_qbar_state = 0;
bool m_drq_state = 0;
bool m_q_state = false;
bool m_qbar_state = false;
bool m_drq_state = false;
uint16_t m_beepcnt = 0U;
bool m_eop = 0;
bool m_dack1 = 0;
bool m_eop = false;
bool m_dack1 = false;
required_device<palette_device> m_palette;
required_device<z80_device> m_maincpu;
required_region_ptr<u8> m_rom;

View File

@ -121,7 +121,7 @@ private:
u8 m_pri_mask = 0U;
u8 m_key_mux = 0U;
u8 m_background = 0U;
bool m_irq_en = 1;
bool m_irq_en = true;
u8 m_irq_slow = 0U;
u8 m_irq_count = 0U;
std::unique_ptr<u8[]> m_vram;

View File

@ -2,9 +2,9 @@
// copyright-holders:Robbbert
/***************************************************************************
SacState 8008
SacState 8008
23/02/2009 Skeleton driver.
2009-02-23 Skeleton driver.
http://www.digibarn.com/stories/bill-pentz-story/index.html

View File

@ -2,26 +2,26 @@
// copyright-holders:Robbbert
/***************************************************************************
Savia 84
Savia 84
More data at :
More data at :
http://www.nostalcomp.cz/pdfka/savia84.pdf
http://www.nostalcomp.cz/savia.php
(use archive.org)
05/02/2011 Skeleton driver.
11/10/2011 Found a new rom. Working [Robbbert]
2011-02-05 Skeleton driver.
2011-10-11 Found a new rom. Working [Robbbert]
I assume all the LEDs are red ones. The LEDs down the
left side I assume to be bit 0 through 7 in that order.
I assume all the LEDs are red ones. The LEDs down the
left side I assume to be bit 0 through 7 in that order.
Pasting:
Pasting:
0-F : as is
DA : ^
AD : -
GO : X
Here is a test program. Copy the text and Paste into the emulator.
Here is a test program. Copy the text and Paste into the emulator.
-1800^3E^55^D3^F9^76^XX1800^
****************************************************************************/

View File

@ -118,7 +118,7 @@ private:
void sub_io_map(address_map &map);
void sub_mem_map(address_map &map);
bool m_busak = 0;
bool m_busak = false;
u8 m_keydown = 0U;
u8 m_porta = 0U;
u8 m_portb = 0U;

View File

@ -2,10 +2,10 @@
// copyright-holders:Robbbert
/***************************************************************************
SEL Z80 Trainer (LEHRSYSTEME)
SEL Z80 Trainer (LEHRSYSTEME)
31/08/2010 Skeleton driver.
23/06/2011 Working [Robbbert]
2010-08-31 Skeleton driver.
2011-06-23 Working [Robbbert]
No diagram has been found. The following is guesswork.

View File

@ -183,7 +183,7 @@ private:
uint16_t m_page = 0U;
std::unique_ptr<uint8_t[]> m_work_ram;
attotime m_time;
bool m_centronics_busy = 0;
bool m_centronics_busy = false;
virtual void machine_start() override;
virtual void machine_reset() override;
required_device<z80_device> m_maincpu;

View File

@ -262,7 +262,6 @@ public:
, m_pio(*this, "ppi8255")
, m_sound(*this, "ay8910")
, m_palette(*this, "palette")
, m_timer(nullptr)
{ }
void spc1500(machine_config &config);
@ -300,21 +299,21 @@ private:
void spc1500_double_io(address_map &map);
void spc1500_mem(address_map &map);
uint8_t *m_p_ram;
uint8_t m_ipl;
uint8_t m_palet[3];
uint8_t m_paltbl[8];
uint8_t m_pcg_char, m_pcg_attr, m_char_change;
uint16_t m_pcg_offset[3];
int m_char_count;
uint8_t *m_p_ram = nullptr;
uint8_t m_ipl = 0;
uint8_t m_palet[3]{};
uint8_t m_paltbl[8]{};
uint8_t m_pcg_char = 0, m_pcg_attr = 0, m_char_change = 0;
uint16_t m_pcg_offset[3]{};
int m_char_count = 0;
attotime m_time;
bool m_romsel;
bool m_double_mode;
bool m_p5bit;
bool m_motor;
bool m_motor_toggle;
uint8_t m_crtc_vreg[0x100];
bool m_centronics_busy;
bool m_romsel = false;
bool m_double_mode = false;
bool m_p5bit = false;
bool m_motor = false;
bool m_motor_toggle = false;
uint8_t m_crtc_vreg[0x100]{};
bool m_centronics_busy = false;
required_device<z80_device> m_maincpu;
required_device<mc6845_device> m_vdg;
required_device<cassette_image_device> m_cass;
@ -328,9 +327,9 @@ private:
required_device<i8255_device> m_pio;
required_device<ay8910_device> m_sound;
required_device<palette_device> m_palette;
uint8_t *m_font;
uint8_t m_priority;
emu_timer *m_timer;
uint8_t *m_font = nullptr;
uint8_t m_priority = 0;
emu_timer *m_timer = nullptr;
void get_pcg_addr();
};

View File

@ -176,7 +176,7 @@ private:
floppy_image_device *m_floppy;
required_device<generic_slot_device> m_cart;
memory_region *m_cart_rom = 0;
memory_region *m_cart_rom = nullptr;
};
/*****************************************

View File

@ -277,7 +277,7 @@ protected:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER( cart_load );
/* keyboard state */
uint8_t m_keylatch;
uint8_t m_keylatch = 0;
void studio2_io_map(address_map &map);
void studio2_map(address_map &map);

View File

@ -2,25 +2,25 @@
// copyright-holders: Robbbert
/*********************************************************************************
Tavernier CPU09 and IVG09 (Realisez votre ordinateur individuel)
Tavernier CPU09 and IVG09 (Realisez votre ordinateur individuel)
2013-12-08 Skeleton driver.
2013-12-08 Skeleton driver.
This system was described in a French computer magazine "Micro-Informatique".
This system was described in a French computer magazine "Micro-Informatique".
CPU09 includes 6809, 6821, 6840, 6850, cassette, rs232
IVG09 includes 6845, another 6821, beeper
IFD09 includes WD1795
CPU09 includes 6809, 6821, 6840, 6850, cassette, rs232
IVG09 includes 6845, another 6821, beeper
IFD09 includes WD1795
ToDo:
- Graphics
- Character rom is not dumped
- Graphics rom is not dumped
- Graphics
- Character rom is not dumped
- Graphics rom is not dumped
(note 2020-05-29: added what are thought to be the correct roms, but the proper
operation is uncertain).
- 3x 7611 proms not dumped
- Test FDC
- Need software (there are floppy images, but they are not yet in a supported format)
- 3x 7611 proms not dumped
- Test FDC
- Need software (there are floppy images, but they are not yet in a supported format)
List of commands (must be in UPPERCASE):
@ -94,7 +94,7 @@ protected:
TIMER_DEVICE_CALLBACK_MEMBER(kansas_r);
void cpu09_mem(address_map &map);
u8 m_pa = 0U;
bool m_cassold = 0;
bool m_cassold = false;
required_device<cpu_device> m_maincpu;
required_device<cassette_image_device> m_cass;
required_device<pia6821_device> m_pia0;

View File

@ -2,7 +2,7 @@
// copyright-holders:Robbbert
/***************************************************************************
TEC-1 driver, written by Robbbert in April, 2009 for MESS.
TEC-1 driver, written by Robbbert in April, 2009.
The TEC-1 was a single-board "computer" described in Talking Electronics
magazine, issues number 10 and 11. Talking Electronics do not have dates on

View File

@ -68,16 +68,13 @@ private:
uint32_t tk80bs_state::screen_update_tk80bs(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
int x,y;
int count;
u16 count = 0;
count = 0;
for(y=0;y<16;y++)
for(u8 y = 0; y < 16; y++)
{
for(x=0;x<32;x++)
for(u8 x = 0; x < 32; x++)
{
int tile = m_p_videoram[count++];
u8 tile = m_p_videoram[count++];
m_gfxdecode->gfx(0)->opaque(bitmap,cliprect, tile, 0, 0, 0, x*8, y*8);
}

View File

@ -77,8 +77,8 @@ private:
void io_map(address_map &map);
void prg_map(address_map &map);
bool m_bow = 0;
bool m_cent_busy = 0;
bool m_bow = false;
bool m_cent_busy = false;
virtual void machine_reset() override;
virtual void machine_start() override;
required_shared_ptr<u8> m_p_videoram;

View File

@ -2,14 +2,14 @@
// copyright-holders:Robbbert
/************************************************************************************************
Unior
Unior
2009-05-12 Skeleton driver.
2013-10-09 Added DMA and CRTC
2013-10-11 Added PPI, PIT, UART, sound
2009-05-12 Skeleton driver.
2013-10-09 Added DMA and CRTC
2013-10-11 Added PPI, PIT, UART, sound
Some info obtained from EMU-80.
The schematic is difficult to read, and some code is guesswork.
Some info obtained from EMU-80.
The schematic is difficult to read, and some code is guesswork.
The monitor will only allow certain characters to be typed, thus the
modifier keys appear to do nothing. There is no need to use the enter
@ -95,7 +95,7 @@ private:
u8 m_4c = 0U;
u8 m_4e = 0U;
bool m_txe = 0, m_txd = 0, m_rts = 0, m_casspol = 0;
bool m_txe = false, m_txd = false, m_rts = false, m_casspol = false;
u8 m_cass_data[4]{};
virtual void machine_reset() override;
virtual void machine_start() override;

View File

@ -210,22 +210,22 @@ private:
u16 m_disp_mask = 0U;
u16 m_bank_mask = 0U;
bool m_parity_poison = 0;
bool m_display_enable = 0;
bool m_parity_poison = false;
bool m_display_enable = false;
u8 m_framecnt = 0U;
bool m_nvram_protect = 0;
bool m_nvram_protect = false;
bool m_alarm_enable = 0;
bool m_alarm_toggle = 0;
bool m_alarm_enable = false;
bool m_alarm_toggle = false;
bool m_loopback_control = 0;
bool m_comm_rxd = 0;
bool m_sio_txda = 0;
bool m_aux_rxd = 0;
bool m_sio_txdb = 0;
bool m_sio_rtsb = 0;
bool m_aux_dsr = 0;
bool m_sio_wrdyb = 0;
bool m_loopback_control = false;
bool m_comm_rxd = false;
bool m_sio_txda = false;
bool m_aux_rxd = false;
bool m_sio_txdb = false;
bool m_sio_rtsb = false;
bool m_aux_dsr = false;
bool m_sio_wrdyb = false;
};

View File

@ -2,10 +2,10 @@
// copyright-holders:Miodrag Milanovic
/***************************************************************************
UT88 driver by Miodrag Milanovic
UT88 driver by Miodrag Milanovic
09/03/2008 Keyboard fixed, sound added.
06/03/2008 Preliminary driver.
2008-03-09 Keyboard fixed, sound added.
2008-03-06 Preliminary driver.
UT88MINI
********

View File

@ -2,9 +2,9 @@
// copyright-holders:Robbbert
/**********************************************************************************************
Vegas 6809
Vegas 6809
Skeleton driver
Skeleton driver
Devices:
@ -31,16 +31,16 @@ M modify memory (. to exit)
ToDo:
- Colours (Looks like characters 0xc0-0xff produce coloured lores gfx).
- Colours (Looks like characters 0xc0-0xff produce coloured lores gfx).
- Connect the RTC interrupt pin (not supported currently)
- Connect the RTC interrupt pin (not supported currently)
- Find the missing character generator rom.
- Find the missing character generator rom.
- Schematic is almost useless, riddled with omissions and errors. All documents are in
French. The parts list only has half of the parts.
- Schematic is almost useless, riddled with omissions and errors. All documents are in
French. The parts list only has half of the parts.
- Need software (there are floppy images, but they are not yet in a supported format)
- Need software (there are floppy images, but they are not yet in a supported format)
*******************************************************************************************/

View File

@ -57,7 +57,6 @@ public:
, m_bdmem(*this, "bdmem")
, m_display(*this, "display")
, m_io_keyboard(*this, "Y%u", 0U)
, m_keyclk(0)
{ }
void vcs80(machine_config &config);
@ -102,7 +101,7 @@ private:
}
/* keyboard state */
bool m_keyclk = 0;
bool m_keyclk = false;
u8 m_digit = 0U;
u8 m_seg = 0U;
void init_vcs80();

View File

@ -164,7 +164,7 @@ private:
int m_cmd_d0 = 0;
int m_cmd_d1 = 0;
bool m_fdint = 0;
bool m_fdint = false;
int m_vsync = 0;
int m_srq = 1;
@ -180,8 +180,8 @@ private:
int m_enb_ring_int = 0;
// video state
bool m_alt = 0;
bool m_256 = 0;
bool m_alt = false;
bool m_256 = false;
};

View File

@ -3,6 +3,8 @@
/***************************************************************************
VTA-2000 Terminal
Made at Ukrainian SSR, Vinnitsa Terminal Plant
(info from https://prog.world/dataart-has-opened-the-website-of-the-it-museum/ )
Board images : http://fotki.yandex.ru/users/lodedome/album/93699?p=0
@ -46,6 +48,7 @@ public:
private:
void output_00(uint8_t data);
DECLARE_WRITE_LINE_MEMBER(speaker_w);
uint8_t m_framecnt = 0;
uint32_t screen_update_vta2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@ -101,10 +104,9 @@ void vta2000_state::machine_reset()
uint32_t vta2000_state::screen_update_vta2000(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
/* Cursor is missing. */
{
static uint8_t framecnt=0; // FIXME: static variable
uint16_t sy=0,ma=0;
framecnt++;
m_framecnt++;
for (uint8_t y = 0; y < 25; y++)
{
@ -134,7 +136,7 @@ uint32_t vta2000_state::screen_update_vta2000(screen_device &screen, bitmap_ind1
fg = 2; // highlight
else
fg = 1;
if ((BIT(attr, 1)) && (BIT(framecnt, 5)))
if ((BIT(attr, 1)) && (BIT(m_framecnt, 5)))
gfx = 0; // blink
if ((BIT(attr, 5)) && (ra == 10))
{
@ -236,4 +238,4 @@ ROM_END
} // Anonymous namespace
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
COMP( 19??, vta2000, 0, 0, vta2000, vta2000, vta2000_state, empty_init, "<unknown>", "VTA2000-15m", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )
COMP( 198?, vta2000, 0, 0, vta2000, vta2000, vta2000_state, empty_init, "<unknown>", "VTA2000-15m", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE )