Jump to content

Recommended Posts

This thread got me thinking some about what it would take to make my 600XL run a little faster.

 

https://forums.atariage.com/topic/345302-revision-c-basic-error-that-does-not-show-in-rev-a-or-altirra-basic/

 

My 600XL had OS V. 4 and BASIC R. C. installed and I normally run it with either a 1090 board/320k RAM card or one of my PBI RAM cards installed directly.  However, it's possible to install Fast Chip in an Atari 800 to get better floating point performance.  It's also a known fact that Altirra BASIC runs much faster than Atari BASIC.  So, a good combination would be to change out the floating point package on the OS V. 4 with the Fast Chip ROM and to swap out the Atari BASIC with Altirra BASIC.  The XL/XE OS also has a checksum to deal with so I tracked down a program to update the checksum.

 

I know this will cause speed compatibility problems with some software but I'll have to see how well it works out overall.

 

Attached is the modified Atari OS4 ROM with Fast Chip installed:  AtariOSR4wFC.rom

Program, with instructions, to update the checksum bytes:  Hias PatchROM-1.33.zip

 

Floating Point Operations Test:

 

FloatingPoint.thumb.JPG.dc65e1976e6d24fc81b75f0a92792b50.JPG

 

System information after changes made:

SimpleChecker.thumb.JPG.bac98506a9a29a1d7e74483211e57d27.JPG

 

Atari 600XL w/1090 board:

 

600xl.thumb.JPG.d580471695e9f42e3e3889a00ec13e5c.JPG

 

  • Like 1
  • Thanks 1
Link to comment
https://forums.atariage.com/topic/345355-xl-os-r4-wfast-chip-for-math-pack/
Share on other sites

what would be gained if perhaps more things got done during DMA and VBI possibly at the same times and separately also what happens during retrace ... might get us a little and every little bit counts that's OS level changes for sure but hey why not PBI and other keyholes are time honored and well complete personality and support cards from Newell etc right on down to incognito u1m etc show some possibility.

Edited by _The Doctor__
32 minutes ago, _The Doctor__ said:

what would be gained if perhaps more things got done during DMA and VBI possibly at the same times and separately also what happens during retrace ... might get us a little and every little bit counts that's OS level changes for sure but hey why not PBI and other keyholes are time honored and well complete personality and support cards from Newell etc right on down to incognito u1m etc show some possibility.

Do you know of any OS patches, that maintain compatibility, and take advantage of this?  

don't think anyone has attempted for these purposes but the the DMA (screen off) speed up is use a bit as well as shortened display lists. No one has ever gone to the bare metal OS interaction time as yet, but it's been theorized at parties.

 

Screen changes really should be up to the programmer.

You'd likely find the fastest combination is a PAL machine.  Even though the master clock is a bit slower, it has less VBlank CPU overhead as well as less overall screen and refresh DMA which gives it a better net speed.

Why not let NTSC compete as well? It's pretty darn close already because more frames in the same time period. This can be fixed possibly, lets not keep saying do everything in PAL, I like the silky smooth NTSC, PAL is jerky and slow in screen updates PAL 60 hints NTSC can be helped. We already know OS has line error mistake. Maybe fixes/hacks will help both do more? WIN WIN

Edited by _The Doctor__

Now that there is a patched ROM of XL-Os Rev. 4 with fast FP routines, I would be happy, if someone would also post patched ROM versions (that could be burned onto a 16k Eprom) with fast FP routines for a) OS-A (PAL, NTSC), b) OS-B (PAL, NTSC), c) XL-OS Rev. 2 and d) XL-OS Rev. 3. Since I only have PAL Atari 800XL computers, I would need PAL versions and 16k size (so even OS-A and OS-B must be 16k ROMs to use them in the XL computer)...

 

Here's the Fast Chip ROM.  It's the same as used on an Atari 800.  To make a patched ROM you take a copy of the OS ROM and overwrite it with this ROM starting at the offset of $1800.  Then you have to run the previously posted patchrom command.  i.e.  "patchrom -C sourcefile destfile"  With Windows 10, you need to run the command prompt as admin.

 

FastChip.rom

 

I've got all these files from this forum....somewhere.

  • Like 1
3 hours ago, CharlieChaplin said:

