mirror of
https://github.com/holub/mame
synced 2025-07-05 18:08:04 +03:00
sharp/x1: fix AY routing to mono
This commit is contained in:
parent
b50656a9fe
commit
c34c2144e1
@ -19,20 +19,17 @@ Games I haven't managed to start (possibly due to my mistakes):
|
||||
* gatlabyr: how to start a game?
|
||||
* gambler2: how to pass the first menu?
|
||||
* crimson, crimsona: which disk combination is expected?
|
||||
* blassty: stuck at no animation menu
|
||||
|
||||
Games with possible issues (either in emulation or in dump):
|
||||
* wizardry->4: can't add character name. also how to create a duplicate disk (in pc8801 they were in the disk set)?
|
||||
* profmj: true 400 lines mode not implemented?
|
||||
* hydlide2b has no saved data, while hydlide2 & hydlide2a have characters in them
|
||||
* hydlide3b: fails to see the user disk + the set contains at least 1 hydlide disk (check crc16)
|
||||
* gruppe: starts loading then errors out as if the disk is not recognized
|
||||
* frontlin: input issue?
|
||||
* dione: does not display text correctly
|
||||
* blckonyx: is it missing a data disk?
|
||||
* bastard: does not start. input issue?
|
||||
* aokiooka: glitches (chars cut in half)
|
||||
* advfant: glitches
|
||||
* ys: character sprite is glitched until you enter a new area
|
||||
|
||||
Games which start loading but never reach the program:
|
||||
@ -101,29 +98,30 @@ Plus, some games crash MAME at exit (e.g. some sorcer disks or some arcus disks)
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="advfant">
|
||||
<software name="advfant" supported="no">
|
||||
<description>Advanced Fantasian - Quest for Lost Sanctuary</description>
|
||||
<year>1989</year>
|
||||
<publisher>クリスタルソフト (Xtal Soft)</publisher>
|
||||
<notes><![CDATA[
|
||||
Cannot select other options in main menu, including user disk creation [KBD]
|
||||
]]></notes>
|
||||
|
||||
<info name="release" value="198905xx"/>
|
||||
<info name="alt_title" value="アドヴァンスト ファンタジアン"/>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Main Disk" />
|
||||
<dataarea name="flop" size="348848">
|
||||
<rom name="advfant_main.d88" size="348848" crc="64291b34" sha1="5c5fe39a1dc43d00ab738974988c532df80d3b3b"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
<part name="flop2" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Scenario Disk" />
|
||||
<dataarea name="flop" size="348848">
|
||||
<rom name="advfant_scenario.d88" size="348848" crc="a4fd9761" sha1="aa91bf27b183a5e24605c06dc63c26e5ec353df9"/>
|
||||
</dataarea>
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="advfantd" cloneof="advfant">
|
||||
<description>Advanced Fantasian - Quest for Lost Sanctuary (Demo)</description>
|
||||
<year>1989</year>
|
||||
<publisher>クリスタルソフト (Xtal Soft)</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<part name="flop3" interface="floppy_5_25">
|
||||
<feature name="part_id" value="Demo Disk" />
|
||||
<dataarea name="flop" size="348848">
|
||||
<rom name="advfant_demo.d88" size="348848" crc="8493aed0" sha1="a4a7b7dc0b7f884d55ff05b581b587cc6a27e27d"/>
|
||||
</dataarea>
|
||||
@ -445,10 +443,14 @@ Black screen after WolfTeam logo
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="blassty">
|
||||
<software name="blassty" supported="no">
|
||||
<description>Cruise Chaser - Blassty</description>
|
||||
<year>1986</year>
|
||||
<publisher>スクウェア (Square)</publisher>
|
||||
<notes><![CDATA[
|
||||
Unresponsive [KBD]
|
||||
]]></notes>
|
||||
|
||||
<info name="release" value="198612xx"/>
|
||||
<info name="alt_title" value="ブラスティ"/>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
@ -938,10 +940,14 @@ IPL loading resolves to a red and corrupt screen, baddump?
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="gruppe">
|
||||
<software name="gruppe" supported="no">
|
||||
<description>Gruppe</description>
|
||||
<year>1985</year>
|
||||
<publisher>SPS</publisher>
|
||||
<notes><![CDATA[
|
||||
Shows a random bitmap graphic then returns "program load error", wants [FDC] write protection enabled (regression)
|
||||
]]></notes>
|
||||
|
||||
<info name="release" value="198506xx"/>
|
||||
<info name="alt_title" value="ぐるっぺ"/>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
@ -2842,10 +2848,14 @@ Broken [kanji]
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="slaydock">
|
||||
<software name="slaydock" supported="partial">
|
||||
<description>Super Laydock - Mission Striker</description>
|
||||
<year>1988</year>
|
||||
<publisher>T&E Soft</publisher>
|
||||
<notes><![CDATA[
|
||||
Expects [KBD] name entry presses with shift held
|
||||
]]></notes>
|
||||
|
||||
<info name="release" value="198801xx"/>
|
||||
<info name="alt_title" value="スーパーレイドック"/>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
@ -2860,10 +2870,14 @@ Broken [kanji]
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="slaydocka" cloneof="slaydock">
|
||||
<software name="slaydocka" cloneof="slaydock" supported="partial">
|
||||
<description>Super Laydock - Mission Striker (alt)</description>
|
||||
<year>1988</year>
|
||||
<publisher>T&E Soft</publisher>
|
||||
<notes><![CDATA[
|
||||
Expects [KBD] name entry presses with shift held
|
||||
]]></notes>
|
||||
|
||||
<info name="release" value="198801xx"/>
|
||||
<info name="alt_title" value="スーパーレイドック"/>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
@ -2878,8 +2892,9 @@ Broken [kanji]
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="slaydocm">
|
||||
<description>Super Laydock Muteki</description>
|
||||
<!-- TODO: pending removal, Muteki -> Invincibility -->
|
||||
<software name="slaydocm" cloneof="slaydock" supported="partial">
|
||||
<description>Super Laydock - Mission Striker (Muteki hack)</description>
|
||||
<year>19??</year>
|
||||
<publisher>T&E Soft</publisher>
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
@ -6445,10 +6460,16 @@ HP Osho
|
||||
</part>
|
||||
</software>
|
||||
|
||||
<software name="dezalis">
|
||||
<software name="dezalis" supported="no">
|
||||
<description>Dezalis</description>
|
||||
<year>19??</year>
|
||||
<publisher><unknown></publisher>
|
||||
<publisher><homebrew></publisher>
|
||||
<notes><![CDATA[
|
||||
Has [6845] abuses during gameplay
|
||||
]]></notes>
|
||||
<info name="alt_title" value="デザリス"/>
|
||||
<!-- Same dev as several pc8001_flop games such as flgworld and various2 -->
|
||||
|
||||
<part name="flop1" interface="floppy_5_25">
|
||||
<dataarea name="flop" size="0x050000">
|
||||
<rom name="dezalis.2d" size="0x050000" crc="d9ba6eb6" sha1="6a6a564b2eabc35dbc1591abb8efcf6a9e98bd10"/>
|
||||
|
@ -5,7 +5,18 @@
|
||||
|
||||
Sharp X1 (c) 1983 Sharp Corporation
|
||||
|
||||
References:
|
||||
- http://www.x1center.org/
|
||||
- http://ematei.s602.xrea.com/kenkyu/x1syasin.htm
|
||||
- http://www2s.biglobe.ne.jp/~ITTO/x1/x1menu.html
|
||||
- https://eaw.app/sharpx1-manuals/
|
||||
- https://www.leadedsolder.com/tag/sharp-x1-turbo
|
||||
- http://takeda-toshiya.my.coocan.jp/x1twin/index.html
|
||||
- https://monochromeeffect.org/JVCC/2019/05/01/sharp-x1-turbo-z/
|
||||
- https://monochromeeffect.org/JVCC/2019/06/24/sharp-x1-d/
|
||||
|
||||
TODO:
|
||||
- clean-up QA, is ugly and outdated;
|
||||
- clean-ups, split components into devices if necessary and maybe separate turbo/turboz features into specific file(s);
|
||||
- refactor base video into a true scanline renderer, expect it to break 6845 drawing delegation support badly;
|
||||
- support extended x1turboz video features (need more test cases?);
|
||||
@ -56,7 +67,6 @@ Notes:
|
||||
[0x14 - 0x15] destination address start address
|
||||
[0x16 to 0x17] start boot jump vector
|
||||
[0x1d to 0x1f] start boot data vector
|
||||
- Gruppe: shows a random bitmap graphic then returns "program load error" ... it wants that the floppy has write protection enabled (!) (btanb)
|
||||
- Maidum: you need to load BOTH disk with write protection disabled, otherwise it refuses to run. (btanb)
|
||||
- Marvelous: needs write protection disabled (btanb)
|
||||
- Chack'n Pop: to load this game, do a files command on the "Jodan Dos" prompt then move the cursor up at the "Chack'n Pop" file.
|
||||
@ -159,9 +169,6 @@ Notes:
|
||||
X1turboZIII (CZ-888C) - December, 1988
|
||||
* same as turboZII, but no more built-in cassette drive
|
||||
|
||||
Please refer to http://www2s.biglobe.ne.jp/~ITTO/x1/x1menu.html for
|
||||
more info
|
||||
|
||||
BASIC has to be loaded from external media (tape or disk), the
|
||||
computer only has an Initial Program Loader (IPL)
|
||||
|
||||
@ -1465,8 +1472,8 @@ uint8_t x1_state::x1_portb_r()
|
||||
{
|
||||
//logerror("PPI Port B read\n");
|
||||
uint8_t res = 0;
|
||||
// TODO: ys3 is unhappy about V-DISP
|
||||
// NOTE: all PCG games actively reads from here, touching this uncarefully *will* break stuff
|
||||
// TODO: ys3 is unhappy about V-DISP
|
||||
// NOTE: all PCG games actively reads from here, touching this uncarefully *will* break stuff
|
||||
int vblank_line = m_crtc_vreg[6] * (m_crtc_vreg[9]+1);
|
||||
int vsync_line = m_crtc_vreg[7] * (m_crtc_vreg[9]+1);
|
||||
m_vdisp = (m_screen->vpos() < vblank_line) ? 0x80 : 0x00;
|
||||
@ -2178,7 +2185,7 @@ static void x1_floppies(device_slot_interface &device)
|
||||
{
|
||||
// TODO: 3" (!?) and 8" options, verify if vanilla X1 has them all
|
||||
device.option_add("525dd", FLOPPY_525_DD);
|
||||
// device.option_add("525hd", FLOPPY_525_HD);
|
||||
// device.option_add("525hd", FLOPPY_525_HD);
|
||||
}
|
||||
|
||||
void x1_state::x1(machine_config &config)
|
||||
@ -2245,10 +2252,8 @@ void x1_state::x1(machine_config &config)
|
||||
ay8910_device &ay(AY8910(config, "ay", MAIN_CLOCK/8));
|
||||
ay.port_a_read_callback().set_ioport("P1");
|
||||
ay.port_b_read_callback().set_ioport("P2");
|
||||
ay.add_route(0, "lspeaker", 0.25);
|
||||
ay.add_route(0, "rspeaker", 0.25);
|
||||
ay.add_route(1, "lspeaker", 0.5);
|
||||
ay.add_route(2, "rspeaker", 0.5);
|
||||
ay.add_route(ALL_OUTPUTS, "lspeaker", 0.25);
|
||||
ay.add_route(ALL_OUTPUTS, "rspeaker", 0.25);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(x1_cassette_formats);
|
||||
@ -2391,7 +2396,6 @@ void x1_state::init_x1_kanji()
|
||||
}
|
||||
|
||||
|
||||
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
|
||||
COMP( 1982, x1, 0, 0, x1, x1, x1_state, empty_init, "Sharp", "X1 (CZ-800C)", 0 )
|
||||
// x1twin in x1twin.cpp
|
||||
COMP( 1984, x1turbo, x1, 0, x1turbo, x1turbo, x1turbo_state, init_x1_kanji, "Sharp", "X1 Turbo (CZ-850C)", MACHINE_NOT_WORKING ) //model 10
|
||||
|
@ -140,7 +140,7 @@ public:
|
||||
DECLARE_INPUT_CHANGED_MEMBER(ipl_reset);
|
||||
DECLARE_INPUT_CHANGED_MEMBER(nmi_reset);
|
||||
TIMER_CALLBACK_MEMBER(rtc_tick_cb);
|
||||
TIMER_CALLBACK_MEMBER(fdc_motor_off_cb);
|
||||
TIMER_CALLBACK_MEMBER(fdc_motor_off_cb);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(cmt_seek_cb);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(sub_keyboard_cb);
|
||||
|
||||
|
@ -505,10 +505,8 @@ void x1twin_state::x1twin(machine_config &config)
|
||||
ay8910_device &ay(AY8910(config, "ay", MAIN_CLOCK/8));
|
||||
ay.port_a_read_callback().set_ioport("P1");
|
||||
ay.port_b_read_callback().set_ioport("P2");
|
||||
ay.add_route(0, "x1_l", 0.25);
|
||||
ay.add_route(0, "x1_r", 0.25);
|
||||
ay.add_route(1, "x1_l", 0.5);
|
||||
ay.add_route(2, "x1_r", 0.5);
|
||||
ay.add_route(ALL_OUTPUTS, "x1_l", 0.25);
|
||||
ay.add_route(ALL_OUTPUTS, "x1_r", 0.25);
|
||||
|
||||
CASSETTE(config, m_cassette);
|
||||
m_cassette->set_formats(x1_cassette_formats);
|
||||
|
Loading…
Reference in New Issue
Block a user