Jump to content
IGNORED

Altirra 3.00 released


phaeron

Recommended Posts

I think someone should provide the localization, you're already doing enough!

 

Still needs a place to put them. Quite a lot of hardcoded strings and no support for selecting or detecting locale. At least a good amount of the emulator is Unicode-enabled. But as I said, I'm lazy. :)

  • Like 1
Link to comment
Share on other sites

An accelerator, 1MB RAM expansion + ROM switcher, and PBI IDE adapter with onboard SDX is your basic setup? What does your advanced setup look like?

For the advanced setup, I simply add VBXE of course. :D

 

Daily driver is U1MB/VBXE/SIDE (exactly echoing my "real" daily drivers) but I've been studying the behaviour of Konrad's Turbo IDE+ driver and this requires a Rapidus/DracOS/IDE+ combo. The result is a similar driver for U1MB/SIDE/XEL-CF, as well as improved competence in 65C816 assembly language. :)

 

Think I figured out the problem. The issue was that MCR bit 7 was getting reverted on warm reset, so each time the 16-bit PBI BIOS had to force an OS restart to get back into the Rapidus OS. I don't have documentation on which bits are reverted on reset, so for now just bit 7 is left alone. That was easy to fix, but that then caused the Rapidus OS to shadow the U1MB BIOS (the U1MB MMU is outside of the accelerator). To work around that I wired a line from U1MB to Rapidus through the system controller to suppress the Rapidus OS until the U1MB has locked config. This is probably not exactly correct but might be similar to what Rapidus does with that mysterious "U1MB compatibility" bit. In any case, this does raise the question of what the Rapidus memory configuration is when the U1MB BIOS is executed on a warm reset; it may be rather interesting if the other MCR/CMCR state is indeed kept and not reverted or suppressed on warm reset, as some of the modes could crash the BIOS.

I'm not sure either exactly what "Ultimate 1MB: on" is doing, but there was a CPLD update about eighteen months ago which fixed all the U1MB compatibility issues (any remaining problems appear to be related to EXTSEL stability and bus capacitance on the target machine). Sincere thanks for the fix, anyway. System reset is working now. I'll take note of any unusual behaviours I observe while finishing the driver.

 

As for the invalid call issue -- implemented the missing $F00040 hook. Best I can tell, it's a callback to allow the firmware to initialize when a 65C816 aware OS boots. Don't need it in the placeholder firmware, so I just stubbed it for now.

Great stuff. :)

Edited by flashjazzcat
Link to comment
Share on other sites

The "Window -> Adjust Window Size" feature seems to be broken in the latest release. It resizes the window but then the rendered image is shrunk down. I'm using "View -> Stretch Mode -> Square Pixels (fixed multiples only)" and "View -> Overscan Mode -> Indicator Margin". It works OK if I disable Indicator Margin.

Link to comment
Share on other sites

I'd like to make a suggestion for the Hardware Manual regarding the Antic NMI bug (p. 56, Note 15).

 

I don't believe this to be specifically an error on Atari's part. The earliest MOS manuals (MOS 1975, Synertek 1976) for the 6500 series state that NMI needs to be 2 cycles long and Antic's NMI is 2 cycles long. However, this is not sufficient when the 6502 is processing an IRQ and represents either a 6502 bug (that is, the designers thought 2 cycles was sufficient) or a documentation bug (that is, the datasheet author put in wrong information). Because the Antic spec complies with MOS's documentation, I suggest that this is a CPU/MOS bug more than an Antic one.

 

What would make this an Antic bug is if the NMI's rise or fall was out of spec (which I don't know).

 

The text is as follows:

Page 38, Section 1.4.1.2.9, Paragraph 2.

 

"The NMI signal must be low for at least two clock cycles for the interrupt to be recognized, whereupon new program count vectors are fetched."

 

Later datasheets seem to be less detailed and don't give a minimum spec. I think it is usually assumed the program will reset the NMI hardware manually in the service routine. Since NMI's on the Atari occur at spaced intervals (400/800 reset is an exception), Atari decided to make them clear themselves according to the 2 cycle spec since they cannot happen back to back.

  • Like 1
Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.10-test11.zip

