Previous Thread
Next Thread
Print Thread
Joined: May 2008
Posts: 60
Likes: 4
W
Walker Offline OP
Member
OP Offline
Member
W
Joined: May 2008
Posts: 60
Likes: 4
To be precise, my current example is the commodore 128 (128d).

This machine has two outputs, one for 40 columns screens (usually send to tv with tv modulator hardware or to monitors like commodore 1084) and 80 coulumn mode which was send to a cga monitor compatible output (if i remember correctly).

So in Mame if you start the machine with an uninitialised nvram dir, you get a dual screen output, 80 column screen to the left and 40 column screen to the right.

Now to my question - is there a command line switch where I can disable the 80 column output port? I can switch in 128 40/80 column mode with F11 (commodore 128 device default mapping) key to 40 columns and reset the machine so that the left screen is disabled, but mame is of course keeping the left part drawn even if it is empty due to being unused in 40 column mode.

Plus is there a way to read out by command line parameters how to enable / disable additional screens (for any devices that might support a multimonitor output) or any othe possible option available for devices? Like the list of compatible hardware devices for others like hdd controllers etc

I am currently digging through the source to find this out, but maybe one of you has a quicker answer?

some half answers I researched until now (but not yet at the point i want to reach):

mame c128dp -listdevices which lists the screens and all other devices:
Code
Driver c128dp (Commodore 128D (PAL)):
   <root>                         Commodore 128D (PAL)
     cart_list                    Software List
     cart_list_c64                Software List
     cart_list_vic10              Software List
     cass_list_c64                Software List
     exp                          C64 expansion port @ 985.24 kHz
     flop_list                    Software List
     flop_list_c64_misc           Software List
     flop_list_c64_orig           Software List
     from                         Generic ROM Socket / RAM Socket
     from_list                    Software List
     gfxdecode                    gfxdecode
     iec10                        CBM IEC slot
     iec11                        CBM IEC slot
     iec4                         CBM IEC slot
     iec8                         CBM IEC slot
       c1571                      Commodore 1571 Disk Drive
         u1                       MOS Technology 6502 @ 1.00 MHz
         u11                      Western Digital WD1770 FDC @ 8.00 MHz
         u20                      MOS 6526 CIA @ 1.00 MHz
         u4                       MOS 6522 VIA @ 1.00 MHz
         u6                       Commodore 64H156 @ 16.00 MHz
           0                      Floppy drive connector abstraction
             525qd                5.25" quad density floppy drive
               floppysound        Floppy sound @ 44.10 kHz
               flopsndout         Speaker
         u9                       MOS 6522 VIA @ 1.00 MHz
     iec9                         CBM IEC slot
     iec_bus                      CBM IEC bus
     irq                          Input Merger (any high)
     joy1                         Atari VCS controller port
     joy2                         Atari VCS controller port
       joy                        Atari / CBM Digital joystick
     nmi                          Input Merger (any high)
     quickload                    Quickload
     ram                          RAM
     screen                       Video Screen
     screen80                     Video Screen
     speaker                      Speaker
     tape                         Commodore Datasette Port
       c1530                      Commodore 1530 Datassette
         cassette                 Cassette
     u1                           MOS 6526 CIA @ 985.24 kHz
     u10                          Zilog Z80 @ 3.94 MHz
     u11                          MOS 8721 PLA
     u21                          MOS 8566 VIC-II @ 7.88 MHz
     u22                          MOS 8563 VDC @ 16.00 MHz
     u4                           MOS 6526 CIA @ 985.24 kHz
     u5                           MOS 6581 SID @ 985.24 kHz
     u6                           MOS Technology 8502 @ 985.24 kHz
     u7                           MOS 8722 MMU @ 985.24 kHz
     user                         PET user port

and then i tried
mame c128p -view screen

which at least boots up the machine with a single screen, but instead of showing the 40 column screen it is always showing the 80 column screen which in my opinion should have been screen80 (even switching between the modes with the F11 (40/80 column switch key) did not change this)

i am probably still missing something - is it even possible to do what i want? (boot c128d only in 40 column mode)

Last edited by Walker; 02/16/23 11:46 PM. Reason: added some research results, but still need some sort of help
Joined: May 2004
Posts: 974
Likes: 49
D
Senior Member
Offline
Senior Member
D
Joined: May 2004
Posts: 974
Likes: 49
You can see the different -view options in the tab menu. To achieve what you want you can do:

Code
mame c128dp -view "Screen 0 Standard"

and

Code
mame c128dp -view "Screen 1 Standard"

1 member likes this: sairuk
Joined: May 2008
Posts: 60
Likes: 4
W
Walker Offline OP
Member
OP Offline
Member
W
Joined: May 2008
Posts: 60
Likes: 4
Wow, fantastic!

Thanks Duke, I was obviously nearby but your information is the missing cherry on the top to make it work!

Thanks!

