MAME Emulation

A place to discuss everything Dragon related that doesn't fall into the other categories.
Post Reply
Azerpy
Posts: 6
Joined: Tue Apr 09, 2019 1:16 pm

MAME Emulation

Post by Azerpy » Fri Apr 12, 2019 9:27 pm

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 ?

Pernod70
Posts: 75
Joined: Sat Apr 22, 2017 10:06 pm
Location: Croydon, UK

Re: MAME Emulation

Post by Pernod70 » Tue Apr 16, 2019 3:14 am

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.

User avatar
robcfg
Posts: 1235
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden

Re: MAME Emulation

Post by robcfg » Tue Apr 16, 2019 5:54 am

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

Pernod70
Posts: 75
Joined: Sat Apr 22, 2017 10:06 pm
Location: Croydon, UK

Re: MAME Emulation

Post by Pernod70 » Tue Apr 16, 2019 1:43 pm

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.

User avatar
robcfg
Posts: 1235
Joined: Sat Apr 04, 2009 10:16 pm
Location: Stockholm, Sweden

Re: MAME Emulation

Post by robcfg » Tue Apr 16, 2019 2:16 pm

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.

sixxie
Posts: 1074
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: MAME Emulation

Post by sixxie » 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).

Pernod70
Posts: 75
Joined: Sat Apr 22, 2017 10:06 pm
Location: Croydon, UK

Re: MAME Emulation

Post by Pernod70 » Tue Apr 16, 2019 5:03 pm

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.

Pernod70
Posts: 75
Joined: Sat Apr 22, 2017 10:06 pm
Location: Croydon, UK

Re: MAME Emulation

Post by Pernod70 » Sun Apr 21, 2019 8:18 pm

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?

sixxie
Posts: 1074
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: MAME Emulation

Post by sixxie » Mon Apr 22, 2019 9:05 am

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

sixxie
Posts: 1074
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: MAME Emulation

Post by sixxie » Mon Apr 22, 2019 10:28 am

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...

Post Reply