Jump to content
IGNORED

Altirra 4.00 released


phaeron

Recommended Posts

12 hours ago, vitoco said:

Sometimes I use the File View utility from the Disk Explorer popup to get an idea of what kind of file it is.

 

Today I did it with an AUTORUN.SYS file just to check which version it was and noticed that some of the ATASCII characters do not match the right ones:

 

emulator.png.21c7f0fd342b1dceb4c883dee53b88a6.png FileView.png.7d314b41c53832ecf6d775fae4d8aa89.png

 

Up arrows are displayed as down ones in the File View, and inverse-down are displayed as inverse-left. There are few more differences.

Looks like the translation table for control chars got shifted, I'll fix it.

 

12 hours ago, vitoco said:

Also, could the File View window use the standard ATASCII font?

I don't currently ship an ATASCII TrueType font and intentionally didn't use bitmaps so that the text was copyable.

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

There is a device called SlightSID emulated in Altirra. A small test program of mine recognizes it as a sid 6581. Does anybody know whether the emulated device can also emulate a 8580 sid chip? If so, how can I activate it?

 

Purpose of my project is to find out whether a sid chip is present in an ATARI or not so I try to test if a 8580 or a 6581 sid chip is there. If there is neither an 8580 nor a 6581 I suggest there is no sid available.

 

As written above my test program detects a 6581 but in order to find out if it always works I want to test for a 8580 but unfortunately I don't know how to change the emulated SlightSID to 8580 like with a physical SlightSID (which I don't own) where it depends which kind of SID is inserted.

 

Attached find my test program. Perhaps someone with a physical SlightSID or a SIDari could test it (I don't own any of these devices) and tell me what the output of the program is (and what SID really is in your SlightSID or SIDari)?

 

Please consider that this program does NOT work with PokeyMAX as the sid is inserted into a different address range.

 

SlightSID and SIDari both use the cartridge port addresses (as they are cartridges) from $D500 to $D51F while PokeyMax uses $D240 to $D25F (for the first SID).

 

Please be warned. The test program also plays a very annoying test sound.

SIDetect.xex

  • Like 1
Link to comment
Share on other sites

11 hours ago, patjomki said:

There is a device called SlightSID emulated in Altirra. A small test program of mine recognizes it as a sid 6581. Does anybody know whether the emulated device can also emulate a 8580 sid chip? If so, how can I activate it?

 

Purpose of my project is to find out whether a sid chip is present in an ATARI or not so I try to test if a 8580 or a 6581 sid chip is there. If there is neither an 8580 nor a 6581 I suggest there is no sid available.

 

As written above my test program detects a 6581 but in order to find out if it always works I want to test for a 8580 but unfortunately I don't know how to change the emulated SlightSID to 8580 like with a physical SlightSID (which I don't own) where it depends which kind of SID is inserted.

 