Now that there is a patched ROM of XL-Os Rev. 4 with fast FP routines, I would be happy, if someone would also post patched ROM versions (that could be burned onto a 16k Eprom) with fast FP routines for a) OS-A (PAL, NTSC), b) OS-B (PAL, NTSC), c) XL-OS Rev. 2 and d) XL-OS Rev. 3. Since I only have PAL Atari 800XL computers, I would need PAL versions and 16k size (so even OS-A and OS-B must be 16k ROMs to use them in the XL computer)...

 

I found some of what you are looking for here:   https://atariwiki.org/wiki/Wiki.jsp?page=Articles#section-Articles-OperatingSystemsOS

 

  • Thanks 1
5 hours ago, Steve Mynott said:

Probably a silly question but what's the name of the FP benchmark?

I believe that is from SysInfo.

SysInfo v2.24 (2014-08-01)(Kokoszkiewicz, Konrad M.)(PL)(en).atr

  • Like 1
  • 3 weeks later...

JAC! has finished this a few hours ago:

 

Please take into account to use the Fast Math Version F+

The obj file is attached, too.

 

https://atariwiki.org/wiki/Wiki.jsp?page=FAST FLOATING POINT source code for the ATARI

 

math.jpg

Atari OS Rev 2 (1983) (Atari) (800XL-65XE-130XE)-FASTFP.rom FASTFP.OBJ

Edited by luckybuck
  • Like 5
8 hours ago, luckybuck said:

JAC! has finished this a few hours ago:

 

Please take into account to use the Fast Math Version F+

The obj file is attached, too.

 

https://atariwiki.org/wiki/Wiki.jsp?page=FAST FLOATING POINT source code for the ATARI

 

math.jpg

Atari OS Rev 2 (1983) (Atari) (800XL-65XE-130XE)-FASTFP.rom 16 kB · 2 downloads FASTFP.OBJ 2.01 kB · 1 download

Is this F+ Version part of the attached OS Rev 2 ROM file?  

Here's Atari OS R4 with Fast Math Version F+.

 

AtariOSR4wFMvFplus.rom

 

Oddly enough, ? SQR(2^2) still gives 1.99999999 in Altirra BASIC 1.58.  However, it does give 2 with Atari BASIC R. C.

I ran the floating point math speed test in SysInfo v2.24 and discovered no speed increase over the Fast Chip ROM I used earlier.

I've installed this ROM in my 600XL.    🙂

 

 

Here's OS R. 4a with the Fast Floating Point F+ and patched for the proper banks on an Atari 130XE.  (I decided to call it R. 4a.)

 

Atari_OS_R_4A_w_FM_vF_plus.rom

 

To patch the bank table, I used a hex editor to swap out the existing bank table and install the bank table as per the comment in the source code.  The comment, in the source code, appears to be correct due to the bits set as opposed to the bits set as per the original table.  I wasn't able to test it on a machine with bad memory, though.  The checksum was changed and the OS runs on Altirra.  I'll install it in my real machines, of course.

 

Starting on line 5686, here's the source code and comment I used:

 

**    TXEB - Table of XE Banks
*
*    NOTES
*        Problem: should be $0,$4,$8,$C to correctly test all banks


TXEB    DB    $0,$2,$4,$6

  • Like 3
  • Thanks 1
  • 9 months later...
On 1/14/2023 at 4:48 PM, reifsnyderb said:

Oddly enough, ? SQR(2^2) still gives 1.99999999 in Altirra BASIC 1.58.  However, it does give 2 with Atari BASIC R. C.

I listened to an interview with someone from Atari, years ago, and he revealed that they knew their FP routines were somewhat inaccurate, and I think the guy said they would find it embarrassing if people tried SQR(4) and got back an imprecise answer. So, to avoid that, they hardcoded this particular case. SQR() tests if you're giving it 4, and if so, it returns 2, with no computation!

1 hour ago, markmiller said:

I listened to an interview with someone from Atari, years ago, and he revealed that they knew their FP routines were somewhat inaccurate, and I think the guy said they would find it embarrassing if people tried SQR(4) and got back an imprecise answer. So, to avoid that, they hardcoded this particular case. SQR() tests if you're giving it 4, and if so, it returns 2, with no computation!

Very interesting!

 

What I also find interesting is that Atari never changed their FP routines even though faster FP routines were available.

1 minute ago, reifsnyderb said:

What I also find interesting is that Atari never changed their FP routines even though faster FP routines were available.

It would have affected many pre-existing applications, especially games, especially ones that used timing loops.

  • Like 2

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