Jump to content
IGNORED

Altirra 3.90 released


phaeron

Recommended Posts

7 hours ago, Keatah said:

Love the ongoing work with this emulator. Like I say I don't pretend to understand 50% of it. But all of the pieces seem to come together for a great user experience. Especially all the menu/customization options.

Yup, most of the stuff goes way over my head but its so well done the user gets an out of the box experience of incredible quality...For the poor guy who is getting rid of his hardware at least with Altirra he can boot it up and still enjoy whatever machine profile he likes and customise to his heart's content and its the same for every other user..All for free..

 

 

Link to comment
Share on other sites

Altirra is a key software component in my childhood dream of building an all-in-one "James Bond suitcase". The goal being to play all the videogames of the 70's and 80's with one piece of hardware. Back then it would have been prohibitively expensive. If at all technologically possible. Today the necessary parts and hardware are commonplace hobbyist material. And it's all portable.

Edited by Keatah
Link to comment
Share on other sites

MAME was nostalgic back in the 1990's precisely because it allowed us to play arcade games we would never again (and still don't) see in an arcade today. It seemingly came out of nowhere. Long after we had disbanded our school gangs. Long after after the arcade establishments began replacing vectors with rasters. Just in time to save us from the onslaught of those dumb-ass fighting games. We never needed more than the Street Fighter and Mortal Kombat series. Arguably Primal Rage I and II. Yet they proliferated across the scene like an airborne virus.

 

Playing all the arcade games we did as kids would require travel to many different locations. Some way across town. Others inter-state. Playing one after another is impossible without a StarTrek style transporter.

 

Today some 25+ years later MAME is nostalgic again, in a slightly different way. This time it would be nostalgic for the times of rediscovering that those games are coming home for a 2nd round. And while it is not the exact precise 80's arcade experience - it's better in many ways. The convenience and reliability being the advantages. The choice of food and music and other environmental accoutrements completely customizable.

 

No longer would I need to slip'n'slide my way through a snowstorm or have fear of getting blown away in Tornado Alley in order to get to the arcade. Not to mention begging for rides as a 12-year old. Or having to BMX 3 miles one way. No sir! Today it's game time and tea time combined into one afternoon. Anytime. Anywhere.

Edited by Keatah
Link to comment
Share on other sites

These good ol' times. :)
Certainly this is the emotional fundament, driving us towards these gifts, but also the fascination about the technology, we barely did understand past in that time.

I can just repeat and underline what others posted. Thank you very much for your endless effort in bringing this emulator to life.

Edited by Pixelfetish
Link to comment
Share on other sites

7 hours ago, Keatah said:

Altirra is a key software component in my childhood dream of building an all-in-one "James Bond suitcase". The goal being to play all the videogames of the 70's and 80's with one piece of hardware. Back then it would have been prohibitively expensive. If at all technologically possible. Today the necessary parts and hardware are commonplace hobbyist material. And it's all portable.

 

I got you fam. I have a Win 2 and GDP is the real deal; they aren't powerhouses of course but it's windows in a portable form factor with a controller built in. The Win 3 looks pretty exceptional.

  • Like 1
Link to comment
Share on other sites

On 12/14/2020 at 9:23 PM, DjayBee said:

When analyzing @Fred_M's Mega Magazine disks, I stumbled over a timing challenge for your disk emulation code.

 

The attached image has three sectors 1039. Track 39 contains 33 sectors, two of them have bad CRCs.

For protection the sector is read twice and both times the code jumps into the loaded sector.

The two needed instances contain "STX $8000, RTS" and "STY $8001, RTS". The third instance is zero-filled.

 

Full disk emulation of a standard 1050 catches the correct instances.

The standard 1050 emulation alway hits the zero-filled instance once and crashes.

It works with standard 810 emulation.

Tried on Altirra 3.90 and 4.00-test23 emulating a standard PAL 800XL.

 

Mega Magazine 2 (1991-11)(A.N.G. Software)(NL)(FW)(Side A)(Magazine)[req 64K].atx 141.29 kB · 16 downloads

 

Note:

