Jump to content

Photo

Altirra 3.00 released

altirra emulation

595 replies to this topic

#526 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,595 posts
  • Location:Bay Area, CA, USA

Posted Sun Jul 1, 2018 10:37 PM

Please don't post in the forum asking me to read my PMs, it's a pet peeve of mine. I'll see the PM, no need to pollute the thread.

 

http://www.virtualdu...3.10-test31.zip

http://www.virtualdu...-test31-src.zip

 

  • Adds some support for extended memory debugging. In 6502 mode, the CPU history now tracks which bank the PC is in, and enabling global PC in the history window shows additional info for extended memory banks. The debugger uses a new XX'YYYY syntax for extended memory addresses, e.g. $EF'4800 maps to the byte at $4800 when PORTB=$EF. This makes extended memory a bit easier to deal with than the x:addr syntax, which requires mapping the banks to a linear address space. If you have MADS symbols with the bank values in the symbols, these can also be matched to banked PC addresses. Breakpoints can also be set at PORTB extended memory addresses.
  • Fixed another issue of aliasing between PORTB and Axlon extended memory.
  • Added US Doubler firmware to autodetection list.
  • Custom symbols (debugger 'ya' command) can now be read-only and write-only.
  • Fixed VBXE handling of ANTIC hires pixel priority. Priority is now always PF2/PF3 for XCOLOR=0 and <FX1.26 core and PF1/PF2/PF3 for XCOLOR=1 with FX1.26.
  • Rewrote modem networking code to make the connection step synchronous so it won't hang the emulator until the connection timeout if interrupted.
  • Accepting incoming modem calls now also triggers phone network simulation sounds.
  • Fixed broken 65C816 high memory selector in the configuration UI.
  • Removed extra file extensions from the file filters on the Save Cartridge UI so the common file dialog auto-switches extensions; both filters had most of the cart extensions to show the files, but this was also allowing the cross-type filenames.

 



#527 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 6,042 posts
  • Location:Northolt, UK

Posted Mon Jul 2, 2018 1:22 AM

Try using multiple configs in separate folders. Or assigning a custom-named .ini file in the windows' command prompt or "target" in the shortcut - for simultaneous use.

When saving the .ini file, it would save in the folder it ran from, or use the custom-name of the custom .ini file. And each instance would remain separate.

The commonality of the two methods is they don't use the registry. Registry is good for only one instance.

The difference between the two methods is a matter of personal tastes and organization styles.

 

This I would assume works great but Altirra either must have generated an ini file of its own at some point or been started in /portable mode to make one, the reason being that Altirra will look for an ini and if there isn't one it uses the registry..(this has been the normal way since early Altirra's, I don't think its changed in the last release so should be the same)

 

Just to be complete..



#528 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 727 posts
  • Location:US

Posted Mon Jul 2, 2018 1:31 AM

  • Fixed VBXE handling of ANTIC hires pixel priority. Priority is now always PF2/PF3 for XCOLOR=0 and <FX1.26 core and PF1/PF2/PF3 for XCOLOR=1 with FX1.26.

 

I'm not getting any display with 3.10-test31 unless I have VBXE enabled. Could this be a regression related to this change?



#529 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 6,042 posts
  • Location:Northolt, UK

Posted Mon Jul 2, 2018 1:40 AM

For comparison, no issues here, set to various profiles without VBXE in any of them and all boot and load with display fine..Only difference was that VBXE was not enabled on my Altirra when changing to the new beta, did try adding it and restarting with it added from cold etc but still worked as normal....cfg in registry..


Edited by Mclaneinc, Mon Jul 2, 2018 1:41 AM.


#530 Keatah ONLINE  

Keatah

    Missile Commander

  • 21,581 posts

Posted Mon Jul 2, 2018 1:41 AM

This I would assume works great but Altirra either must have generated an ini file of its own at some point or been started in /portable mode to make one, the reason being that Altirra will look for an ini and if there isn't one it uses the registry..(this has been the normal way since early Altirra's, I don't think its changed in the last release so should be the same)
 
Just to be complete..


Yes. I like that anyfilename.ini can be used. Ony one ever need be made, you can copy & rename it to however many you need. And then specify anyfilename.ini in the shortcut.

