Jump to content
IGNORED

New SIDE3 Loader Testing and Development Thread


Recommended Posts

Update:

 

https://atari8.co.uk/wp-content/uploads/SIDE3-Loader-Beta.zip

 

Fixes an ATR mounting bug caught by @800_Rocks, for which many thanks. Also corrects zero-length file deletion error message and tidies up the 'buffer full' message when you try to read more than 1,024 filenames in a single folder.

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

2 hours ago, flashjazzcat said:

Update:

 

https://atari8.co.uk/wp-content/uploads/SIDE3-Loader-Beta.zip

 

Fixes an ATR mounting bug caught by @800_Rocks, for which many thanks. Also corrects zero-length file deletion error message and tidies up the 'buffer full' message when you try to read more than 1,024 filenames in a single folder.

I'm going to have to try testing this on a different machine.  The SIDE3 keeps crashing in my 576NUC, just sitting at the loader it crashes within seconds.  So far all I can say is that the new logo looks nice on NTSC.

Link to comment
Share on other sites

Just now, flashjazzcat said:

Could this be related to the BASIC XE crash? SIDE3 is reasonably fussy about host system timings.

Not sure.  I can say that in the almost year since I built the system, I never experienced any other software that won't run on it.  I am running a passive heatsink on the GTIA - I found the exact temperature where this particular GTIA in that machine goes from stable to not.  Sadly my best upgraded machine is my 1088XLD without an accessible cart port and my PAL 130XE with U1MB is in need of repair.

Link to comment
Share on other sites

4 minutes ago, flashjazzcat said:

GTIA instability? That's a new thing to me.

When it gets almost hot enough to scald skin, some errors start to show up with collision detection.  Also, the shading doesn't properly work (i.e., the GTIA tests in SysInfo fail).  It was neat watching the 16 shaded bars start to flicker and glitch, then cooling the chip and watching them pop back in.

Link to comment
Share on other sites

5 minutes ago, Stephen said:

When it gets almost hot enough to scald skin, some errors start to show up with collision detection.

Is this a peculiarity of the NUC, or is the chip just bad?

4 minutes ago, Dinadan67 said:

The Side3 loader does not work with the 576NUC+, regardless of the version

Interesting. It certainly indicates that something is wrong with the hardware.

Link to comment
Share on other sites

1 minute ago, flashjazzcat said:
8 minutes ago, Stephen said:

When it gets almost hot enough to scald skin, some errors start to show up with collision detection.

Is this a peculiarity of the NUC, or is the chip just bad?

Design quirk of the 576NUC.  The initial version did not have the outputs buffered.  A fix was made for this, but the GTIA (at least in mine) requires a heatsink or it overheats.  I tried multiple GTIAs, and this behaviour was consistent.

Link to comment
Share on other sites

GTIA handles TRIG3 as well (cartridge present), and since the SIDE3 loader is bristling with interrupts and constantly banking SRAM and ROM in and out of both cartridge windows ($8000-$9FFF and $A000-$BFFF), it only takes one glitch for the whole thing to blow up.

 

EDIT: I've just glanced at the 'World's smallest Atari' thread and the most recent posts would seem to confirm that there's a cartridge compatibility issue.

Edited by flashjazzcat
Link to comment
Share on other sites

34 minutes ago, flashjazzcat said:

GTIA handles TRIG3 as well (cartridge present), and since the SIDE3 loader is bristling with interrupts and constantly banking SRAM and ROM in and out of both cartridge windows ($8000-$9FFF and $A000-$BFFF), it only takes one glitch for the whole thing to blow up.

 

EDIT: I've just glanced at the 'World's smallest Atari' thread and the most recent posts would seem to confirm that there's a cartridge compatibility issue.

Yeah.  I don't want to beat up on it, it's a great little unit that was not designed with carts in mind.  But as a tester, I would be remiss if I did not point out that the cart was not working for me in the machine.  I am very much looking forward to hooking up a different machine to start putting the new loader through its paces.

Link to comment
Share on other sites

1 hour ago, Dinadan67 said:

The Side3 loader does not work with the 576NUC+, regardless of the version. Side3 in SDX mode works. As Side2 loader works well, i am using the Side 2 cartridge in my NUC and leave the Side3 in my 800XL.

 

Works in my 576NUC+

Link to comment
Share on other sites

4 hours ago, Dinadan67 said:

The Side3 loader does not work with the 576NUC+, regardless of the version. Side3 in SDX mode works. As Side2 loader works well, i am using the Side 2 cartridge in my NUC and leave the Side3 in my 800XL.

How does it fail?  For me, it wouldn't read the SD card, and when I got to the config screen, there would be some spurious key presses and then it would just hang.  Even if I left it at the SD card screen upon booting, not pressing any keys would cause a hang.  The colours changed.

Link to comment
Share on other sites

9 minutes ago, 800_Rocks said:

Most recent version (0.67c   I think) fixes an issue with very large folders (over 1K items).  It may be worth a try for you.