http://www.virtualdub.org/beta/Altirra-3.10-test11-src.zip

 

  • Fixed audio timestamp issue that broke cassette audio channel.
  • Fixed auto-size with indicator margin. Also made the indicator margin constant height, as having it toggle as the status bar appeared and disappeared was rather weird in practice.
  • Like 10
Link to comment
Share on other sites

Hi!

 

I don't think we agree on, well, much of anything! But I wanted to send you this observation on the audio monitor...

 

post-18231-0-16543800-1518710377.png

 

(stereo pokey enabled, so Phaeron already knows just to concentrate on the left side)

 

This is the beep from a sector loading from disk.

Just about anyone (not knowing the special notations) would look at it and say, "Oh! We've got audio on the 4th channel."

 

So, a disk access about that time might have looked something like this:

AUDF1: 00 AUDC1: a8 Output: 0
AUDF2: 00 AUDC2: a8 Output: 0
AUDF3: 28 AUDC3: a8 Output: 1
AUDF4: 00 AUDC4: a8 Output: 0
AUDCTL: 28, 17-bit poly, 1.79 ch3, ch3+ch4, 64KHz

 

After digging into it a bit, a person might observe, "Oh. That isn't the 4th channel making sound. Channels 3 and 4 are tied into a single channel and making that sound. Okay."

 

Going back to the audio monitor graph, you actually have noted that channels 3 and 4 are combined with a "16" to the left on channel 4. But if I have to wonder if there might be a more intuitive way of representing two channels tied together to produce a single frequency. Something where an average person would see it and immediately say, "Oh! These are a combined channel!"

 

That's all I got. Thanks!

 

PS: I've figured out 64K, 1.79, and T (tone mode), but the 5/L notation was a little confusing at first. It took experimentation for me to realize that "L" would represent the highest bit of AUDC being set for a channel. Does it stand for Linear? Level? Volume-only mode was obvious, though. Insert disclaimer about this actually being a communications timer that we happen to be allowed to hear.

Edited by jmccorm
Link to comment
Share on other sites

Hey it's built in to the O.S. to a degree these days, I didn't do like so many and blather on about a virus etc... Just heads up so the appropriate steps can be taken to make it not happen for the future by myself or others. Many new Emu and Atari users out there. I'm sure if it's submitted normally by the author it can be cleared. The jerks at microsoft are linking all this stuff to their app store slowly but surely. I've had a small conversation about it. I don't know the exact path for a person to get stuff in 'the app store' but if it's submitted and put up there. They scan blah blah blah and certify it and put it on the whitelist. Looks like stuff is going to be getting tougher for everybody that uses any of Micro$oft's products.

 

If I wasn't actively trying stuff I wouldn't be able to mention it and by some small measure be of service.

 

A wish that I have: Avery adopts non Microsoft centric development tools and is able to compile both Windows and native Linux (and Mac OS) binaries. I would just say forget developing for Windows due to the way Microsoft is going, but that's not realistic if you want Altirra to serve a larger number of people. So I think it would just be so cool if it could be multi-platform; much like Atari800 is.

 

I rarely use Windows personally anymore. I "cut the cord" with pay TV and now I've also "moved out of the (Micrtosoft) house" and now use Linux Mint heavily. As Ozzy similarly said "Wine is fine, but native is quicker."

  • Like 1
Link to comment
Share on other sites

Hi Phaeron,

 

I like Altirra very much but now have two small feature requests:

 

No. 1:

Can you add a red floppy icon for file associations of protected images in Explorer?

I stole this idea from ProSystem which marks protected images in red. It helps a lot when you have ATX and ATR images with the same base filename in one directory.

As an "incentive" find attached a modified ICO which I extracted from Altirra, painted it red in Gimp and exported it as ICO again. I hope it does not only look valid but is useable as well.

 

No. 2:

Currently Altirra does not allow to create an ATR image from a loaded PRO or ATX if the loaded image has sectors with read errors or duplicate sectors.

It would be great if the user could select to write it anyway - keeping sector contents of bad-state sectors and an arbitrary instance of duplicate sectors.

Sometimes it is useful to just have all data from a disk to work on; like for dump comparison or as a starting point of cracking.

 

thanks again for your hard work

Altirra64-290-28_500red.ico

  • Like 1
Link to comment
Share on other sites

After digging into it a bit, a person might observe, "Oh. That isn't the 4th channel making sound. Channels 3 and 4 are tied into a single channel and making that sound. Okay."

 

Going back to the audio monitor graph, you actually have noted that channels 3 and 4 are combined with a "16" to the left on channel 4. But if I have to wonder if there might be a more intuitive way of representing two channels tied together to produce a single frequency. Something where an average person would see it and immediately say, "Oh! These are a combined channel!"

 

PS: I've figured out 64K, 1.79, and T (tone mode), but the 5/L notation was a little confusing at first. It took experimentation for me to realize that "L" would represent the highest bit of AUDC being set for a channel. Does it stand for Linear? Level? Volume-only mode was obvious, though. Insert disclaimer about this actually being a communications timer that we happen to be allowed to hear.

 

Linked channels don't quite work that way. All that channel linking does is clock the second timer off of the first one so they count together as a 16-bit timer. However, the audio circuits for both channels are still independently working off of clock pulses from both counters. It is perfectly possible to enable audio for channel 3 as well, though it is not common. I believe I did see one case of someone reusing the serial clock from channel 3 as a high-pass filter for channel 1. For cases like that it is necessary to be able to see the channels independently even with linking enabled.

 

I don't remember offhand why the monitor uses L for regular clocking mode. It might have been because the font was a 3x5 pixel font at the time that didn't read well, before I hooked up proper TrueType fonts.

 

 

A wish that I have: Avery adopts non Microsoft centric development tools and is able to compile both Windows and native Linux (and Mac OS) binaries. I would just say forget developing for Windows due to the way Microsoft is going, but that's not realistic if you want Altirra to serve a larger number of people. So I think it would just be so cool if it could be multi-platform; much like Atari800 is.

 

I rarely use Windows personally anymore. I "cut the cord" with pay TV and now I've also "moved out of the (Micrtosoft) house" and now use Linux Mint heavily. As Ozzy similarly said "Wine is fine, but native is quicker."

 

Sorry, nope. I still use Windows as my primary. And frankly, saying that you wished the program was multi-platform and then suggesting I should drop Windows is a bit rude. Frankly, I've had my fill of cross-platform programs that don't support Windows properly, including:

  • builds generated by gcc that I can't compile in Visual Studio and can't debug or profile using any usual tools that need PDBs
  • GUI programs that spawn console windows
  • programs that don't use native file dialogs, or even just a menu, because that might require platform-specific code
  • programs that don't support Unicode filenames
  • programs that don't support high DPI
  • programs that use dot files in the user profile directory as if the leading dot did anything on Windows

I'm not willing to put up with compromising this to use a less-capable cross-platform framework, nor do I have the time to reimplement native UIs from scratch for other platforms. I don't have anything against portability in general, I just don't have the time to support other platforms without compromising the primary platform. If you want a better native emulation experience, you'll have to find someone that can assist in that -- and from what I can tell, Atari800 is in need of more active developers. I'm always happy to help other A8 emulator authors with info at least, and sometimes some code can even be adapted... but someone else needs to do the gruntwork and maintenance.

  • Like 8
Link to comment
Share on other sites

 

A wish that I have: Avery adopts non Microsoft centric development tools and is able to compile both Windows and native Linux (and Mac OS) binaries. I would just say forget developing for Windows due to the way Microsoft is going, but that's not realistic if you want Altirra to serve a larger number of people. So I think it would just be so cool if it could be multi-platform; much like Atari800 is.

 

I rarely use Windows personally anymore. I "cut the cord" with pay TV and now I've also "moved out of the (Micrtosoft) house" and now use Linux Mint heavily. As Ozzy similarly said "Wine is fine, but native is quicker."

 

 

I think it's better to leave Avery to do what he needs to do, but if a third party developer wanted to get involved and do the work I am sure Avery wouldn't mind at least giving pointers.