Most emulators suddenly become more versatile and customizable once the user becomes familiar with the comand-line options and their usage. Altirra is no exception.

#531 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 6,042 posts
  • Location:Northolt, UK

Posted Mon Jul 2, 2018 1:45 AM

Yes. I like that anyfilename.ini can be used. Ony one ever need be made, you can copy & rename it to however many you need. And then specify anyfilename.ini in the shortcut.

Most emulators suddenly become more versatile and customizable once the user becomes familiar with the comand-line options and their usage. Altirra is no exception.

 

Yes re the command line, Avery has been great with supporting it fully in Altirra, I use front ends and was involved with the gamepack so the ability to send instructions via command line was mega useful, well to be honest, gamebase and gamepack would be far less creative and friendly without them..

 

Altirra, the Kawaii Emulator!! :)


Edited by Mclaneinc, Mon Jul 2, 2018 1:47 AM.


#532 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,218 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Mon Jul 2, 2018 8:21 AM

 

I'm not getting any display with 3.10-test31 unless I have VBXE enabled. Could this be a regression related to this change?

Same here - looks like the emu is hanging during boot process, it displays "option" in the lower right.  When I enabled VBXE, I got a fps counter in the main emu window, locked at an odd 31.6.


Edited by Stephen, Mon Jul 2, 2018 8:28 AM.


#533 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 727 posts
  • Location:US

Posted Mon Jul 2, 2018 11:25 AM

Same here - looks like the emu is hanging during boot process, it displays "option" in the lower right.  When I enabled VBXE, I got a fps counter in the main emu window, locked at an odd 31.6.

 

I found it works if I go to Tools -> Options -> Display and uncheck Direct3D 9. Does that work for you? I'm on Windows 10.



#534 Heaven/TQA OFFLINE  

Heaven/TQA

    Quadrunner

  • 10,980 posts
  • Location:Baden-Württemberg, Germany

Posted Mon Jul 2, 2018 1:09 PM

Please don't post in the forum asking me to read my PMs, it's a pet peeve of mine. I'll see the PM, no need to pollute the thread.

 

http://www.virtualdu...3.10-test31.zip

http://www.virtualdu...-test31-src.zip

 

  • Adds some support for extended memory debugging. In 6502 mode, the CPU history now tracks which bank the PC is in, and enabling global PC in the history window shows additional info for extended memory banks. The debugger uses a new XX'YYYY syntax for extended memory addresses, e.g. $EF'4800 maps to the byte at $4800 when PORTB=$EF. This makes extended memory a bit easier to deal with than the x:addr syntax, which requires mapping the banks to a linear address space. If you have MADS symbols with the bank values in the symbols, these can also be matched to banked PC addresses. Breakpoints can also be set at PORTB extended memory addresses.
  • Fixed another issue of aliasing between PORTB and Axlon extended memory.
  • Added US Doubler firmware to autodetection list.
  • Custom symbols (debugger 'ya' command) can now be read-only and write-only.
  • Fixed VBXE handling of ANTIC hires pixel priority. Priority is now always PF2/PF3 for XCOLOR=0 and <FX1.26 core and PF1/PF2/PF3 for XCOLOR=1 with FX1.26.
  • Rewrote modem networking code to make the connection step synchronous so it won't hang the emulator until the connection timeout if interrupted.
  • Accepting incoming modem calls now also triggers phone network simulation sounds.
  • Fixed broken 65C816 high memory selector in the configuration UI.
  • Removed extra file extensions from the file filters on the Save Cartridge UI so the common file dialog auto-switches extensions; both filters had most of the cart extensions to show the files, but this was also allowing the cross-type filenames.

 

 

Thanks Avery for quick fix! sorry for PMed you but the reason is typical "non disclosure" agreements prior demo compos not to publish before deadlines. :)



#535 Stephen OFFLINE  

Stephen

    Quadrunner

  • 7,218 posts
  • A8 Gear Head
  • Location:No longer in Crakron, Ohio

Posted Mon Jul 2, 2018 1:23 PM

 

I found it works if I go to Tools -> Options -> Display and uncheck Direct3D 9. Does that work for you? I'm on Windows 10.

I'm a goof.  64-bit version is working fine, I accidentally started the 32-bit version.



