Jump to content
IGNORED

New MAME release


mizapf

Recommended Posts

I couldn't resist.

 

Mouse Buttons from Left to Right (4,2,1)

 

X/Y Value - never moved.

 

:: LDOM 11.25.2022 - gemmod auto inserts memex card in slot 2
:: -peb:slot4 speech
:: -peb:slot6 tipi -conn rpi.192.168.2.2
:: -mouseprovider dinput
:: -flop1 DM1000SRC.dsk
mame -window -oslog genmod -bios 1.00 -colorbus busmouse -peb:slot3 horizon -peb:slot4 speech -peb:slot5 tirs232 -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -peb:slot8:hfdc:h2 generic -peb:slot8:hfdc:h3 generic -peb:slot8:hfdc:f3 525dd -peb:slot8:hfdc:f4 525dd -hard1 genos7boot.HD -hard2 Bootdisk2.HD -hard3 Bootdisk3.HD -flop1 mouse1.dsk -flop2 DSDD2.hfe -flop3 DSDD3.dsk -flop4 DSDD4.dsk -serl1 socket.localhost:10000

 

Link to comment
Share on other sites

MAME and Kryoflux images:

 

Has anybody tried to use IPF format floppy images with TI-99/4A in MAME?

 

IPF is a flux-level preservation format that is created by Kryoflux software/hardware. 

 

In the past, I went directly to sector-level dumps, but I think from now on I will capture the flux-level dump as well.  This preserves things like sector interlace and copy protection mechanisms.  And it can be written out to a floppy again. 

 

I'm facing a pile of floppies right now. The collection is from @Nightengale .  It has been a comedy of errors one after another... for instance, the 4a console keyboard has deteriorated (Mitsumi!) so we're looking for another console.  There should be a live or dead 4A around here somewhere.  

 

 

 

 

  • Like 1
Link to comment
Share on other sites

2 hours ago, dhe said:

 

Mouse sense x/y movement in all cases!

 

 

After playing with this interface, I did get the mouse buttons to map correctly (mouse provider dinput)

 Input device is just detected as mouse.

image.thumb.png.45d4f30f953f32f004b6f6e1866bf932.png

 

 

Mouseprovider not specified - on input device it's noted as a Logitech Trackman.

image.thumb.png.a9d7f923a41a66e78f87f1fdba7b55b1.png

 

In order to get mice buttons to match correctly - I have to hit delete, double click in perfect timing, and exactly once click the mouse button I want to assign then to add insult to injury - the settings aren't stored and have to be reconfigured on each run.

 

Neither scenario will move the 'pencil':

image.png.bb31aa681ee0162895ada12e3f7066df.png

 

 

Can someone else please try this and see if it works?

 

 

If you look at your assignments, you need "Mouse X" assigned to "Mouse X 3 Analog"

 

You have to select it, hit enter, then move your mouse horizontally enough to trigger it as being moved.

 

Try wheeling it fast after hitting enter.

 

 

At least under ubuntu, the window doesn't get any mouse events/activity unless the mouse is over the window.

 

 

you might try an alternate mouseprovider:

 

auto

rawinput

dinput

win32

 

 

After doing the assignments, cfg/geneve.cfg looks like

 

<?xml version="1.0"?>
<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="geneve">
        <image_directories>
            <device instance="floppydisk1" directory="" />
            <device instance="floppydisk2" directory="" />
            <device instance="floppydisk3" directory="" />
            <device instance="floppydisk4" directory="" />
            <device instance="harddisk1" directory="" />
            <device instance="harddisk2" directory="" />
            <device instance="harddisk3" directory="" />
        </image_directories>
        <input>
            <keyboard tag=":kbd:geneve_kb_101" enabled="1" />
            <port tag=":colorbus:busmouse:MOUSEX" type="P3_MOUSE_X" mask="65535" defvalue="0">
                <newseq type="standard">
                    MOUSECODE_1_XAXIS
                </newseq>
            </port>
            <port tag=":colorbus:busmouse:MOUSEY" type="P3_MOUSE_Y" mask="65535" defvalue="0">
                <newseq type="standard">
                    MOUSECODE_1_YAXIS
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>

 

and if I launch it with "-mouseprovider none" mame won't see a mouse and will remove the Mouse X axis and Mouse Y axis and set to n/a.

 

 

 

 

if you can compile your own mame, you might try to add PORT_CODE(MOUSECODE_X) and PORT_CODE(MOUSECODE_Y) to src/devices/bus/colorbus/busmouse.cpp:

 