I suspect the triple sector to be a duplication error because the other protected Mega Magazines (#3 to #6) only have two instances of the protection sector.

The other disks have on their tracks 39 either 33 sectors and only one with bad CRC or 34 sectors and two with bad CRC.

 

@DjayBee I dumped several different disks of Mega Magazine 2, but most of them did not work at all. Probably bad quality disks and most of them I got from the private stack of John of ANG Software who kept this for years in a moisty shed. One dump does work in Altirra (3.10) so hopefully you can use it. Sadly only side A, because I don't have the courage to do the flippy mod ?

 

In the attachment my atx-file and the raw-files. 

 

mega2.zip

  • Thanks 1
Link to comment
Share on other sites

2 minutes ago, xxl said:

any plans :) or no chance :( ?

No current plans, and unlikely. I've been burned in the past by implementing add-on sound devices that had very low uptake but high complexity in the sound chip. Nobody has these devices because they're low production run and only of use in games or demos, and no one writes software for them because nobody has them.

Link to comment
Share on other sites

the world has changed ... people don't write on physical Atari hardware for physical Atari hardware but on PC. A few years ago you added SID emulation, and just because of that, programs that use it came out, there wasn't a single one before.

Link to comment
Share on other sites

25 minutes ago, xxl said:

the world has changed ... people don't write on physical Atari hardware for physical Atari hardware but on PC. A few years ago you added SID emulation, and just because of that, programs that use it came out, there wasn't a single one before.

I'm sorry, what are you talking about? I added SID emulation because SlightSID was actual hardware being prototyped with an actual Atari computer, not just virtual hardware on a PC.

Link to comment
Share on other sites

4 minutes ago, phaeron said:

I'm sorry, what are you talking about? I added SID emulation because SlightSID was actual hardware being prototyped with an actual Atari computer, not just virtual hardware on a PC.

exactly, and I wrote the SlightSID Player thanks to it ... now POKEY MAX is the actual hardware in continuous sale that has PSG but no software ...

Link to comment
Share on other sites

6 minutes ago, xxl said:

exactly, and I wrote the SlightSID Player thanks to it ... now POKEY MAX is the actual hardware in continuous sale that has PSG but no software ...

That it is shipping in quantity does help, but it's still work to write and maintain the emulation. Feasibility is one concern which looks fine here; the other is mood. Quite frankly, whether I implement a device often depends on mood, and I'll often implement devices just because I randomly feel like doing so.

 

So, sorry, but I can't really give an answer right now. Even if I said yes to emulating the device, I haven't been working on it and don't have anything to release, so the most that I can say is that I'm not opposed on principle or infeasibility. If I do implement it, you will see it here on AtariAge in the test releases.

 

  • Like 1
Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-4.00-test28.zip

http://www.virtualdub.org/beta/Altirra-4.00-test28-src.zip

  • AltirraOS 3.31: Move Left and Delete char E: commands fixed at column 0 with LMARGN=0; SIO now accepts ACK for Complete in SIO commands for compatibility.
  • Added autodetection of the 1200XL rev. 12 OS.
  • Debugger: gf (go frame) now has a quiet option.
  • Fixes for a couple of configurations where copying or recording frames would produce a low-contrast image due to the wrong range being used.
  • Disassembly window now has options for overriding the M/X mode used when disassembling 65C816 code.
  • Added missing names for SlightSID and SoundBoard layers in the debugger's .map output.

 

  • Like 10
  • Thanks 5
Link to comment
Share on other sites

11 hours ago, Fred_M said:

I dumped several different disks of Mega Magazine 2, but most of them did not work at all. Probably bad quality disks and most of them I got from the private stack of John of ANG Software who kept this for years in a moisty shed. One dump does work in Altirra (3.10) so hopefully you can use it. Sadly only side A, because I don't have the courage to do the flippy mod ?

Thanks a lot. :thumbsup:

This version has only two instances of the protection sector and therefore works reliably.

Don't worry about side B as the current dump of it is fine.

  • Like 1
Link to comment
Share on other sites

On 2/14/2021 at 3:46 AM, phaeron said:

Disassembly window now has options for overriding the M/X mode used when disassembling 65C816 code.

Excellent, seems to work fine, thank you. Also, if I can have yet another request regarding the debugger in 65C816 mode: any chances that the "o" command could "step over" MVN and MVP instructions the same way as it is stepping over JSRs etc.?

Link to comment
Share on other sites

On 2/13/2021 at 9:46 PM, phaeron said:

http://www.virtualdub.org/beta/Altirra-4.00-test28.zip

http://www.virtualdub.org/beta/Altirra-4.00-test28-src.zip

  • AltirraOS 3.31: Move Left and Delete char E: commands fixed at column 0 with LMARGN=0; SIO now accepts ACK for Complete in SIO commands for compatibility.
  • Added autodetection of the 1200XL rev. 12 OS.
  • Debugger: gf (go frame) now has a quiet option.
  • Fixes for a couple of configurations where copying or recording frames would produce a low-contrast image due to the wrong range being used.
  • Disassembly window now has options for overriding the M/X mode used when disassembling 65C816 code.
  • Added missing names for SlightSID and SoundBoard layers in the debugger's .map output.

 

Excellent.

 

E: driver seems now in full working order (teste on Colleen-mode OS load). Wrapping-around margin-0 to end of prior line works perfectly, too.  Track-0 Adjust Operation on Indus/GT working beautifully.

 

3.31 is now my standard, go-to OS load for testing and productivity in Colleen mode. 

 

Kudos!

  • Like 1
Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-4.00-test29.zip

http://www.virtualdub.org/beta/Altirra-4.00-test29-src.zip

  • Fixed a crash when disabling instruction history while viewing coprocessor execution in the history window.
  • .diskdumpsec debugger command now has -i option to invert the data.
  • Added support for the Indus GT CP/M 2.2 file system in the Disk Explorer. This is lightly tested, extents may or may not work.
  • Fixed a number of Z80 emulation bugs including some missing IX/IY based instructions, broken DAA, and miscellaneous flag bugs.
  • Fixed Z80 disassembly of some instructions with extraneous prefixes, e.g. DD/FD with LD D,E instruction.

 

4 hours ago, drac030 said:

Excellent, seems to work fine, thank you. Also, if I can have yet another request regarding the debugger in 65C816 mode: any chances that the "o" command could "step over" MVN and MVP instructions the same way as it is stepping over JSRs etc.?

I think that should be doable, it's not a stack breakpoint like JSR but I can do it with an address range step like the source step mode uses.

 

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

Feature request:

  • Memory windows 1, 2, 3, 4 are updated every time F8 is pressed, but I'd like a window to watch an address in real time (e.g. $4000), and not have to do it manually.
  • If the above is possible: be able to export to a txt the values of some addresses from a time 'start' to a time 'stop'. E.g.: in rows the time or cycle, and in the columns the value of the selected memory addresses.
  • CPU: there is a Performance Analyzer. Not sure how to use it, but I'd like a window/time graph with a percentage easy to understand (0%, 100%) in real time of the resources used. I'd like to know where the system reaches it maximum in order to relax loads, and the value of some addresses in that moment.

 

Link to comment
Share on other sites

On 2/15/2021 at 5:55 PM, tane said:
  • If the above is possible: be able to export to a txt the values of some addresses from a time 'start' to a time 'stop'. E.g.: in rows the time or cycle, and in the columns the value of the selected memory addresses.

You can do this now through debugger logging if you want, by setting a non-stopping conditional breakpoint that prints those locations to the console, then enabling console logging.

 

On 2/15/2021 at 5:55 PM, tane said:
  • CPU: there is a Performance Analyzer. Not sure how to use it, but I'd like a window/time graph with a percentage easy to understand (0%, 100%) in real time of the resources used. I'd like to know where the system reaches it maximum in order to relax loads, and the value of some addresses in that moment.

You'll have to be less vague about what you're looking for here. The Atari hardware doesn't have much in the way of independent units that can be usefully monitored in utilization like this, they tend to either be always active all the time or necessarily only active when in use. If you're looking for traditional CPU code profiling then there is already a profiler that can be enabled both for live execution and in the Performance Analyzer, and offers both instruction/function level profiling as well as call graph profiling.

 

  • Thanks 1
Link to comment
Share on other sites

Thanks, I'll try.

15 hours ago, phaeron said:

You can do this now through debugger logging if you want, by setting a non-stopping conditional breakpoint that prints those locations to the console, then enabling console logging.

The target is to compare the values of 2 or more addresses thru the time, whatever their values are.

15 hours ago, phaeron said:

You'll have to be less vague about what you're looking for here. The Atari hardware doesn't have much in the way of independent units that can be usefully monitored in utilization like this, they tend to either be always active all the time or necessarily only active when in use. If you're looking for traditional CPU code profiling then there is already a profiler that can be enabled both for live execution and in the Performance Analyzer, and offers both instruction/function level profiling as well as call graph profiling.

An example of what I'm thinking is the following, with a G2F code exported and running a RMT in the background. Adding custom code under the section ';this area is for yours routines' of the G2F with:

  1. Let's say there is a counter at $2000 running from 00 to ff, with infinite loops.
  2. Then I add a beq ($2000==10), then do something (with several lda & sta), if not continue.
  3. If I started to add too many beq with different values ($2000==20, $2000==30, ..., etc.), then there is a point that the system collapses, I mean there are glitches (something bad painted on the screen for example, like skipping part of the code).
  4. If I reduce the quantity of beq, then back to normal.
  5. Also, if at the collapse point, if I change the counter from $2000 to $90 (zero page, 1 cycle instead of 2), then all is back to what is expected, with no glitches.

So I'm interested in to know how far I'm from the collapsing point of the system in order to reduce or increase operations.

 

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