#536 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,595 posts
  • Location:Bay Area, CA, USA

Posted Mon Jul 2, 2018 1:24 PM

 

I'm not getting any display with 3.10-test31 unless I have VBXE enabled. Could this be a regression related to this change?

 

No, the fix was solely in the VBXE scanline rendering code. That code doesn't activate unless VBXE is enabled.

 

I take it 3.10-test30 works, and toggling vsync doesn't make a difference? Can you enable the HOSTDISP channel in the debugger (lfe hostdisp) and see what it is saying when DX9 tries to init?



#537 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,595 posts
  • Location:Bay Area, CA, USA

Posted Mon Jul 2, 2018 3:04 PM

Never mind, found it -- compiler bug. (MSVC team, please fix your constexpr pointer arithmetic....)

 

http://www.virtualdu...3.10-test32.zip

http://www.virtualdu...-test32-src.zip

 



#538 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 727 posts
  • Location:US

Posted Mon Jul 2, 2018 3:12 PM

No, the fix was solely in the VBXE scanline rendering code. That code doesn't activate unless VBXE is enabled.
 
I take it 3.10-test30 works, and toggling vsync doesn't make a difference? Can you enable the HOSTDISP channel in the debugger (lfe hostdisp) and see what it is saying when DX9 tries to init?

 
I ran the following tests, removing Altirra.ini before each run:
  • 3.10-test30 Altirra64.exe /portable works.
  • 3.10-test30 Altirra.exe /portable works.
  • 3.10-test31 Altirra64.exe /portable works.
  • 3.10-test31 Altirra.exe /portable does *not* work.
Here's what HOSTDISP says for #1:
 
HOSTDISP: VideoDisplay/DX9: Successfully created Direct3D 9 device.
HOSTDISP: Device: aticfx32.dll (Radeon RX 580 Series)
HOSTDISP: DeviceCaps: VS3.0, PS3.0, MaxTex 16384x16384, ReadScanline Yes, HWVP
HOSTDISP: VideoDisplay/DX9: Init successful on adapter 0 (\\.\DISPLAY1 / aticfx32.dll), monitor 00010001.
HOSTDISP: VideoDisplay/DX9: Init successful for 376x240 source image (Pal8 -> XRGB8888); monitor=00010001
 
Here's what HOSTDISP says for #2:
 
HOSTDISP: VideoDisplay/DX9: Successfully created Direct3D 9 device.
HOSTDISP: Device: aticfx64.dll (Radeon RX 580 Series)
HOSTDISP: DeviceCaps: VS3.0, PS3.0, MaxTex 16384x16384, ReadScanline Yes, HWVP
HOSTDISP: VideoDisplay/DX9: Init successful on adapter 0 (\\.\DISPLAY1 / aticfx64.dll), monitor 0000000000010001.
HOSTDISP: VideoDisplay/DX9: Init successful for 376x240 source image (Pal8 -> XRGB8888); monitor=0000000000010001

Here's what HOSTDISP says for #3:
 
HOSTDISP: VideoDisplay/DX9: Successfully created Direct3D 9 device.
HOSTDISP: Device: aticfx32.dll (Radeon RX 580 Series)
HOSTDISP: DeviceCaps: VS3.0, PS3.0, MaxTex 16384x16384, ReadScanline Yes, HWVP
HOSTDISP: VideoDisplay/DX9: Init successful on adapter 0 (\\.\DISPLAY1 / aticfx32.dll), monitor 00010001.
HOSTDISP: VideoDisplay/DX9: Init successful for 376x240 source image (Pal8 -> XRGB8888); monitor=00010001
 
Here's what HOSTDISP says for #4:
 
HOSTDISP: VideoDisplay/DX9: Successfully created Direct3D 9 device.
HOSTDISP: Device: aticfx64.dll (Radeon RX 580 Series)
HOSTDISP: DeviceCaps: VS3.0, PS3.0, MaxTex 16384x16384, ReadScanline Yes, HWVP
HOSTDISP: VideoDisplay/DX9: Init successful on adapter 0 (\\.\DISPLAY1 / aticfx64.dll), monitor 0000000000010001.
HOSTDISP: VideoDisplay/DX9: Init successful for 376x240 source image (Pal8 -> XRGB8888); monitor=0000000000010001

