Active Threads | Active Posts | Unanswered Today | Since Yesterday | This Week
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/16/25 07:08 PM
I was puzzled why some cassettes like Ferzerx wouldn't load. I ended up writing the world's worst cassette parser, dumping samples from audacity and seeing if I could parse raw samples with plain old lua.

Since the sample rate is 11025, if I count the number of samples that are above zero, less than 4 should be a zero and greater than that should be a 1 with a single zero ending the all 1's intro.

Code
70541	6.3982766439909	5	1
70552	6.3992743764172	6	1
70562	6.4001814058957	3	0
70572	6.4010884353741	1	0
70595	6.4031746031746	1	0
70606	6.4041723356009	3	0
70617	6.4051700680272	3	0
70629	6.4062585034014	4	1
70640	6.4072562358277	4	1
70651	6.408253968254	4	1
BYTE=00001111
70662	6.4092517006803	5	1
70674	6.4103401360544	6	1
70685	6.4113378684807	6	1
70696	6.412335600907	6	1
70707	6.4133333333333	6	1
70718	6.4143310657596	6	1
70729	6.4153287981859	6	1
70740	6.4163265306122	6	1
BYTE=11111111
70751	6.4173242630385	6	1
70762	6.4183219954649	6	1

What I discovered with ferzerx is that it is picking up a stray zero within the lead-in (which should be all ones). If I cut the first 7 seconds of the audio in audacity, it loads perfectly.

[Linked Image from i.imgur.com]


Going to try this technique with some other cassettes that won't load.

That may explain why it would load if you delayed pressing enter for a few seconds after starting a CLOAD.

I would always hit enter first, then hit F2 to start up the cassette, so I was always starting from the beginning.
8 885 Read More
MAME Jump to new posts
Re: New dumps Kale 03/15/25 07:05 PM
Managed to work-around: it's hard fixing in code a r/w to the DDC connection at $e2, which was also NOP-ed by the southbridge implementations for no reason. S3 configuration strapping itself should really be card responsibility, but that's for another day ...
867 1,193,789 Read More
MAME Jump to new posts
Re: NEC PC-8801 Phoenix WIP Kale 03/15/25 06:54 PM
https://forums.bannister.org/ubbthreads.php?ubb=showflat&Number=124324#Post124324

PC-88VA time: a billion of video features later ...

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

[Linked Image from mamedev.emulab.it]

... and still short of another billion video features, and completely puzzled by the Olteus text display (there's no register available that makes that layer to "bump" a 4bpp to 8bpp, color DAC shenanigans?).
77 80,994 Read More
MAME Jump to new posts
Re: New dumps Kale 03/14/25 11:32 PM
[Linked Image from mamedev.emulab.it]

It annoyingly crashes around PC=c152b not sure for what reason ...
867 1,193,789 Read More
MAME Jump to new posts
Re: New dumps Kale 03/13/25 10:55 PM
S600DX should be a ViRGE/DX with bog standard subvendor ID (53338a01). Should be a very basic fit-in.
867 1,193,789 Read More
MAME Jump to new posts
Re: New dumps Revenant 03/13/25 10:26 PM
A few random things from eBay:
WinFast 3D S600DX graphics card firmware (from a random lot of spare flash chips)

and a couple of NEC 87AD MCU dumps that I used to test a reader I built:
uPD7811G-139, date code 8844, source unknown
uPD78C14G-443, date code 9020, from a trip computer of some kind (see strings at 0x7A0). Only half of the ROM is actually used, probably was originally written for a 78C12 instead.
867 1,193,789 Read More
MAME Jump to new posts
Re: Is -listxml supposed to add all dependent machines Vas Crabb 03/13/25 05:53 AM
Anyway, 25fa1ff89a95cde45eda378e177806ef80dffa04 makes it recursively discover device types for slot options.
4 315 Read More
MAME Jump to new posts
Re: Is -listxml supposed to add all dependent machines Vas Crabb 03/13/25 04:38 AM
Is the issue lack of recursion? Is it adding information for card options for slot devices present in the default configuration, but not for card options for slots added by non-default card options?

edit: Got confused.
4 315 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/12/25 12:24 PM
8 885 Read More
MAME Jump to new posts
Re: Is -listxml supposed to add all dependent machines Bletch 03/12/25 12:56 AM
I'm seeing similar behavior for mame -listxml coco2b | grep idehd
4 315 Read More
MAME Jump to new posts
Re: Is -listxml supposed to add all dependent machines AJR 03/11/25 11:19 PM
-listxml for drivers is inconsistent with -listxml for devices in this behavior. The former outputs <machine> tags for not just all slot options but the subdevices belonging to those options as well, plus <device_ref> tags for all of those. The latter doesn't even output <machine> tags for ordinary subdevices, just <device_ref> tags.
4 315 Read More
MAME Jump to new posts
Is -listxml supposed to add all dependent machines Bletch 03/11/25 09:44 PM
I ran the following command line: mame -listxml coco_ide | grep idehd

And got the following results:
Code
    <slotoption name="hdd" devname="idehd" default="yes"/>
    <slotoption name="hdd" devname="idehd"/>

What I do not see is:
Code
    <machine name="idehd" sourcefile="devices/bus/ata/hdd.cpp" isdevice="yes" runnable="no">

Am I correct to be expecting -listxml to be smart enough to add idehd to the list of devices to be returned?
4 315 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/11/25 02:32 AM
yes, it sounds much better without any background screeching from the data channel.
8 885 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Pernod 03/10/25 10:49 PM
Originally Posted by Golden Child
so in src/mame/apf/apf.cpp I added it and it works!

Code
        CASSETTE(config, m_cass);
        m_cass->set_formats(apf_cassette_formats);
        m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED);
        m_cass->add_route(ALL_OUTPUTS, "mono", 0.15);
        m_cass->set_interface("apf_cass");
        m_cass->set_stereo();
        m_cass->set_channel(0);
        m_cass->add_route(1, "mono", 0.70);

I hear audio for spacedst, ferzerx (game doesn't load), and zap.

Can't say that it's high fidelity, as the cassette wav sampling rate isn't very high.

For a mono cassette, there's just the normal modem-sounding noises.

Probably would be better to hear it if I raised it up to 1.0. (or possibly 11)

Try removing
Code
m_cass->add_route(ALL_OUTPUTS, "mono", 0.15);
8 885 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/10/25 10:14 PM
so in src/mame/apf/apf.cpp I added it and it works!

Code
        CASSETTE(config, m_cass);
        m_cass->set_formats(apf_cassette_formats);
        m_cass->set_default_state(CASSETTE_STOPPED | CASSETTE_SPEAKER_ENABLED | CASSETTE_MOTOR_DISABLED);
        m_cass->add_route(ALL_OUTPUTS, "mono", 0.15);
        m_cass->set_interface("apf_cass");
        m_cass->set_stereo();
        m_cass->set_channel(0);
        m_cass->add_route(1, "mono", 0.70);

I hear audio for spacedst, ferzerx (game doesn't load), and zap.

Can't say that it's high fidelity, as the cassette wav sampling rate isn't very high.

For a mono cassette, there's just the normal modem-sounding noises.

Probably would be better to hear it if I raised it up to 1.0. (or possibly 11)
8 885 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Pernod 03/10/25 08:29 PM
Originally Posted by Golden Child
An audio / cassette question: on the spacedst cassette, there's an audio track on the right channel. Is there any way to get mame to play the audio cassette track while it's loading?

I've worked on a machine that does something similar but never had a stereo cassette image to test with. I believe you can do the following:
Code
m_cassette->set_stereo();
m_cassette->set_channel(0); 
m_cassette->add_route(1, "mono", 0.70); 
So this is telling the cassette interface to expect stereo audio, where channel 0 is handled as data and channel 1 routed to the speaker "mono".

I'd be interested in knowing if this works, and what happens when a mono data only cassette is loaded.
8 885 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/10/25 06:18 PM
An audio / cassette question: on the spacedst cassette, there's an audio track on the right channel. Is there any way to get mame to play the audio cassette track while it's loading?


8 885 Read More
MAME Jump to new posts
Re: Grayskull on APF Imagination Machine Golden Child 03/10/25 05:41 PM
Youtube playthrough to show the gameplay:

reminds me of an apple II game with the artifacts and the sound effects, pretty impressive when you consider the APF hardware.

8 885 Read More
MAME Jump to new posts
Grayskull on APF Imagination Machine Golden Child 03/10/25 08:42 AM
I was watching a video of the Imagination Machine and a game called Grayskull caught my eye.

Attempting to run it in mame didn't work. For some reason, the cassette wouldn't load properly.

Changing some code to:

Code
uint8_t apf_state::pia1_portb_r()
{
        uint8_t data = m_portb;

        if (m_cass->input() > 0.1)  // old value was very small, setting to 0.1 seems to ignore a bunch of noise
                data |= 0x80;

        return data;
}

Now I can get gskull to load, but it looks bad:


[Linked Image from i.imgur.com]

so if you comment out the hack to change the offset, it looks ok.

Code
uint8_t apf_state::videoram_r(offs_t offset)
{
        if (BIT(m_pad_data, 7)) // AG line
        {
                // Need the cpu and crtc to be locked together for proper graphics
                // This is a hack to fix Rocket Patrol and Blackjack
//              if (BIT(m_pad_data, 6) && !m_has_cart_ram)
//                      offset -= 0x400;

                // This is a hack to fix Space Destroyer
                if (BIT(m_pad_data, 6) && m_has_cart_ram)


[Linked Image from i.imgur.com]


but for some reason, turning on artifacts causes anything colored green to disappear:


[Linked Image from i.imgur.com]



This is a particularly hard game, the countdown timer is unforgiving.

Setting b@bec5=1 will nop the subtraction of the counter


So if you want to try it,

./mame apfimag basic -cass gskull

enter will clear the basic startup screen
] is the enter key, CTRL+] will type CLOAD, then hit ] for enter, wait 1 second, then hit ] for enter again,
hit scroll lock to enable the mame ui, then F2 to start up the tape, hit pgdown to make it fast, then once the tape loads, type RUN then ] and it should run.
8 885 Read More
MAME Jump to new posts
Re: 2025: Bringing your WIP to a gun fight Olivier Galibert 03/10/25 08:37 AM
A taste of things to come...
[Linked Image from og.kervella.org]

[Linked Image from og.kervella.org]
8 2,813 Read More
MAME Jump to new posts
Re: Inconsistencies in MAME -listxml output Bletch 03/09/25 06:47 PM
The new schema will need to expose the format name (e.g. - "JVC disk image")
12 1,437 Read More
MAME Jump to new posts
Re: device parent roms question R. Belmont 03/09/25 12:20 PM
Files that are actually used by both can be in the parent, files that are specific to the child device should be in the child device's zip. (If no files are shared, there generally shouldn't be a parent/child relationship).
3 230 Read More
MAME Jump to new posts
Re: device parent roms question Golden Child 03/09/25 12:01 PM
yes, it works. Just wondering if that's the "right" way to do it.
3 230 Read More
MAME Jump to new posts
Re: device parent roms question Olivier Galibert 03/09/25 10:30 AM
Did you try it?
3 230 Read More
MAME Jump to new posts
device parent roms question Golden Child 03/09/25 03:27 AM
So if you have a parent device (EPSON_FX80) and a derived class (EPSON_JX80) and you use parent_rom_device_type(), then mame will also search the parent rom zip file for the roms of the jx80.

So then I could keep all of the roms for the parent and the derived class in a single file epson_fx80.zip instead of having two separate zip files epson_fx80.zip and epson_jx80.zip.

Am I understanding that correctly?


static auto parent_rom_device_type() { return &EPSON_FX80; }
3 230 Read More
Page 1 of 6 1 2 3 4 5 6
Who's Online Now
2 members (judge, 1 invisible), 225 guests, and 4 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,344
Posts122,329
Members5,077
Most Online1,283
Dec 21st, 2022
Our Sponsor
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!

Superior Solitaire
Powered by UBB.threads™ PHP Forum Software 8.0.0