Linux is vastly overrated though. A MAC port would be smarter. Very few people use Linux as their full-time machine, except some geeks that like to play around with things

and waste their time compiling stuff.

 

I have used Linux Mint in my Virtual Machine and really wasn't impressed with it. It's just a bunch of geeks that build a few programs

with terrible UI that do complicated things and most of the programs are available on Windows anyway. That crowd has being using FUD

for years against Microsoft. I mean after all, they have their own website (slashdot).

 

The best thing that Linux ever did was create Android.

 

For me, Free as in beer isn't good enough, when it's not easy to use or easy to support.

Sometimes, you have to pay to have nice things and to be honest, I am fine with that.

Edited by Docwiz
  • Like 5
Link to comment
Share on other sites

@Phaeron: Could you move audio monitor to external window (I mean window switched on/off like console window)? Another window gives me possibility to move it where I want and doesn't overlap one place on the screen all time (it's annoying a bit for me). And you would be in comfortable situation if you decide to add more sound devices monitors in the future.

Link to comment
Share on other sites

As for the "case Windows", I think Altirra should stay on Windows. Why? From the beginning, it was not developed as a cross platform software.

Effort needed to make the code base portable would be enormous. E.g. It would mean rewriting the GUI part from scratch. And I strongly believe that it's better to have new features and more precise emulation.

 

I wouldn't be so hard on the cross platform GUI toolkits, however, the only suitable that crosses my mind is Qt (in terms of performance and features).

 

Also packaging for GNU/Linux would be painful. It is either providing the source code (and then dealing with poor users who encounter compilation errors for whatever reason), or creating packages for a limited set of distributions. This can be automated, but even testing let us say on five distributions is time consuming (and you need 5 VMs).

 

There is, however, something we can do. Pushing for bug fixes and enhancements in WINE, so that Altirra runs more smoothly.

And possibly pushing Phaeron not to use too obscure Windows/DirectX/Whatever... APIs in Altirra :)

Edited by baktra
  • Like 1
Link to comment
Share on other sites

Sorry, nope. I still use Windows as my primary. And frankly, saying that you wished the program was multi-platform and then suggesting I should drop Windows is a bit rude.

 

I didn't think I was being rude at all and am sorry you took it that way. I was just expressing a wish of mine and in no way was being critical of your efforts thus far. Quite the contrary; I'm very grateful and pleased with your efforts in Altirra. It should go without saying that I respect your prerogative to develop as you wish. If you took my mention of Atari800 being cross platform as any kind of slight, I want to assure you it definitely was not intended to be so.

 

As to putting effort into making Atari800 more capable (not that it is any slouch at present): I would be happy to do so if I could. Unfortunately, I lack the knowledge and skills required. Believe me, I'm the kind of person who would much rather make the efforts than ask others to while I sit back.

 

Again, sorry for any misunderstanding and know that I certainly appreciate all you do.

  • Like 2
Link to comment
Share on other sites

 

I think it's better to leave Avery to do what he needs to do,

 

I'm not sure what you mean. I don't dictate what Avery does, nor would I ever expect whatever wishes I have for Altirra to be interpreted as anything more than just that. If by "...leave Avery to do..." you mean not to ever express any hopes or wishes for what he might do with Altirra, then I'll just have to respectfully disagree with your position. I know you're new around here, but perhaps you've noticed that this thread is chock full of feature requests and the like; probably a similar amount to bug reports etc. If you mean don't express any hopes or wishes that end up irritating Avery, then I agree with that. Keep in mind though that I didn't anticipate that reaction from him and would not deliberately do something to upset him. Historically my recollection is Avery usually being pretty open minded but at least always gracious when responding to feedback.

 

 

Linux is vastly overrated though. A MAC port would be smarter. Very few people use Linux as their full-time machine, except some geeks that like to play around with things

and waste their time compiling stuff.

 

You're entitled to your opinion about the merit of Linux of course, but keep in mind that's all it is. Certainly I agree that there are more Macintosh users than Linux users, but if you look back I promoted the idea of multi-platform including of course Mac. But even the amount of Mac users is negligible compared to Windows users. That's not really the point though. The point is that

