summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/spc1500.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/spc1500.cpp')
-rw-r--r--src/mame/drivers/spc1500.cpp46
1 files changed, 24 insertions, 22 deletions
diff --git a/src/mame/drivers/spc1500.cpp b/src/mame/drivers/spc1500.cpp
index 8fc2d1eefac..45240d8625c 100644
--- a/src/mame/drivers/spc1500.cpp
+++ b/src/mame/drivers/spc1500.cpp
@@ -13,11 +13,11 @@ Samsung SPC-1500 driver by Miso Kim
2016-01-05 detection of color palette initialization
2016-01-06 80x16 mode graphic mode support
2016-01-10 double character support
- 2016-01-12 PCG adressing improved
+ 2016-01-12 PCG addressing improved
2016-01-13 Cassette tape motor improved
TODO:
- - Verify PCG ram read for Korean character (english character is fine)
+ - Verify PCG ram read for Korean character (English character is fine)
- Support floppy disk drive with SD-1500A controller card
****************************************************************************/
@@ -44,7 +44,7 @@ TODO:
- English font: 8KB (sizes 8x8 and 8x16 size of each character in ROM)
- Hangul fonts: 24KB (head 8KB, middle 8KB, last 8KB)
- Periperials
+ Peripherals
- Built-in cassette deck
- 1 composite video output to connect a monitor
- 1 TTL output for RGB monitor connection
@@ -66,9 +66,9 @@ TODO:
3) SPC-1500V
This product can not confirm the release date because of PCB level modification.
- It equiped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card.
+ It equipped SPC-1500V VLSI chip embedded products and removed a lot of TTLs and the memory expansion card.
- IOCS ROM Version: 1.6
- - Two internal 50-pin expension slots
+ - Two internal 50-pin expansion slots
Firmware
@@ -90,11 +90,11 @@ TODO:
Hangul ROM
8KB each is divided by a consonant and consonant and neutral.
- - Initial (Choseong) SS151-1223: 8 types of intial character (actual 6 types)
+ - Initial (Choseong) SS151-1223: 8 types of initial character (actual 6 types)
- Middle (Jungseong) SS152-1224: 2 types of middle character
- Final (Jongseong) SS153-1225: 2 types of final character
- Periperials - Monitor
+ Peripherals - Monitor
- , high-resolution monitor SM, color monitor model was to distinguish it from CD.
1) MD-1255H (Low resolution monitors MD)
@@ -128,7 +128,7 @@ TODO:
- 5.25 "floppy drive for 2D composed of external disk drives diskettes
2) SD-1500B
- Dual external disk drives
- - The two models are idential except the number of FDD. They need the expension controller card named by SFC-1500.
+ - The two models are identical except the number of FDD. They need the expansion controller card named by SFC-1500.
- IBM PC XT compatible FDD can be quipped. SFD-5x0 model is a genuine FDD from Samsung Electronics.
HDD (Hard Disk Drive)
@@ -149,9 +149,9 @@ TODO:
1) SP-510S
- Bitmap image output method Hangul support
- - Recommanded 80 columns dot-matrix printer
+ - Recommended 80 columns dot-matrix printer
2) SP-570H
- - Recommanded 132 columns dot-matrix printer
+ - Recommended 132 columns dot-matrix printer
3) SP-510L
4) SP-510T
5) SP-570B
@@ -207,7 +207,7 @@ TODO:
- Release price: 49,900won ($58)
Super Pack
- - External ROM cartrige from Static Soft (C)
+ - External ROM cartridge from Static Soft (C)
- 1 cartridge slot and 3 expansion slots (up to five expansion slots available)
- It is available to use the MSX ROM packs without any modification with the static soft VDP card
- Release price: 60,000won ($71)
@@ -215,7 +215,7 @@ TODO:
ST-KEY2
- For synthesizer external keyboard
- * Compatiblity with X1 series of Sharp Electronics
+ * Compatibility with X1 series of Sharp Electronics
- Almost the key components is the same as X1 models of Sharp Electronics and except for the keyboard input.
- To port the X1 software to SPC-1500, Text attribute, keyboard input and DMA related code should be modified
@@ -239,6 +239,9 @@ TODO:
#include "formats/spc1000_cas.h"
+
+namespace {
+
#define VDP_CLOCK XTAL(42'954'545)
class spc1500_state : public driver_device
@@ -264,6 +267,11 @@ public:
void spc1500(machine_config &config);
+protected:
+ virtual void machine_start() override;
+ virtual void machine_reset() override;
+
+
private:
uint8_t psga_r();
uint8_t porta_r();
@@ -285,7 +293,6 @@ private:
void double_w(offs_t offset, uint8_t data);
uint8_t io_r(offs_t offset);
void spc_palette(palette_device &palette) const;
- DECLARE_VIDEO_START(spc);
MC6845_UPDATE_ROW(crtc_update_row);
MC6845_RECONFIGURE(crtc_reconfig);
TIMER_DEVICE_CALLBACK_MEMBER(timer);
@@ -308,8 +315,6 @@ private:
bool m_motor_toggle;
uint8_t m_crtc_vreg[0x100];
bool m_centronics_busy;
- virtual void machine_start() override;
- virtual void machine_reset() override;
required_device<z80_device> m_maincpu;
required_device<mc6845_device> m_vdg;
required_device<cassette_image_device> m_cass;
@@ -511,9 +516,6 @@ void spc1500_state::spc_palette(palette_device &palette) const
palette.set_pen_color(7,rgb_t(0xff,0xff,0xff));
}
-VIDEO_START_MEMBER(spc1500_state, spc)
-{
-}
MC6845_RECONFIGURE(spc1500_state::crtc_reconfig)
{
@@ -840,7 +842,7 @@ void spc1500_state::machine_reset()
m_char_count = 0;
}
-uint8_t spc1500_state::mc6845_videoram_r(offs_t offset)
+[[maybe_unused]] uint8_t spc1500_state::mc6845_videoram_r(offs_t offset)
{
return m_p_videoram[offset];
}
@@ -853,7 +855,7 @@ uint8_t spc1500_state::psga_r()
return data;
}
-uint8_t spc1500_state::porta_r()
+[[maybe_unused]] uint8_t spc1500_state::porta_r()
{
uint8_t data = 0x3f;
data |= (m_cass->input() > 0.0038) ? 0x80 : 0;
@@ -889,8 +891,6 @@ void spc1500_state::spc1500(machine_config &config)
m_vdg->set_update_row_callback(FUNC(spc1500_state::crtc_update_row));
m_vdg->set_reconfigure_callback(FUNC(spc1500_state::crtc_reconfig));
- MCFG_VIDEO_START_OVERRIDE(spc1500_state, spc)
-
I8255(config, m_pio);
m_pio->out_pa_callback().set("cent_data_out", FUNC(output_latch_device::write));
m_pio->in_pb_callback().set(FUNC(spc1500_state::portb_r));
@@ -939,7 +939,9 @@ ROM_START( spc1500 )
ROM_LOAD( "ss153fnt.bin", 0x6000, 0x2000, CRC(8677d5fa) SHA1(34bfacc855c3846744cd586c150c72e5cbe948b0) )
ROM_END
+} // Anonymous namespace
+
/* Driver */
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS