Page 1 of 12

MAME Emulation

Posted: Fri Apr 12, 2019 9:27 pm
by Azerpy
I began to emulate different Dragon machines and software with Xroar. With pleasure.
When I saw that it was possible to emulate DragonPlus on MAME, I tried it with Windows 10 . After some difficulties, I saw the 80 columns screen appear. Super !
I'd like to go further with EDIT 128, flex and OS9 but I meet some problems with MAME.
First about the keyboard. There are two modes
- in "natural" mode my french keybords are well emulated, except the arrows. So I can't use EDIT128 without arrows
- in "emulated" mode, I have the arrows and can also in theory affect each key but it's impossible to have a complete french keyboard by that way.
So my question is : why arrows don't be emulated in natural mode for Dragon 32, DRAGON 64 and DRAGON 64 PLUS but are for CoCo ?

Re: MAME Emulation

Posted: Tue Apr 16, 2019 3:14 am
by Pernod70
Azerpy wrote: Fri Apr 12, 2019 9:27 pm So my question is : why arrows don't be emulated in natural mode for Dragon 32, DRAGON 64 and DRAGON 64 PLUS but are for CoCo ?
Sounds like an oversight, I'll take a look next week when I'm back from vacation.
If you have any other problems/suggestions then let me know.

Re: MAME Emulation

Posted: Tue Apr 16, 2019 5:54 am
by robcfg
Nigel, can you make the Dragons PAL machines by default?

Right now I think they are NTSC, when only the TANO Dragon was it.

I know that remaining TANO motherboards were used on regular Dragons sold to schools and learning centres, and were supplied with monitors instead of TVs.

Cheers,
Rob

Re: MAME Emulation

Posted: Tue Apr 16, 2019 1:43 pm
by Pernod70
robcfg wrote: Tue Apr 16, 2019 5:54 am Nigel, can you make the Dragons PAL machines by default?
What suggests they are not currently PAL? The 6847 is configured for PAL. I can't verify screen refresh rate until next week though.

Re: MAME Emulation

Posted: Tue Apr 16, 2019 2:16 pm
by robcfg
Well, you get the orange-blue ntsc artifacting, which does not occur on pal systems.

It would be nice to try the pal color artifacting too.

Games like Ola Eldoy’s Tetris use it.

Re: MAME Emulation

Posted: Tue Apr 16, 2019 2:30 pm
by sixxie
Refresh rate last I checked is definitely off too (I can tell, because Dunjnuz measures it to determine whether to start up in artifacting PMODE 4 or colour PMODE 3).

Re: MAME Emulation

Posted: Tue Apr 16, 2019 5:03 pm
by Pernod70
Ok, as I'm not a Dragon user wasn't aware of the orange-blue artifacting issue. Let me know of further test cases and expected behaviour and I'll get on to it.
Unlikely to make next week's release though. Also need to update the softlists with the latest archive additions.

Re: MAME Emulation

Posted: Sun Apr 21, 2019 8:18 pm
by Pernod70
sixxie wrote: Tue Apr 16, 2019 2:30 pm Refresh rate last I checked is definitely off too (I can tell, because Dunjnuz measures it to determine whether to start up in artifacting PMODE 4 or colour PMODE 3).
Just tried the Dunjunz dsk image and it crashes in dragon32 (works in dragon64), the loading screen says 'Loading (64K)' which is probably a clue. What does it check to determine 32K or 64K?

Re: MAME Emulation

Posted: Mon Apr 22, 2019 9:05 am
by sixxie
Pernod70 wrote: Sun Apr 21, 2019 8:18 pm Just tried the Dunjunz dsk image and it crashes in dragon32 (works in dragon64), the loading screen says 'Loading (64K)' which is probably a clue. What does it check to determine 32K or 64K?
The code I use is:

Code: Select all

reg_sam_tyc     equ $ffde
reg_sam_tys     equ $ffdf

                ; test for 64K
                sta reg_sam_tys
                lda $0062
                ldb $8063
                coma            ; a != [$0062]
                comb            ; b != [$8063]
                std $8062
                cmpd $8062
                bne no_64k      ; didn't write
                cmpd $0062
                beq no_64k      ; *did* shadow write
		; ... 64K code ...
no_64k		sta reg_sam_tyc
So it's testing both that it can modify the upper 32K of RAM in map type 1, and that that modification didn't cause a "shadow write" to the lower 32K.

Edit: Also, wow! It doesn't just crash, it crashes. As in MAME segfaults (tested with 0.194 and 0.206 - I'll update my git repo and see what the latest does).

Further edit: same on 0.208

Re: MAME Emulation

Posted: Mon Apr 22, 2019 10:28 am
by sixxie
Out of interest, I was trying the same thing with CoCo emulations in MAME (same deal with 32K - not working), but I couldn't see how to launch a PAL CoCo2. Any ideas? I can see the PAL CoCo3 in the list...