Previous Thread
Next Thread
Print Thread
Page 5 of 80 1 2 3 4 5 6 7 79 80
Joined: Apr 2012
Posts: 343
Likes: 60
Senior Member
Offline
Senior Member
Joined: Apr 2012
Posts: 343
Likes: 60
Originally Posted by Golden Child
Is there a way to keep mame from exiting when you hit ESC when in Partial Keyboard Mode?
Yep, add this to your mame.ini:
Code
confirm_quit              1
It'll be in the CORE MISC OPTIONS section.


BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.
Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Online Content
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
ahhhh, thank you.

I see there's a command line option -confirm_quit also.

I kept looking for the mame.ini file and I see that I have to create it with ./mame64 -createconfig


Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Online Content
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
It'd be cool if mame had a quit delay where you could just hit ESC, it would pop up a notification of an impending quit and if you were quiet for say 5 seconds without hitting any keystrokes it would exit, otherwise it would cancel the quit.

You'd have the convenience of -noconfirm_quit with the ability to recover if you accidentally hit ESC.

That would save you a keystroke of hitting the enter key.

Last edited by Golden Child; 09/12/17 02:15 PM.
Joined: Jun 2014
Posts: 95
Likes: 3
P
Member
Offline
Member
P
Joined: Jun 2014
Posts: 95
Likes: 3
Originally Posted by R. Belmont
Oh, that sucks. The French Touch demos flip page 1 / page 2 mid-scanline and expect it to change the display immediately. (BTW, they posted the source for all their stuff if you missed it).

I've added a check for 80-column mode, which seems to solve the problem.
The 40-col screen updates immediately, the 80-col one doesn't.
And yes, I saw the French Touch stuff. He was one person. His name is Arnaud. We got to know each other a little bit before he retired.

Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
Great, thanks Peter!

Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Online Content
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
I got an Intel Core i3-2120 based system running the integrated graphics and sound and that seems to have totally fixed the audio stuttering that I was seeing before:

According to Ubuntu's System Information:
Processor: Intel® Core™ i3-2120 CPU @ 3.30GHz × 4 (2 cores with hyperthreading)
Graphics: Intel® Sandybridge Desktop

I took the hard drive of my original Ubuntu 17.04 system, made an image with dd and copied that to the new system so it's the exact same system running on different hardware.

I hear no popping at all unless I fiddle with the bgfx video filter sliders and get to the slow ones.

On this computer, the onboard Intel audio works fine and I don't get pops even with the -video soft.

Code

./mame64 apple2e  -sdlvideofps -video bgfx  -prescale 2
  0.02s,    1 F, avrg game: 59.75 FPS 16.74 ms/f, avrg video: 1561.91 FPS 0.64 ms/f, last video:   inf FPS 0.36 ms/f
  1.03s,   62 F, avrg game: 60.00 FPS 16.67 ms/f, avrg video: 3662.88 FPS 0.27 ms/f, last video:   inf FPS 0.28 ms/f
  2.05s,  123 F, avrg game: 60.00 FPS 16.67 ms/f, avrg video: 3540.34 FPS 0.28 ms/f, last video:   inf FPS 0.33 ms/f


./mame64 apple2e -sdlvideofps -video opengl -prescale 2
  0.02s,    1 F, avrg game: 60.02 FPS 16.66 ms/f, avrg video: 487.59 FPS 2.05 ms/f, last video:   inf FPS 1.01 ms/f
  1.03s,   62 F, avrg game: 60.00 FPS 16.67 ms/f, avrg video: 821.80 FPS 1.22 ms/f, last video:   inf FPS 1.01 ms/f
  2.05s,  123 F, avrg game: 60.00 FPS 16.67 ms/f, avrg video: 814.30 FPS 1.23 ms/f, last video:   inf FPS 1.08 ms/f
 

./mame64 apple2e -sdlvideofps -video soft -prescale 2
  0.02s,    1 F, avrg game: 61.71 FPS 16.21 ms/f, avrg video: 77.32 FPS 12.93 ms/f, last video:   inf FPS 6.24 ms/f
  1.03s,   62 F, avrg game: 60.05 FPS 16.65 ms/f, avrg video: 152.53 FPS 6.56 ms/f, last video:   inf FPS 5.82 ms/f
  2.03s,  122 F, avrg game: 60.00 FPS 16.67 ms/f, avrg video: 151.10 FPS 6.62 ms/f, last video:   inf FPS 6.66 ms/f