I was asking this because I am currently building up the mamedev wiki page for the c128(d*), so if anyone is interested look into the page and correct me if you feel i am totally wrong wink

c128d Device Wiki Page

Last edited by Walker; 02/17/23 07:42 AM.
Joined: Aug 2009
Posts: 1,180
Likes: 59
Very Senior Member
Offline
Very Senior Member
Joined: Aug 2009
Posts: 1,180
Likes: 59
Two things yeah:
1. imho a wiki page should be more neutral, and title isn't. And tbh all machines are interesting smile
2. Mamed is a typo, I'm also pretty sure it's always MAME (all caps)

Joined: May 2008
Posts: 60
Likes: 4
W
Walker Offline OP
Member
OP Offline
Member
W
Joined: May 2008
Posts: 60
Likes: 4
both valid points, will change that (I am pretty sure I got a lot more typos, good thing that it is not printed on stone tablets wink )

*edit* changes applied

Last edited by Walker; 02/17/23 04:51 PM.
Joined: Nov 2004
Posts: 13
Likes: 3
S
Member
Offline
Member
S
Joined: Nov 2004
Posts: 13
Likes: 3
i learnt about -view today, so not a total waste


Some thoughts as i read through the article:
- I agree it needs a more neutral tone
- Consider taking out the general UI keys to their own page (or link to the related docs) that can be referenced in other articles without duplication and just highlight the system specific keys
- 'pal' should be PAL (all caps)?
- menttion is a typo, two t's
- does the wiki need/support citations for things like "I should menttion that the most common configuration the owners started with in the 80's was"?
- if you're doing a compatibility listing it might be better to have "Software | Tested Version | Status" table instead of a dedicated version 0.251 section ultimately that info should probably be in the softlist and the UI updated to display the state on highlight for the machine but that would be a nightmare to manage.
- iscurrently needs a space
- in the note under "Confirmed not working" section you don't need to bold 'can' nor capitalise 'BUT' in my opinion also what kind of artifacts? i assume visual?
- everyhing is a typo, needs a t

Joined: Feb 2014
Posts: 927
Likes: 75
G
Senior Member
Offline
Senior Member
G
Joined: Feb 2014
Posts: 927
Likes: 75
You can change the view while mame is running from the Video Options menu.

You can also have multiple screens/windows with -numscreens 2 (this would give you 2 screens).

It can even be done from the lua console:

Code
[MAME]> function printt(t) for i,j in pairs(t) do print(i,j) end end
[MAME]> printt(manager.machine.render.targets)              
1	sol.render_target*: 0x56480b90a428    (corresponds to Screen 0)
2	sol.render_target*: 0x56480b90a468    (corresponds to Screen 1)
3	sol.render_target*: 0x56480b90a4a8    (corresponds to snapshot screen)
[MAME]> 
[MAME]> print(manager.machine.render.targets[1].view_names)
sol.::render_target_view_names: 0x56480c472d48
[MAME]> printt(manager.machine.render.targets[1].view_names)
1	Screen 0 Standard (4:3)
2	Screen 1 Standard (4:3)
3	Screen 0 Pixel Aspect (16:5)
4	Screen 1 Pixel Aspect (418:235)
5	Left-to-Right
6	Left-to-Right (Gapless)
7	Top-to-Bottom
8	Top-to-Bottom (Gapless)
9	Cocktail
[MAME]> manager.machine.render.targets[1].view_index = 7

Joined: May 2008
Posts: 60
Likes: 4
W
Walker Offline OP
Member
OP Offline
Member
W
Joined: May 2008
Posts: 60
Likes: 4
All good points, but it will take a while until I adjusted the page to all suggestions (I am slow).

About the typos, they are not intended and I try to sorrect the stuff whenever I see it (If you see one, don't hesitate to correct it yourself, I won't feel offended I promise).

Having a generic Page for MAME keyboard layout makes sense to me, but mind that there are special keys like in the case for the c128, where you need to know which key is the C= key if you want to trigger the C64 mode.
This is why I prefer to have a small table to remind people new to MAME when reading that page about how MAME behaves
(UI Mode especially is something that breaks many peoples minds since they cannot easily see how to stop the emulation - once you got the idea about UI Mode on/off it is easy of course).

I try to write the pages with those in mind who use MAME for the very first time since they found out that it is emulating (maybe the only existing emulator for it) their favorite system. This leads to redundancy, so I try to keep the keyboard layout table as small as possible.

I already tried to neutralise the tone quite a bit, but if you find something more that I should neuter, I am happy if you point it out to me.

And yes, the c64 part on the c128 device has a lot of visual artifacts in a lot of games / demos, the main problem I personally have right now with it is the tape emulation being broken.


Link Copied to Clipboard
Who's Online Now
5 members (Pernod, Vas Crabb, Justin, 2 invisible), 18 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,171
Posts120,123
Members5,039
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