It looks like my registry might be polluted as I can't get it to work at all with test30 or test31 without /portable. Maybe it's time for me to just run /resetall?

#539 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 727 posts
  • Location:US

Posted Mon Jul 2, 2018 3:26 PM

Never mind, found it -- compiler bug. (MSVC team, please fix your constexpr pointer arithmetic....)
 
http://www.virtualdu...3.10-test32.zip
http://www.virtualdu...-test32-src.zip


That works! Direct3D 9 works fine. 32-bit works fine. With and w/o VBXE works. Thanks!

#540 danielcg OFFLINE  

danielcg

    Space Invader

  • 43 posts

Posted Mon Jul 2, 2018 10:58 PM

Speed setting (1 to 10) for auto-fire for controller buttons are appeared to have no effect as auto-fire rate is appeared to be fixed. However, auto-fire works fine.  I like to choose auto-fire rates for auto-fire for controller buttons - 60 Hz (Fastest), 30 Hz, 20 Hz, 15 Hz, 12 Hz or 10 Hz rather than 1, 2, 3, ..., 10.

 

I call auto-fire "Turbo fire".

 



#541 flashjazzcat ONLINE  

flashjazzcat

    Quadrunner

  • 13,895 posts
  • Location:United Kingdom

Posted Mon Jul 9, 2018 2:39 PM

Not sure if it's my eyes to blame, but has the MYIDE/Flash firmware type vanished? I can add a MYIDE/Flash device but when trying to set the default firmware (to clear the "Missing firmware" flag), there is no MYIDE/Flash in the "Type" list, making it impossible to attach the SDX ROM, for instance.

 

Ugh... it's OK: I figured it out immediately after posting. The cart ROM is still added via the cartridge dialog, although it should be noted that doing so doesn't clear the "Missing firmware" warning.


Edited by flashjazzcat, Mon Jul 9, 2018 2:42 PM.


#542 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,595 posts
  • Location:Bay Area, CA, USA

Posted Mon Jul 9, 2018 11:21 PM

Not sure if it's my eyes to blame, but has the MYIDE/Flash firmware type vanished? I can add a MYIDE/Flash device but when trying to set the default firmware (to clear the "Missing firmware" flag), there is no MYIDE/Flash in the "Type" list, making it impossible to attach the SDX ROM, for instance.

 

Ugh... it's OK: I figured it out immediately after posting. The cart ROM is still added via the cartridge dialog, although it should be noted that doing so doesn't clear the "Missing firmware" warning.

 

Yes, that's a bug. MyIDE v1 doesn't have firmware and shouldn't trip that warning.



#543 Kyle22 OFFLINE  

Kyle22

    River Patroller

  • 3,657 posts
  • Call my BBS! telnet://broadway1.lorexddns.net
  • Location:McKees Rocks (Pittsburgh), PA

Posted Tue Jul 10, 2018 7:37 PM

 

Yes, that's a bug. MyIDE v1 doesn't have firmware and shouldn't trip that warning.

A Proper one does... SDX with MYIDE.SYS!

 

:)



#544 phaeron OFFLINE  

phaeron

    River Patroller

  • Topic Starter
  • 2,595 posts
  • Location:Bay Area, CA, USA

Posted Sun Jul 15, 2018 8:15 PM

http://www.virtualdu...3.10-test33.zip

http://www.virtualdu...-test33-src.zip

http://www.virtualdu...est33-ARM64.zip

 

This is the first build that I've actually published an ARM64 build for, now that I have a physical device to test on. I won't be publishing the ARM64 build all the time, but the final release will have it. The native ARM64 build is about 30% faster than the x86 build running under emulation.

 

Other changes:

  • Fixes and NEON optimizations for ARM64.
  • MyIDE v1 no longer shows firmware warnings.
  • Reorganized pages in Configure System into categories to make it easier to scan.
  • Added support for non-default preset input maps and added a couple of new ones.
  • Minor perf optimization to Direct3D 11 path (fixed some redundant calls).
  • Added warning when adding a full disk emulator for the first time.


#545 R0ger OFFLINE  

R0ger

    Moonsweeper

  • 312 posts
  • Location:Olomouc, Czech Republic