the number of Windows + Mac + Linux + etc. users outnumber just Windows users alone, and having multi-platform software helps keep at least some competitive pressure on MS. I think you would be hard pressed to find anyone who thinks a little competition for MS is a bad thing, with the possible exception of course of those who have a financial stake in MS and the fanboys.

 

 

I have used Linux Mint in my Virtual Machine and really wasn't impressed with it. It's just a bunch of geeks that build a few programs

with terrible UI that do complicated things and most of the programs are available on Windows anyway. That crowd has being using FUD

for years against Microsoft. I mean after all, they have their own website (slashdot).

 

Again, your opinion. It's hugely prejudicial as well to paint Linux users all with one brush. Also, if you use the label "geek" in a derogatory fashion, then it is a bit offensive too. I don't know if you meant it that way but the context might suggest it.

Edited by fujidude
  • Like 1
Link to comment
Share on other sites

As for the "case Windows", I think Altirra should stay on Windows. Why? From the beginning, it was not developed as a cross platform software.

Effort needed to make the code base portable would be enormous. E.g. It would mean rewriting the GUI part from scratch. And I strongly believe that it's better to have new features and more precise emulation.

 

I wouldn't be so hard on the cross platform GUI toolkits, however, the only suitable that crosses my mind is Qt (in terms of performance and features).

 

Also packaging for GNU/Linux would be painful. It is either providing the source code (and then dealing with poor users who encounter compilation errors for whatever reason), or creating packages for a limited set of distributions. This can be automated, but even testing let us say on five distributions is time consuming (and you need 5 VMs).

 

There is, however, something we can do. Pushing for bug fixes and enhancements in WINE, so that Altirra runs more smoothly.

And possibly pushing Phaeron not to use too obscure Windows/DirectX/Whatever... APIs in Altirra :)

 

Thank you for your polite and well reasoned response. I have little idea how hard the task of porting the UI to a cross-platform toolkit would be. My understanding though is that once it is, the effort to publish versions for different platforms is not too terribly painful. Perhaps my understanding of that is misinformed though. And even with that bit of effort, I have seen many examples where software is primarily developed (or at least tested) for one platform by the author, and the creation of binaries for other platforms is handled by volunteers. Usually such examples as I'm talking about would have some kind of notice or documentation that the author does not officially support on other platforms, but that folks can try their luck with them as they wish.

 

But in any case, from the perspective of judging Avery on what he chooses to do with Altirra I want to be crystal clear: Regardless of how easy or hard it might be to accomplish z, y , or z feature, change, etc., I 100% respect his right to do as he sees fit in all aspects of Altirra and am not judging him in any way. I was just sharing my hopes and dreams.

Link to comment
Share on other sites

I tend to feel Altirra has long left the station. To recall it for cross compiling would be a massive undertaking. We'd likely have to troubleshoot everything from the beginning. I'd much rather see that time spent on new features and refinements. Learning a whole new environment and tool set would certainly take time away from the ongoing refinements & improvements we're enjoying today.

 

I found the suggestion of suddenly dropping support for Windows disheartening. I know many people that use Altirra on a monthly basis to enjoy their childhood computers and vintage software in a modern convenient way. If Windows support was to somehow suddenly vanish, the next most practical solution would be a low-cost dedicated NUC running the required OS. And in reverse, Linux users could do the same. Give up the fanboi'ism and use whatever tool gets the job done.

 

Am I a winderz fanboi? Maybe. Maybe not. I don't really care what I'm labeled as. It's just a label. All I remember is that Win 3.1 was available on my first 486, and that it "rescued" me from the chaotic 8/16 bit standards & incompatibilities of the day. It got the job done. And I just happened to get into that ecosphere. I could have gone the same way with MAC or Xenix.

  • Like 1
Link to comment
Share on other sites

JHC! Guys... my comment "I would just say forget developing for Windows due to the way Microsoft is going, but that's not realistic..." was never ever meant to actually suggest dropping Windows support. What I was trying to say is that currently it is completely unrealistic not to support a Windows version, but if MS keeps going in the direction they are, then perhaps at some point it might be Windows that doesn't get a version. That's just my displeasure with Microsoft talking. It may not ever happen and is a long way off if it ever would. And no Keetah, liking Windows and wanting a Windows version doesn't make you a fan boy in my book by any means. If you were to say that it is bad for anyone to provide Microsoft competition for the desktop OS, then I might change my mind though. ;)