Attached find my test program. Perhaps someone with a physical SlightSID or a SIDari could test it (I don't own any of these devices) and tell me what the output of the program is (and what SID really is in your SlightSID or SIDari)?

 

Please consider that this program does NOT work with PokeyMAX as the sid is inserted into a different address range.

 

SlightSID and SIDari both use the cartridge port addresses (as they are cartridges) from $D500 to $D51F while PokeyMax uses $D240 to $D25F (for the first SID).

 

Please be warned. The test program also plays a very annoying test sound.

SIDetect.xex 147 B · 7 downloads

Altirra's SID emulation is not that high quality, it is not enough to faithfully represent the differences between a 6581 and an 8580.

 

You aren't going to be able to detect either in Altirra, and supposedly not on a SlightSID, for a simple reason: it doesn't support reads. IIRC, this was mainly because the SID is run asynchronously on a different clock and there is a write buffer in between. Without being able to read back from the SID chip, there is no way to detect its behavior. I've seen discussion on possibilities for supporting this (double reads), but not confirmation on whether it was implemented or what the precise timing would be.

 

Link to comment
Share on other sites

That's bad. I hoped to detect a sid so the user doesn't have to manually confirm it.

 

Fun fact. With Altirra and SlightSID emulation my program detects a 6581 sid and with PokeyMAX it detects a 8580 (if configured as a 8580) but not a 6581 (if configured as a 6581).

 

BTW, that is the detection routine I am using:

	lda #$ff     ; Set frequency in voice 3 to $ffff 
	sta $d412    ; ...and set testbit (other bits don't matter) in $d412 to disable oscillator
	sta $d40e    
	sta $d40f    
	lda #$20     ; Sawtooth wave and gatebit OFF to start oscillator again.
	sta $d412
	lda $d41b    ; Accu now has different value depending on sid model (6581=3 / 8580=2)
	and #$03     ; Only Bit_0_1
	sta $xxxx    ; Store in register $xxxx (0 = 6581 / 1 = 8580)

 

Edited by patjomki
Link to comment
Share on other sites

And here is the same source code for SlightSID/SIDari as above code is for C64:

 

	lda #$ff     ; Set frequency in voice 3 to $ffff 
	sta $d512    ; ...and set testbit (other bits don't matter) in $d412 to disable oscillator
	sta $d50e    
	sta $d50f    
	lda #$20     ; Sawtooth wave and gatebit OFF to start oscillator again.
	sta $d512
	lda $d51b    ; Accu now has different value depending on sid model (6581=3 / 8580=2)
	and #$03     ; Only Bit_0_1
	sta $xxxx    ; Store in register $xxxx (0 = 6581 / 1 = 8580)

 

Edited by patjomki
Link to comment
Share on other sites

On 2/19/2022 at 2:53 PM, phaeron said:

What? No, you don't need full keyboard scan for this, just raw scan will do fine.

 

Note that the default was changed a while back from Cooked to Raw. If you started on an old version you may still have had the old setting.

 

Don't. All this is going to do for the vast majority of programs is randomly add one frame of latency to keystrokes. The main reason that full keyboard scan exists is for 5200 emulation.

 

Ok, so there is an issue if running different versions at the same time?  Is there a sure way to clear defaults from version to version?   Also, can you double check that little program and tell

me what you think.  So, Raw for you works v4.0.  I can not get that to work for me without setting to Full Raw keyboard scan in v4.0 but v3.2 in Normal Raw works fine.  I havn't tried 4.01 yet.

Test Code:

10 Gosub 200:If Kp<>255:? Kp,Peek(753):Endif
20 Goto 10
200 If Peek(753)=3:Kp=Peek(764):Poke 764,255:Else :Kp=255:Endif :Return

Link to comment
Share on other sites

10 hours ago, rsh said:

Ok, so there is an issue if running different versions at the same time?  Is there a sure way to clear defaults from version to version?   Also, can you double check that little program and tell

me what you think.  So, Raw for you works v4.0.  I can not get that to work for me without setting to Full Raw keyboard scan in v4.0 but v3.2 in Normal Raw works fine.  I havn't tried 4.01 yet.

Test Code:

10 Gosub 200:If Kp<>255:? Kp,Peek(753):Endif
20 Goto 10
200 If Peek(753)=3:Kp=Peek(764):Poke 764,255:Else :Kp=255:Endif :Return

I've already run this program.

 

In general you can run multiple versions of Altirra, but if a feature has been added and enabled from a later version, you may get that setting reverted when going back to an older version. As 3.20 is quite old (almost three years old), you're more likely to run into issues. You can isolate a version by creating a file called Altirra.ini next to the program, which will then cause that version to use its own settings and not the common ones in the Registry. You can also launch the program with /tempprofile, which will cause it to load but not save back settings. Clearing to defaults is done in Tools > Options > Settings.

 

As I've said, that program works on 4.00 in regular Raw mode if you use the Atari OS. It will not work with the built-in AltirraOS firmware because that version has a bug, but it is not a hardware emulation problem. That the behavior improves if you use Full Keyboard Scan mode is a timing side effect, it isn't fixing the issue. The fix to AltirraOS was included in 4.01.

 

Link to comment
Share on other sites

19 hours ago, phaeron said:

I've already run this program.

 

In general you can run multiple versions of Altirra, but if a feature has been added and enabled from a later version, you may get that setting reverted when going back to an older version. As 3.20 is quite old (almost three years old), you're more likely to run into issues. You can isolate a version by creating a file called Altirra.ini next to the program, which will then cause that version to use its own settings and not the common ones in the Registry. You can also launch the program with /tempprofile, which will cause it to load but not save back settings. Clearing to defaults is done in Tools > Options > Settings.

 

As I've said, that program works on 4.00 in regular Raw mode if you use the Atari OS. It will not work with the built-in AltirraOS firmware because that version has a bug, but it is not a hardware emulation problem. That the behavior improves if you use Full Keyboard Scan mode is a timing side effect, it isn't fixing the issue. The fix to AltirraOS was included in 4.01.

 

Thank you for your efforts & clarification!  And... this logic is not optimal and I have already rewrote it, It now works much better on all versions regardless of the settings... I was creating my own problems switching versions lol .. It's funny, I actually had this issue. Thanks again!   

Link to comment
Share on other sites

On 2/27/2022 at 9:43 AM, phaeron said:

You aren't going to be able to detect either in Altirra, and supposedly not on a SlightSID, for a simple reason: it doesn't support reads. IIRC, this was mainly because the SID is run asynchronously on a different clock and there is a write buffer in between. Without being able to read back from the SID chip, there is no way to detect its behavior. I've seen discussion on possibilities for supporting this (double reads), but not confirmation on whether it was implemented or what the precise timing would be.

 

In this thread (thanks @foft) http://www.atari.org.pl/forum/viewtopic.php?pid=191002#p191002 is described that you can read in SIDari and SlightSID from a special register with the following code:

	lda #$1b
	sta $d540
	nop
	nop
	nop
	lda $d540

 

Unfortunately when I try this in SlightSID emulation in Altirra I always get #$ff as a result.

Link to comment
Share on other sites

So, a bug report, I guess ...

 

Attaching an .ATR of my ICE font editor.  RUN "D:ICEIRG.TUR"

 

From the main screen, do a CTRL-C to get to the color palette tuner.  Then exit out.  When you do, and the screen redraws, the color palette bar is destroyed (this does not happen on real hardware).

 

 

iceirg.atr

Link to comment
Share on other sites

21 hours ago, Synthpopalooza said:

So, a bug report, I guess ...

 

Attaching an .ATR of my ICE font editor.  RUN "D:ICEIRG.TUR"

 

From the main screen, do a CTRL-C to get to the color palette tuner.  Then exit out.  When you do, and the screen redraws, the color palette bar is destroyed (this does not happen on real hardware).

iceirg.atr 90.02 kB · 3 downloads

It looks like this is a compatibility issue in the AltirraOS display handler, I'll take a look, probably harder to track down than to fix. It should be OK with the Atari OS.

Note that AltirraOS is not entirely compatible with TurboBasic-XL right now. It mostly works, but a few of the trig functions fail because TBXL relies on undocumented tables in the math pack that AltirraOS doesn't currently support.

 

Folks, please indicate if you are using AltirraOS when reporting bugs, I've been getting a bunch of reports of hardware emulation issues lately that are actually AltirraOS software compatibility issues.

 

  • Like 1
Link to comment
Share on other sites

Hello. It's great to see that the "Altirra" project continues its development.

 

On this occasion, I would like to ask if it is possible to make support for cartridges from the project "XE Multicart"?

 

menu.png

 

As say author of the project:

Quote

Multicart images don't work in any emulators that I know of, because they are using a custom (if simplistic) bank-switching mechanism. For testing purposes, you can run just the menu.bin (the game selection firmware) by loading it as a standard 8k cartridge ROM in your favourite Atari 800/XE emulator. For example:


atari800 -xl -xlxe_rom path/to/ATARIXL.ROM -cart menu.bin

It'll display the game selection menu, but any attempts at selecting a game will result in restarting the game selection menu.

 

It would be great to be able to check in emulator the dump of the builded cartridge before it is write into the real rom chip.

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.10-test8.zip
https://www.virtualdub.org/beta/Altirra-4.10-test8-src.7z

  • Fixed an issue with cassette audio sometimes desyncing after an accelerated C: load.
  • Added support for CAR types 71-75. Special thanks to the Atari800 development team for confirming that it was OK to use info from their carts.txt file that hadn't been published in a release yet.
  • The Check For Updates dialog now has a link to the internal RSS update feed.
  • The Memory pane in the debugger now supports editing memory.
  • Warp now starts instantly when in slow motion, rather than only on next frame.
  • Added a config var for the slow motion speed ratio.
  • Fixed Unicode mappings in disk explorer text viewer.
  • Copy/paste now supports the international character set, and the default layout now maps international characters to their Ctrl+key equivalents.
  • Added XE Multicart support.

As the XE Multicart build scripts produce a short cartridge image, you'll need to check the 'show all mappers even if they may not work' option to see those cartridge modes.

15 hours ago, Keatah said:

A quick question. Shouldn't CalusB's AT-FS1 work with a 16K memory configuration, like on the original stock Atari 400? Or maybe I'm mistaken..?

Don't see how, the load address for the first segment alone is above 16K ($4FA6).

 

Edited by phaeron
dang unwanted emoji
  • Like 5
  • Thanks 4
Link to comment
Share on other sites

Thanks for another release!

 

I have a question - I finally figured out how to enable VBXE blits (.vbxe_traceblits doesn't toggle, it requires an on or off parameter).  Can you please explain what the following info in the parenthesis (the 3 numbers) signifies:
(8367:169,  3) VBXE: Starting new blit at $00554:

(8367:258, 16) VBXE: Blit list completed

 

Hmm - noticed the console displays those same 3 numbers when pausing and entering the debugger console as well.  Browsed much of the help file, didn't see anything.

Link to comment
Share on other sites

50 minutes ago, phaeron said:

Added support for CAR types 71-75. Special thanks to the Atari800 development team for confirming that it was OK to use info from their carts.txt file that hadn't been published in a release yet.

Thanks so much for adding the new cartridge types for A5200 bank-switched carts.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Stephen said:

I have a question - I finally figured out how to enable VBXE blits (.vbxe_traceblits doesn't toggle, it requires an on or off parameter).  Can you please explain what the following info in the parenthesis (the 3 numbers) signifies:

(8367:169,  3) VBXE: Starting new blit at $00554:

(8367:258, 16) VBXE: Blit list completed

 

Hmm - noticed the console displays those same 3 numbers when pausing and entering the debugger console as well.  Browsed much of the help file, didn't see anything.

Frame number, Y counter, and X cycle counter.

 

  • Thanks 1
Link to comment
Share on other sites

3 hours ago, phaeron said:

Don't see how, the load address for the first segment alone is above 16K ($4FA6).

Yes of course. Somehow got it in my head that 1st version (Apple II 16K cassette A2-FS1) would be the same on the 400/800 -- work on a stock 16K 400.

 

And thanks for ongoing updates. Don't know what ALL of it means, but I'm somehow sure it will turn out to be useful.

Link to comment
Share on other sites

8 hours ago, phaeron said:
  • Added XE Multicart support.

woow! It was quickly!

 

I created two cartridges with 8k games and 16k games.

 

In the first case (8k) everything works fine. But the cartridge with 16k games could not be start. The emulator crashes or atari show self test.

 

image.png.54f1bf692bd277623d71f806499f9051.png image.png.5c7ff6c35f784f47465afe8f555d8ef4.png

 

It is also impossible to save the image of the cartridge through the menu: File → Save firmware → Save cartridge:

 

image.png.479a9ae266d90ec6f83dcf28556ca729.png

 

I do not know if the forum rules allow, but I can attach the created images for testing.

Link to comment
Share on other sites

1 hour ago, LessNick said:

I do not know if the forum rules allow, but I can attach the created images for testing.

You can attach the software and would be useful for testing..

 

Also, did you try saving the cartridge as a bin file / aka raw?

 

It's on the spinner with car.. There may be reasons why the cart cannot be saved as a .car file, possibly because it's a brand new type and details are scarce?

Edited by Mclaneinc
Link to comment
Share on other sites

42 minutes ago, Mclaneinc said:

You can attach the software and would be useful for testing..

Well, I was particularly interested in the issue of copyright, whether there will be claims.

 

42 minutes ago, Mclaneinc said:

Also, did you try saving the cartridge as a bin file / aka raw?

No, I haven't tried. I wanted to cheat and convert bin to car so that emulator would not ask for a format every time it starts. :)

 

42 minutes ago, Mclaneinc said:

It's on the spinner with car.. There may be reasons why the cart cannot be saved as a .car file, possibly because it's a brand new type and details are scarce?

Well, most likely it is, this is a test version. Thank author for adding this feature so quickly.

 

cart_8.zip cart_16.zip

Edited by LessNick
Link to comment
Share on other sites

18 minutes ago, LessNick said:

Well, I was particularly interested in the issue of copyright, whether there will be claims.

 

No, I haven't tried. I wanted to cheat and convert bin to car so that emulator would not ask for a format every time it starts. :)

 

Well, most likely it is, this is a test version. Thank author for adding this feature so quickly.

 

Almost no chance of copyright claim on these old titles but if it had new retail games then that is a different matter.

 

Maybe if it isn't self adjusting that it may be added as a .car option later.

 

Just tried both 8 and 16K versions and the menu works but selecting a game just reboots it.. Back to testing..

Edited by Mclaneinc
Link to comment
Share on other sites

Update...The 8k I could get all the games working but only by trying some of the bigger cart sizes, I found but going up in cart sizes that more and more games worked. So far, not one title seems to run on the 16K cart (apart from the menu)

 

Update 2: The smallest driver that would play all 4 games on the 8 file was 64K...I think they are all 8K roms, need to check..Yes, all 8k roms, the file size is 40K so I presume that the menu part is allotted 8K as well. Sadly the same logic does not work for the 16k image.. ie 6 x 16K +8K menu. That matches the file size but using the 128k driver fails to play any.

Edited by Mclaneinc
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...