Are those bgfx numbers for real? 3662 FPS?

So I did learn a couple of things:

Onboard video can be faster than a discrete card. (really!)

You can change the audio driver with:

export SDL_AUDIODRIVER=pulseaudio
export SDL_AUDIODRIVER=alsa

and -frameskip 6 will do exactly 30 FPS if you're into 30 fps video:

I pulled the usb audio device and put it on the new system and the pops are back. So I'm going to blame it on the usb sound dongle.

I feel like widlarizing that thing.

Joined: Mar 2001
Posts: 17,217
Likes: 234
R
Very Senior Member
Online Content
Very Senior Member
R
Joined: Mar 2001
Posts: 17,217
Likes: 234
That's much better performance, glad you found the issue!

BGFX uses modern OpenGL on Linux, which is likely a faster path on the Intel drivers than the ancient GL 1.2/2.0 stuff -video opengl uses, although that much speedup is still kind of unexpected.

Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Online Content
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
Thanks for your help, RB. I am sure enjoying playing with the apple2e driver, especially now with no pops 8-)




Joined: Feb 2014
Posts: 1,102
Likes: 173
G
Very Senior Member
Online Content
Very Senior Member
G
Joined: Feb 2014
Posts: 1,102
Likes: 173
I've been fiddling with trying to write to the TMS9918 on the ssprite from Applesoft Basic. But for some reason it doesn't work correctly.

The ssprite board sits in slot 7, so it has the io addresses $C0Fx.

I set an address $C0F1 in the variable AD, then poke AD twice, which should set one of the TMS registers, but it doesn't, because it's reading from $C0F1 before it writes, which creates the side effect of resetting the TMS9918 address that it's going to write to. So it keeps thinking that it's getting the low byte of the address forever.

AD = 12*16*256+15*16+1:POKE AD,4:POKE AD, 128+7

(that should write 4 to the TMS9918 register 7, but it has no effect)


[Linked Image from i.imgur.com]


But doing the same thing from machine language doesn't introduce a read before the write.

CALL -151
4000: AD F1 C0 A9 F2 8D F1 C0 A9 87 8D F1 C0 60
which is just
LDA $C0F1
LDA #$F2
STA $C0F1
LDA #$87
STA $C0F1
RTS

4000G to execute it, and it works.


[Linked Image from i.imgur.com]

This is totally baffling me.

Is there something about the way applesoft does a poke, using

STA ($50),y

that activates a read before the write?


Joined: May 2010
Posts: 1,051
S
Very Senior Member
Offline
Very Senior Member
S
Joined: May 2010
Posts: 1,051
Although my 6502 books don't seem to mention it, it looks like indirect indexed mode does a read from the effective address.

From the MAME source:
https://git.redump.net/mame/tree/src/devices/cpu/m6502/om6502.lst
Code
sta_idy
	TMP2 = read_pc();
	TMP = read(TMP2);
	TMP = set_h(TMP, read((TMP2+1) & 0xff));
	read(set_l(TMP, TMP+Y));
	write(TMP+Y, A);
	prefetch();

Another reference:
https://github.com/eteran/pretendo/blob/master/doc/cpu/6502.txt
Code
Indirect indexed addressing
Write instructions (STA, SHA)

        #    address   R/W description
       --- ----------- --- ------------------------------------------
        1      PC       R  fetch opcode, increment PC
        2      PC       R  fetch pointer address, increment PC
        3    pointer    R  fetch effective address low
        4   pointer+1   R  fetch effective address high,
                           add Y to low byte of effective address
        5   address+Y*  R  read from effective address,
                           fix high byte of effective address
        6   address+Y   W  write to effective address

       Notes: The effective address is always fetched from zero page,
              i.e. the zero page boundary crossing is not handled.

              * The high byte of the effective address may be invalid
                at this time, i.e. it may be smaller by $100.

Page 5 of 80 1 2 3 4 5 6 7 79 80

Link Copied to Clipboard
Who's Online Now
4 members (Golden Child, R. Belmont, MrBogi, 1 invisible), 338 guests, and 6 robots.
Key: Admin, Global Mod, Mod
ShoutChat
Comment Guidelines: Do post respectful and insightful comments. Don't flame, hate, spam.
Forum Statistics
Forums9
Topics9,320
Posts121,944
Members5,074
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
Forum hosted by www.retrogamesformac.com