Link to comment
Share on other sites

Come on guys, lets all calm down and remember this is a beta discussion thread...Avery has made it clear numerous times that Windows is his choice of dev OS and that he has no want of dev'ing on other platforms. The source is there yet no one has bothered so far.

 

I'd love to see lots of folk be able to use Altirra on as many OS's as possible but that isn't Avery's responsibility, lets just be grateful we have it AT ALL.

 

I also hate seeing the group at each others throats over trivial stuff, lets all just take a chill pill and get on with other stuff eh...

Edited by Mclaneinc
  • Like 4
Link to comment
Share on other sites

Come on guys, lets all calm down and remember this is a beta discussion thread...Avery has made it clear numerous times that Windows is his choice of dev OS and that he has no want of dev'ing on other platforms. The source is there yet no one has bothered so far.

 

I'd love to see lots of folk be able to use Altirra on as many OS's as possible but that isn't Avery's responsibility, lets just be grateful we have it AT ALL.

 

I also hate seeing the group at each others throats over trivial stuff, lets all just take a chill pill and get on with other stuff eh...

 

I'll have to make sure I remember not to ever bring that particular idea up again. that's for sure. And you're very right, we are spoiled rotten with the Windows version. I have it running in WINE and seems fine so far, though I haven't gotten real exotic with it there yet. For any who are also interested in using the best A8 emulator under Linux: I'm using the "PlayOnLinux" environment to do so. It makes using WINE much more slick IMHO.

Link to comment
Share on other sites

 

I'll have to make sure I remember not to ever bring that particular idea up again. that's for sure. And you're very right, we are spoiled rotten with the Windows version. I have it running in WINE and seems fine so far, though I haven't gotten real exotic with it there yet. For any who are also interested in using the best A8 emulator under Linux: I'm using the "PlayOnLinux" environment to do so. It makes using WINE much more slick IMHO.

 

Until last year when I got a Win10 laptop (first Windows machine I'd had in over 10 years), I was using Altirra under WINE without problems to emulate an XL with an Ultimate 1MB and SIDE2 cart with attached CF card hard disk, all without a problem. I also messed around with an emulated XEP80, but mostly to see that it was possible than to use it.

  • Like 1
Link to comment
Share on other sites

The only issue with Altirra running under WINE that I observed so far - aside from the occasional window glitch when opening and closing the debugger - is that WINE doesn't forward a disk change notification to Altirra's virtual disk handler. The result is that if a file changes on the virtual drive, Altirra doesn't see it. It would be nice if that were fixed (and it's a WINE issue AFAIK).

  • Like 2
Link to comment
Share on other sites

The only issue with Altirra running under WINE that I observed so far - aside from the occasional window glitch when opening and closing the debugger - is that WINE doesn't forward a disk change notification to Altirra's virtual disk handler. The result is that if a file changes on the virtual drive, Altirra doesn't see it. It would be nice if that were fixed (and it's a WINE issue AFAIK).

 

Do you mean if the Linux file which is actively being used as a disk image by Altirra is modified by Linux, WINE doesn't inform Altirra? If so that sounds like a scenario I might not run into much. If you mean something else can you elaborate a bit more?

Link to comment
Share on other sites

 

Do you mean if the Linux file which is actively being used as a disk image by Altirra is modified by Linux, WINE doesn't inform Altirra? If so that sounds like a scenario I might not run into much. If you mean something else can you elaborate a bit more?

 

I believe this is more likely the H: device.

  • Like 1
Link to comment
Share on other sites

 

Do you mean if the Linux file which is actively being used as a disk image by Altirra is modified by Linux, WINE doesn't inform Altirra? If so that sounds like a scenario I might not run into much. If you mean something else can you elaborate a bit more?

Mount disk as virtual DOS 2.0, MYDOS or SDFS volume. I use this as my target folder for the assembler, so the whole setup becomes basically unusable under WINE.

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...