The issue fixed solely concerned mounting ATR images and was caused by data inadvertently being executed as code after an inter-bank JSR, so could conceivably apply to folders of any size as long as they occupied multiple 8K SRAM banks. Everything apparently works well in Dinadan67's 800XL, so the NUC problem appears to be a bus communication issue which results in garbled communication between the CPU and SIDE3 (or the SD card).

 

  • Like 1
Link to comment
Share on other sites

Hello FLC,

I saw some of the other comments stating that the new loader is locking up for other people. I thought I would throw my two cents in. Incidentally, I found a work around. So, I have been enjoying the loader much. Many thanks for developing this awesome loader.

 

I have an Atari 800XL upgraded with Ult1mb, Simple stereo board, VBXL and a Rapidus adapter board. My power supply is 2.5amps. 

 

I understand that the Rapidus adapter is not supported. So, after many lock ups, I assumed it was a result of the Rapidus. So, I removed it. Unfortunately, the lock ups continued. I decided to put the Rapidus back in and test different settings. This is when I discovered that only classic 65c02 mode locks up. Any of the other Rapidus modes work near perfectly. In Rapidus mode, I only experience lock ups while using the joystick to do write functions. However, key combo write functions are ok. 

 So, while in 65c02 classic mode, here are some of the examples of lock up issues I am experiencing. 

Maneuvering through folders or menus will quickly freeze the screen and I need to press reset. 

Selecting a file using CTRL-C freezes the screen or simply spins to a time out. However, sometimes I can do a copy command from the menu. 

If I try to paste the item I may get the error: Erase Reset 

Pasting using the menu gives an error $F9

Using the menu to create a folder will result only in a non-functional folder icon or throw an error $E1.

Using Open History will result in a Bad Path error.

In the Options gear it will crash if I attempt to change the time or date. Last time it automatically changed the year to 2082. Two years before the robots take over. The time and date will flicker while on this screen. I noticed the SIDE3 red light turns on when I am in the Options screen and stays lit until I move to another screen. Maybe that is normal.

Strangely enough, If I manage to get into the command prompt without it freezing, all of the DOS commands work. read/write But, executing CMD.XEX from the loader occasionally throws an Error $E1.

I don’t experience any issues in SpartaDOS.

I hope some of these descriptions are helpful. 

Link to comment
Share on other sites

9 hours ago, Mark loves Stella said:

I hope some of these descriptions are helpful. 

Many thanks. I haven't tested the most recent versions of the loader with Rapidus (I currently don't have Rapidus installed in any machine), but I would not expect problems caused by bugs, since all timing-critical operations (IO, screen updates, etc) are synced to VCOUNT or the VBL (which is to say, the loader should not 'run away with itself' when running on - say - a 20MHz machine). No uncocumented 6502C instructions are used, so the code should run equally well on a 65C816. In any case, your experience doesn't seem to suggest a problem specific to Rapidus.

 

As to the problems on a stock or near-stock machine, I doubt there is much I can do there, since the only known 'show stopping' bugs which would cause a crash have long since been fixed (most notably the crash when selecting 'Restart' from the context menu, which existed in the first public beta). Most of the other issues you describe suggest catastrophic instability, and the fact that such-and-such a version behaved differently doesn't necessarily matter, since the new loader performs a lot more bank-switching, inter-bank JSRs, etc, than its predecessors, and relies on perfect and timely bus communication (although this is also the case with any other software, since the moment the result of a CPU read or write becomes indeterminate, all bets are off).

 

None of this is reflective of an unwillingness to entertain the notion that bugs exist; of course they do, and I have pointed out many times that the beta will contain many bugs. What I can't really address is the 'nothing works' scenario, where the display just blows up for no apparent reason when simply pressing keys, or the directories are full of garbage. The loader has long since worked stably on the majority of systems, and code execution can easily be verified in emulation. What cannot be verified so easily in emulation (hence the reason I test on real hardware) are the subtleties of SPI mode SD card timings, and the stability of the host system. The most common problem I have encountered when preparing customer SIDE3 cartridges and/or preparing upgraded machines for use with SIDE3 is a complete black-screen lock-up when starting the SIDE3 loader (old versions included), and this problem was rectified not by fixing bugs, but by replacing 74LS08 with 74F08 (and in one case, replacing the customer's PSU).

 

I'll address a few of the noted issues, however:

  • 'Erase reset' suggests SPI writes to the SD card were rejected.
  • Error $F9 when pasting items suggests the same as the above.
  • Garbage during folder creation suggest SPI mode read/write errors which nevertheless did not generate low-level error conditions which the loader could detect and report.
  • 'Open History' will produce a 'Bad Path' error when the history folder does not currently exist, which is intended behaviour. You need to enable the history first, and the first entry written will automatically cause the folder to be created.
  • Problems changing the time/date suggest - again - SPI bus communication errors, this time with the RTC rather than the SD card.
  • The SIDE3 LED is not explicitly enabled when the time/date is changed, but I recall that older CPLD code versions would flash the LED during RTC IO operations just as per SD card IO. Candle fixed that, so perhaps you need a CPLD update (which I have still not prepared for testing yet; sorry).
  • CMD.XEX not loading suggests intermittent SD card transfer errors.