Posted Mon Jul 16, 2018 4:44 AM

Is this right place for Altirra related questions ?

I need to log memory writes .. just PC, destination address, and value. I found how to log tons of thing, but not this.

Thanks !



#546 Mclaneinc OFFLINE  

Mclaneinc

    Quadrunner

  • 6,042 posts
  • Location:Northolt, UK

Posted Mon Jul 16, 2018 5:52 AM

Right place ROger...Can't answer the question as I'm not a dev but yes, best place to ask..



#547 gozar OFFLINE  

gozar

    Dragonstomper

  • 908 posts
  • Location:Ohio

Posted Mon Jul 16, 2018 6:41 AM

http://www.virtualdu...3.10-test33.zip
http://www.virtualdu...-test33-src.zip
http://www.virtualdu...est33-ARM64.zip
 
This is the first build that I've actually published an ARM64 build for, now that I have a physical device to test on. I won't be publishing the ARM64 build all the time, but the final release will have it. The native ARM64 build is about 30% faster than the x86 build running under emulation.
 


That’s pretty awesome!


Sent from my iPad using Tapatalk

#548 antrykot OFFLINE  

antrykot

    Space Invader

  • 32 posts

Posted Mon Jul 16, 2018 9:24 AM

Is this right place for Altirra related questions ?

I need to log memory writes .. just PC, destination address, and value. I found how to log tons of thing, but not this.

Thanks !

 

ba -n w 0 L10000 \".printf \"%04x %04x %02x\" pc address value"



#549 Xuel OFFLINE  

Xuel

    Dragonstomper

  • 727 posts
  • Location:US

Posted Mon Jul 16, 2018 9:26 AM

Is this right place for Altirra related questions ?
I need to log memory writes .. just PC, destination address, and value. I found how to log tons of thing, but not this.
Thanks !


You can use the bx command. For example, this will log all writes to ANTIC:
 
bx "write>=$D400 and write<=$D4FF" "r; g"

Example output during Self-Test:
 
(200:105, 17) A=20 X=2C Y=00 S=FA P=35 (   I C)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:112, 79) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:128, 74) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:144, 75) A=00 X=7A Y=00 S=FA P=37 (   IZC)  50E6: 8E 0A D4  L50E6   STX WSYNC    [$D40A]
(200:248, 51) A=00 X=00 Y=00 S=F9 P=76 ( V IZ )  C026: 8D 0F D4          STA NMIRES   [$D40F]
(200:249, 73) A=51 X=F9 Y=00 S=F9 P=75 ( V I C)  C13A: 8D 03 D4          STA DLISTH   [$D403]
(200:249, 81) A=34 X=F9 Y=00 S=F9 P=75 ( V I C)  C140: 8D 02 D4          STA DLISTL   [$D402]
(200:249, 89) A=21 X=F9 Y=00 S=F9 P=75 ( V I C)  C146: 8D 00 D4          STA DMACTL   [$D400]
(200:251,105) A=E0 X=FF Y=00 S=F9 P=F1 (NV   C)  C178: 8D 09 D4          STA CHBASE   [$D409]
(200:251,113) A=02 X=FF Y=00 S=F9 P=71 ( V   C)  C17E: 8D 01 D4          STA CHACTL   [$D401]
Type ".help bx" for more info.

#550 R0ger OFFLINE  

R0ger

    Moonsweeper

  • 312 posts
  • Location:Olomouc, Czech Republic

Posted Mon Jul 16, 2018 2:03 PM

Wow, that's quite powerful, didn't search in breakpoints .. will try.

 

Now let me set these dynamically in the code, same as asserts .. and obviously it has to work from macros :grin:

Just kidding .. anyway .. again I'm fighting some shitty little misplaced memory write which only very rarely crashes the program. Would be nice if I could tell at every subroutine what memory ranges it's allowed to write, and break on everything else. But that seems to be still long way to go.

 

I'm thinking about detecting misplaced write by analyzing the logs. I know at what procedure I'm at, I can define safe ranges, and report anything outside of that.

Good thing is I can do it after the error occurred, and I can add search conditions without need to rerun the code (and reproduce the error). So in the end the log analysis might be even more powerful.







Also tagged with one or more of these keywords: altirra, emulation

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users