INPUT_PORTS_START( busmouse )
        PORT_START("MOUSEX") /* Mouse - X AXIS */
                PORT_BIT( 0xffff, 0x00, IPT_MOUSE_X) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CODE(MOUSECODE_X) PORT_CHANGED_MEMBER(DEVICE_SELF, v9938_busmouse_device, mouse_pos_changed>

        PORT_START("MOUSEY") /* Mouse - Y AXIS */
                PORT_BIT( 0xffff, 0x00, IPT_MOUSE_Y) PORT_SENSITIVITY(50) PORT_KEYDELTA(0) PORT_PLAYER(1) PORT_CODE(MOUSECODE_Y) PORT_CHANGED_MEMBER(DEVICE_SELF, v9938_busmouse_device, mouse_pos_changed>

 

then it should always come up with "Mouse X" and "Mouse Y" by default.  (It should without the PORT_CODE, but for some reason that isn't working)

 

You could also code the buttons as well with PORT_CODE(MOUSECODE_BUTTON1), etc.

Edited by Golden Child
  • Like 2
Link to comment
Share on other sites

33 minutes ago, FarmerPotato said:

MAME and Kryoflux images:

Has anybody tried to use IPF format floppy images with TI-99/4A in MAME?

IPF is a flux-level preservation format that is created by Kryoflux software/hardware.

These are the supported media:

./mame ti99_4ae -ioport peb -ioport:peb:slot8 ddcc1 -listmedia
SYSTEM           MEDIA NAME       (brief)    IMAGE FILE EXTENSIONS SUPPORTED
---------------- --------------------------- -------------------------------
ti99_4ae         cartridge        (cart)     .rpk  
ti99_4ae         cassette1        (cass1)    .wav  
ti99_4ae         cassette2        (cass2)    .wav  
ti99_4ae         floppydisk1      (flop1)    .mfi  .dfi  .hfe  .mfm  .td0  .imd  .d77  .d88  .1dd  .cqm  .cqi  .dsk  .dtk  
ti99_4ae         floppydisk2      (flop2)    .mfi  .dfi  .hfe  .mfm  .td0  .imd  .d77  .d88  .1dd  .cqm  .cqi  .dsk  .dtk

 

From the MAME core:

MFI = MAME floppy image

DFI = DiscFerret flux dump format

MFM = HxCFloppyEmulator floppy disk image

TD0 = Teledisk disk image

IMD = IMD disk image (all that the description says)

D77, D88, 1DD = D77, D88, 1DD disk images (well, not much description either)

CQM = CopyQM disk image

 

Implemented/maintained by me:

HFE = Lotharek/Gotek

DSK = Sector dump or track dump

DTK = Track dump (aka PC99)

 

Maybe there is a conversion from Kryoflux to HFE?

  • Like 1
Link to comment
Share on other sites

1 hour ago, Golden Child said:

If you look at your assignments, you need "Mouse X" assigned to "Mouse X 3 Analog"

I did as instructions, and now I have mouse movement! YEA!

Thank you much.

 

I did also add -mouse to the start up command line:

mame -window -oslog genmod -bios 1.00 -mouse -colorbus busmouse -peb:slot3 horizon -peb:slot4 speech -peb:slot5 tirs232 -peb:slot8 hfdc -peb:slot8:hfdc:h1 generic -peb:slot8:hfdc:h2 generic -peb:slot8:hfdc:h3 generic -peb:slot8:hfdc:f3 525dd -peb:slot8:hfdc:f4 525dd -hard1 genos7boot.HD -hard2 Bootdisk2.HD -hard3 Bootdisk3.HD -flop1 mouse1.dsk -flop2 DSDD2.hfe -flop3 DSDD3.dsk -flop4 DSDD4.dsk -serl1 socket.localhost:10000

 

For anyone trying this at home, I found the best way to map the mouse in the input device menu is to:

   <DEL> - That tells MAME to delete any other assignments to the particular key of the key value pair.

   <ENTER> - What comes next is the value part of the equation.

   <value> - Press a key, button, or mouse movement.

 

 

 

  • Like 2
Link to comment
Share on other sites

On 11/26/2022 at 1:47 AM, dhe said:

   <DEL> - That tells MAME to delete any other assignments to the particular key of the key value pair.

   <ENTER> - What comes next is the value part of the equation.

   <value> - Press a key, button, or mouse movement.

I'll put that on Ninermame; seems to be not so obvious.

 

Like this: https://www.ninermame.org/using/osdmenu/changemap

  • Like 3
Link to comment
Share on other sites

22 minutes ago, mizapf said:

It's on https://www.ninermame.org/info/requirements

 

My favorite Linux is openSUSE, but I always check the Linux build with Ubuntu as well. There are no special requirements so that every Linux distribution for PCs should be fine.

 

thanks.

the speed for the TI/994a would be the same if running PCard?

Link to comment
Share on other sites

OK this is driving me crazy. in MAME on my TI99 & p-card setup I still have a mouse pointer so I can use the mouse for other things while still in MAME. on my Geneve the mouse disappears when MAME starts. I have compared all the .ini  and don't find no difference. I look in the docs but I think I'm not looking for the right thing. I would link to have the mouse even with MAME running on my laptop in Geneve. how do I do that.

 

update: OK, what make this clear, if this is just a feature of Geneve I don't want it changed. It works well for my Win7/Geneve in software project. and this is not a big issue as I can do a alt-tab to switch out and get the pointer back. still, if it's some setting I made and forgot about it I would like to make a note of it.

 

Link to comment
Share on other sites

  • Do you run Windows or Linux? The mouse capture behaviour is different.
  • The TI-99/4A only captures the mouse if you use the Mechatronics mouse.
  • Do you have "-colorbus busmouse" in your Geneve startup? Check the OSD to see whether there is a mouse device.

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, mizapf said:
  • Do you run Windows or Linux? The mouse capture behaviour is different.
  • The TI-99/4A only captures the mouse if you use the Mechatronics mouse.
  • Do you have "-colorbus busmouse" in your Geneve startup? Check the OSD to see whether there is a mouse device.

 

ah! I got it now! I have the Geneve with -colorbus busmouse in the startup batch. that must be what's capturing the mouse. I don't know why I didn't think of that before. thanks.

Link to comment
Share on other sites

This was the reason why I once turned the mouse into a pluggable device. When you don't need it, it won't get captured because you can just leave away the colorbus switch.

 

As I once said, in many cases there is actually a good reason why I'm doing some changes to a working emulation.

 

Note that in Linux, the mouse is not captured unless you specify "-mouse" in the command line.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

1 hour ago, mizapf said:

This was the reason why I once turned the mouse into a pluggable device. When you don't need it, it won't get captured because you can just leave away the colorbus switch.

 

As I once said, in many cases there is actually a good reason why I'm doing some changes to a working emulation.

 

I never doubted you. 🙂

  • Haha 1
Link to comment
Share on other sites

  • 2 weeks later...

I am having problems building source code MAME 250 x86.

 

i have redownloaded latest mysys with 32bit i686 mingw32 files to get started...

C:\mysys\msys64\mingw32\bin\

i686-w64-mingw32-c++.exe

i686-w64-mingw32-gcc.exe

python.exe

 

but i am getting an error on this file...

C:\mamesrc\3rdparty\bx\src\dtoa.cpp

Compiling 3rdparty/bx/src/dtoa.cpp...
C:/mamesrc/3rdparty/bx/src/dtoa.cpp: In function 'bool bx::fromString(float*, const bx::StringView&)':
C:/mamesrc/3rdparty/bx/src/dtoa.cpp:1078:25: error: 'dbl' may be used uninitialized [-Werror=maybe-uninitialized]
 1078 |                 *_out = float(dbl);
      |                         ^~~~~~~~~~
cc1plus.exe: all warnings being treated as errors
make[2]: *** [bx.make:448: ../../../../mingw-gcc/obj/x32/Release/3rdparty/bx/src/dtoa.o] Error 1
make[1]: *** [Makefile:64: bx] Error 2
make[1]: *** Waiting for unfinished jobs....
----------
Archiving libbgfx.a...
make: *** [makefile:1140: windows_x86] Error 2

 

any ideas?

i hope it's just a stupid error on my part, and it's not x64 only now.

 

thanks

Link to comment
Share on other sites

2 minutes ago, .mad. said:

I am having problems building source code MAME 250 x86.

any ideas?

i hope it's just a stupid error on my part, and it's not x64 only now.

Won't the pre-built binaries work for you?

 

I'll try to compile the current source once more. For the pre-built binaries, I used the sources at the release of 0.250.

 

Link to comment
Share on other sites

2 hours ago, dhe said:

If full SCSI support on the Geneve side just waiting on programming time - or are there pieces missing?

Does MAME have SID Master support baked in?

By "full" you mean the block DMA support (PDMA)? Without that, it has already been working for a year now. I have the block DMA still on my list.

 

The SID master is part of the emulation since 0.225 (https://www.ninermame.org/info/releases).

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...