SpartaDOS X makes no use of SRAM banks at $8000-$9FFF (which the loader does, intensively), and is hardware-agnostic, in the sense that it only communicates with the SD card via the U1MB PBI BIOS or SIDE3 driver, so the observation 'SpartaDOS works' does not necessarily tell us much.

 

What might help is knowing if the use of different SD cards produces different results. Card compatibility seems much improved here (especially when hot-swapping; I have only one SD card here - a 'One Favour' card - which flatly refuses to work or wouldn't hot-swap, down from 4-5).

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

3 hours ago, flashjazzcat said:

 

Thanks for getting back so quickly. I will do some further testing with various SD cards and let you know if there is any improved behavior. 

However, when you mentioned "and relies on perfect and timely bus communication ," I realized that I left out one important modification that may be a factor regarding timing.

My 800XL is an NTSC hybrid. I have an NTSC GTIA, but replaced the NTSC ANTIC with a PAL ANTIC some time ago.  

Link to comment
Share on other sites

8 minutes ago, Mark loves Stella said:

My 800XL is an NTSC hybrid. I have an NTSC GTIA, but replaced the NTSC ANTIC with a PAL ANTIC some time ago.  

That should not present a problem. The U1MB/VBXE/PokeyMAX 600XL I used in the videos to present the beta loader was (at the time) a PAL/NTSC hybrid (I replaced the PAL ANTIC with an NTSC part so that the machine would output 60fps to match the CRT monitor refresh rate and the shutter speed of the camera).

 

Link to comment
Share on other sites

  • 1 month later...

I just gave 0.67c a shot and it seems to be working fine on my 1200XL.  However, when I try it on the 800XL it dies as soon as it tries reading the SD card.  Swapped in a Transcend 1GB in place of the SanDisk 8GB card that's normally in the SIDE3, no change.

 

Both machines have a U1MB, both on FW 4.05.  Both machines exhibit no issues that I've encountered with the SIDE3 on FW 0.44

 

image.thumb.png.a25697ebc359837cd160759a35bf7401.png

Link to comment
Share on other sites

2 minutes ago, remowilliams said:

However, when I try it on the 800XL it dies as soon as it tries reading the SD card.

The hardware designer is currenly labouring hard and at extreme length to rectify exactly this kind of timing issue. Unfortunately the loader has no knowledge of or control over the rising and falling edge of Phi2. ;)

 

Stay tuned for a new JED which wall also be applicable to the original hardware (as well as SIDE 3.1).

Edited by flashjazzcat
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

  • 1 month later...

Having a bit of a problem installing this beta (Altirra), I did have it all installed and working, but have

since upgraded to Windows 11 (I know, someone had to :) ) and for some reason it screwed up my

Altirra setup which is strange as I keep Altirra and all my 8 bit stuff on a separate disk.

 

I managed to get Altirra going again and it seems ok, however when I tried using the SIDE3 Beta, 

it doesn't work, if I run CMD.XEX I get:-

DO:\SIDE3B_1.67C>CMD.XEX
Compatible DOS not found!

So I checked the loader and none if the new Menu commands/shortcuts work.

 

I decided to re-flash the SIDE3 Loader, but now I get this

 

SIDE3 Loader Flash Tool v.1.0
(C) 2022, FJC and Candle O'Sin

Remove cartridge or enable SIDE3 ROM!
Press a key to reboot

There is no cartridge or secondary cartridge attached, BASIC is disabled, SIDE3 ROM is enabled

as I'm running the S3LOADER.XEX from the FAT partition as the instructions say

 

I'm at a bit of a loss as to what I may be doing wrong, have re-checked everything several times

but still comes up with the same message (I'm probably going to be embarrassed when someone points out the obvious 🤓

Link to comment
Share on other sites

3 hours ago, TGB1718 said:

I managed to get Altirra going again and it seems ok, however when I tried using the SIDE3 Beta, 

it doesn't work, if I run CMD.XEX I get:-

DO:\SIDE3B_1.67C>CMD.XEX
Compatible DOS not found!

You run CMD.XEX from the loader, not from the SpartaDOS X prompt (or any other DOS, for that matter). That's why the 'Compatible DOS not found!' message is displayed.

 

You also need to match CMD.XEX to the loader you're running (i.e. update CMD.XEX every time you update the loader).

 

3 hours ago, TGB1718 said:

I decided to re-flash the SIDE3 Loader, but now I get this

 

SIDE3 Loader Flash Tool v.1.0
(C) 2022, FJC and Candle O'Sin

Remove cartridge or enable SIDE3 ROM!
Press a key to reboot

There is no cartridge or secondary cartridge attached, BASIC is disabled, SIDE3 ROM is enabled

as I'm running the S3LOADER.XEX from the FAT partition as the instructions say

Most likely you have U1MB emulated, and either have the wrong U1MB firmware for SIDE3, or don't have the PBI HDD enabled and/or left the SDX ROM enabled when you ran the flasher.

 

Try 'X S3LOADER.XEX'.

 

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