Jump to content
IGNORED

Incognito JED experimental upgrade


candle

Recommended Posts

Hi,

 

Since I and Jon have very limited options when it goes to Incognito testing - having a single machine that is - I would like to publish JED for Incognito that allows usage of VBXE and BIT3 cards, and fixes some of the issues found previously

 

This JED should come along with BIOS that supports it and should be considered (for now) only for people, that will have the ability to downgrade to the production JED if nessesary

I myself haven't found any issues with it, Jon suffers from "profile reset" messages as soon as his board gets upgraded

 

anyways, here is it

 

plese report any issues you might have compared to the production jed

 

please remember you'll encounter "profile reset" after upgrading the bios - once you save it (for each profile) it should be gone

 

main.jed

  • Like 6
Link to comment
Share on other sites

THANK you!

 

In the event that we must revert back to production JED, could you please post here the one we should revert to?

 

The reason for this is that, the latest batch of Incognito board came with a CPLD-read lock-out, which means we can only WRITE to it first, before any read. Not the case with your Batch #1 & #2, but there is quite a bit of folks that got on the #3 batch (Lotharek).

 

Thanks!!

Link to comment
Share on other sites

Here's the latest main BIOS which supports the features of the new JED:

 

Incognito BIOS 4.06.zip

 

Installation

 

This is in fact a very minor update of the current release version 4.05, and you should install the latest release firmware first if you haven't already done so. If you already have the latest release firmware, you can go right ahead and flash this main BIOS (4.06). Whether you do so before or after updating the JED does not matter, since the same firmware works with all JED versions. Having said that, you might want to update the JED before flashing BIOS 4.06, simply in order to observe the behaviour of main BIOS 4.05 with the new board logic.

 

You can - if you wish - drop the 4.06 ROM and UFLASH onto your FAT formatted CF card and run UFLASH straight from the loader.

 

Only the transtion from pre-4.xx firmware versions will cause a profile reset after the upgrade. Upgrading from main BIOS version 4.05 to 4.06 should not disturb existing profiles at all.

 

The changes in firmware 4.06 (as opposed to 4.05) are as follows:

  • Incognito PIA initialisation (compensates for unexplained hardware behaviour which caused issues with use of self-test ROM with new JED)
  • JED major revision number incremented by 1 before displaying (0.0 becomes 1.0, 1.0 becomes 2.0)

And that's all. While the second change is largely cosmetic (although it sets the sensible precedent that the old JED is version 1.0 and the new one is version 2.0), the first change was essential to plugins showing up on a cold power-on. The reason this change was needed is entirely unclear, but since the self-test ROM (where plugins now live) was completely unusable with an unlocked configuration (i.e. in the context of the BIOS setup menu) with the old JED, the fact the PIA initialisation code which allows the self-test ROM to be used on U1MB does not work reliably on the Incognito is just one of those things. The fix appears to work.

 

Testing

 

Plugins

 

To check plugins work properly on your machine, after updating the JED and the BIOS, power-on the machine while holding down the BIOS hotkey. Move to the system info menu and see if there are 'Plugin' items (as per photo below). If there are, everything worked. If not, re-enter the BIOS without a power cycle and you should see the plugin info. If the plugin didn't show up after a cold power-up, please let us know about it.

 

IMG_20210826_145411165.thumb.jpg.7d3137d5c89497e9ef37df077d514f1f.jpg

 

Config reset

 

The second quirk of the new JED which may or may not require changes to the BIOS is my SCCC-equipped machine's tendency to intermittently cold power-on straight into the setup menu, reporting 'Profile reset' on a previously saved and valid profile. Candle and I investigated this problem exhaustively and long-sufferingly, but weeks or months later, we are no closer to understanding why this happens. With the older JED, this NEVER happens on my machine, but with the new one - and the same main BIOS - it happens quite frequently (and usually at the worst possible time).

 

It turns out that the profile data on the NVRAM itself is perfectly intact when this glitch crops up; the 6502 was simply unable to read anything but $FF from the RTC chip, using the exact same code which has worked perfectly well on all other hardware/JED versions since 2015. Selecting another profile and then the original one again from the menu reveals that the boot profile is present and correct after all. When I hooked the scope up to the DS1305 with chip select as a trigger, the trigger never fired when the problem occured, indicating that CS was never asserted at all (and the 6502 then proceeded to read sixteen $FFs from the RTC without its output ever having been enabled in the first place).

 

Stranger yet, I discovered that an effective workaround on my 800 is to extend the initial cold power-up stabilisation delay from 8 display frames to 12. With a 12 frame cold power-up delay, my machine appears to boot properly 100 per cent of the time. Candle considers this an unnecessary kludge (and I agree with him), but this change is the only thing which allows me to use the new JED on my 800 without wanting to throw it out of the window.

 

The BIOS I have uploaded here does NOT include this extended power-up delay, since the objective is to see if anyone else encounters the same problem. If you do (i.e. you turn your 800 on with the new JED and it intermittently and inexplicably boots to 'Profile reset' and then works normally when you toggle the power switch again), please let us know and we will investigate further.

 

I have an Incognito/Sophia 2 800 here waiting to ship to Australia once these mysteries are cleared up. The Sophia plugin works just as it does on U1MB machines.

 

Here's the prior JED in case anyone needs to downgrade:

 

Incognito_050520.jed

 

There's no need to downgrade the main BIOS if you encounter issues, since - aside from the changes described above - it is identical to version 4.05.

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

2 hours ago, flashjazzcat said:

The second quirk of the new JED which may or may not require changes to the BIOS is my SCCC-equipped machine's tendency to intermittently cold power-on straight into the setup menu, reporting 'Profile reset' on a previously saved and valid profile.

Quick progress report:

 

Initial tests indicate that the above issue is happening here all the time, only right-after Power-Up. 

 

A "phantom" Profile-1 reset screen shows up, and pressing "1" does not do anything... However, pressing >= "2" reveals previously saved (and intact) Profile, and then pressing "1" correctly shows previously saved (and intact) Profile-1. Returning to the BIOS from, say, SDX, shows current profile correctly.

 

Continuing with tests here (there is a ton of stuff that needs to be tested, including PBI support for T-Freezer, dual XL/COLLEEN EXTSEL modes, Bit3, etc.)

 

For now, there is no longer floating-bus on $D013, which is excellent news!

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

25 minutes ago, Faicuai said:

Initial tests indicate that the above issue is happening here all the time, only right-after Power-Up. 

Many thanks for that - this will hopefully be invaluable information for Candle. Glad it's not just my machine.

 

If this doesn't generate a solution shortly, I'll send the 12 frame delay version.

  • Like 2
Link to comment
Share on other sites

10 minutes ago, candle said:

if you have this SCCPU board or is it a stock one?

This is my 1983 800, with a STOCK SALLY 6502 board (simplified design). All components original, matching manufacturing-dates, as clean as it will ever get.

 

The ONLY thing that is not stock on that CPU board is the presence of Sophia-2 (but that is a plug-and-play, non-invasive upgrade).

Link to comment
Share on other sites

so far the check for list is...

 

A. 6502 or Sally (this means slightly different timing, as it's implemented differently)

B. PAL or NTSC (this also has a slightly different time base due to clock actually being different)

C. PAL ANTIC in an NTSC machine. possibly slightly different code run time for programs and OS reaches trigger point.

D. other add-ons in machine like sophia, pokey max, dual PIA, gumby (stereo audio) etc.

E. Bit 3 / Franklin / VBXE ?

F. Any carts installed (SIDE/SIDE2/SIDEB) etc etc.

G. report memory configuration?

anything else?

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

Thus far, NTSC ANTICs appear to cause profile resets 100 per cent of the time (making the problem constant instead of intermittent on my own system). Since NTSC runs at 60fps and PAL at 50fps, this means an eight frame stabilisation delay in the firmware is measurably shorter with an NTSC ANTIC than with a PAL ANTIC. Since I already found that extending this delay to twelve frames masks the issue on my (PAL) system, here's a main BIOS (4.06A) with a sixteen frame delay (~the same amount of time as twelve PAL frames). I already tested this on my own machine with the NTSC ANTIC installed, and went from 100 per cent profile resets to 100 per cent successful power-ups.

 

bios406a.rom

 

@Faicuai: please try this if you get a chance and see if it changes the situation for you.

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

20 minutes ago, Frankie said:

Can we now install the plugins for Sophia and PokeyMax?

As soon as I release them, yes. U1MB plugins will be rejected by UFLASH if you attempt to flash them to Incognito (you need plugins with the Incognito file signature).

 

Here's the Sophia 2/PokeyMAX plugin for Incognito:

 

Sophia2_PokeyMAX_Incognito_plugin.zip

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

54 minutes ago, flashjazzcat said:

@Faicuai: please try this if you get a chance and see if it changes the situation for you

 

Will certainly do so.

 

In the mean time, the little [Incognito + Sophia_2 + Bit3 FullView] monster seems working... ??

 

D66F0984-4D5E-40B9-9A83-7CAA696E0CB0.thumb.jpeg.f9f13ac776c874c0a51b9eb0f6673e59.jpeg

 

MONUMENTAL progress, there!

 

Proceeding now Bios boo-profile tests... Will get back as soon as I finish

 

 

  • Like 5
Link to comment
Share on other sites

2 hours ago, flashjazzcat said:

@Faicuai: please try this if you get a chance and see if it changes the situation for you.

Ok, here's a status report:

 

Happy to announce that the pseudo power-up profile-reset has been fully mitigated.

 

The system is now recovering the last in-use (and correctly) stored profile, and visible when power-up LOGO is enabled, and BIOS-key is pressed (in my case it is START).

 

I am not sure the extra frames-delay is a kludge per-se. Instead, it could well be the key to find out the contributing source of delay (is it the bus-control layer of Incognito, is it the host 800's hardware, or a combination of both?) 

 

In any case, it is now working as expected. KUDOS !!!

 

 

  • Thanks 1
Link to comment
Share on other sites

4 hours ago, candle said:

but i found 6502 board that this occours, perhaps this will tell me something

Per my own testing here, I would suspect so.

 

As an example of this, I have been extensively testing SIDE-2 and AVG on both my refernce-800 (CTIA Week-4, 1980) and Incognito-800 (1983, end of US-based production). 

 

On the reference 800, I tested (x2) 6502B and (x1) Sally CPU boards. After repeatable and conclusive tests, I found that (one) 6502B board managed to FULLY boot SIDE-2 with just RAS on left-port, and the other 6502B card could never do it. I then swapped the 6502 CPU from the card that could, to the card that could not, and bam! it worked !!!

 

Now,, here's where it gets strange: neither of the two cards above could boot AVG flawlessly... but when replacing them with a single SALLY-board, it turns out AVG booted PERFECTLY. The downside of this is that the SALLY board could NOT boot SIDE-2 (!!). Again, all of this on my reference-800.

 

On the other side of the spectrum, SIDE-2 *AND* AVG boot perfectly on my 800 / Incognito, with no problems of any kind... and the CPU board there is SALLY, as well, and RAS is also present on left-cart port (intact MoBo as well).

 

It looks, sounds, smells, and walks like a bus-timing issue... but what is 100% certain is that the 800's CPU-board seems to be the KEY of the kingdom.

  • Like 1
Link to comment
Share on other sites

8 hours ago, flashjazzcat said:

The changes in firmware 4.06 (as opposed to 4.05) are as follows:

  • Incognito PIA initialisation (compensates for unexplained hardware behaviour which caused issues with use of self-test ROM with new JED)

I have 2 800 machines with incognito installed, and a board that is first sold version from Candle.  Both of my machines are working as needed.  SO do I need to flash this jed and new bios 406 to my 800 Incognito's.

Link to comment
Share on other sites

15 minutes ago, Roydea6 said:

I have 2 800 machines with incognito installed, and a board that is first sold version from Candle.  Both of my machines are working as needed.  SO do I need to flash this jed and new bios 406 to my 800 Incognito's.

depends, what version are you running, there are fixes/shadow registers and capabilities/plug-ins in the last batch of of releases, I'd do it. Since the video cards/ports etc work nicely now. It's a great idea to run the most compatible and capable firmware/BIOS and underlying hardware emulation/simulation.

Edited by _The Doctor__
Link to comment
Share on other sites

It is my understanding that you will need to do this if you want VBXE/Sophia to work in your machine.  Also, if you want plug-in support to work, or have been affected by the $D301 floating bus (I think 2 people in the universe have been).  Otherwise, it's safe to not apply the new JED.

  • Like 1
Link to comment
Share on other sites

2 hours ago, Roydea6 said:

SO do I need to flash this jed and new bios 406 to my 800 Incognito's.

Alrighty!

 

Just FYI, here are a few solid reasons for seriously considering the .JED upgrade (especially if you use the 800 / Incognito as your go-to, daily-driver machine):

 

=> Normalization of $D013 readouts:

  • No longer floating bus, and now conforming to $00 or $01 values. This is quite an important fix, per reasons below.
  • The OS (XL/XE) Cartridge-equivalence routines (CCE), as well as WARM / COLD-start routing will run correctly, as intended.
  • SW that explicitly or literally enforce $00 or $01 values for $D013 (or its low-memory mirror, GINTLK), will also run correctly:
    • CopyMate XE 3.8, Basic XE, Basic XE Extensions, and a host of other titles out-there, even recent ones.
  • EVERY single user, every 800 / Incognito is potentially affected by this: A short sequence of repeated System-Reset key from SDX prompt (with DMA=ON), for instance, eventually triggered a cold-start out of the blues, for "no apparent" reason (with the older .JED).

=> HW Expansions for Slot-3 in COLLEEN mode:

  • Those 800 users that preserve legacy HW and expansions designed to run in Slot-3 (like Bit3 Full View 80-col. card, and others) will now be able to run as intended.
  • This is a significant  fix (architectural in nature), because with older .JED, this slot remained pretty much inoperable for such hardware.

=> BIOS operation and usability enhancements:

  • For starters, the .JED supports the latest BIOS improvements developed (and already explained in detail by Jon), and, most importantly, bringing the Incognito and U1MB BIOS functionality much closer.
  • Of honorable-mention is the possibility of entering the LOADER, launching a specific .XEX or file-based title, and eventually being able to return to the Loader (remember your collection of Rasta-conversions? Now you can see any given image and come back to the loader, for the next one!)
  • Support of BOS plugins (very nice to control Sophia-2 at boot-time, and who knows what additional functionality can be added later on, like uploading user-defined color palettes, which Sophia supports up to 15!).
  • Turbo-Freezer menu (via Incognito's on-board PBI support) now displays correctly, and with a SUPER-NICE font to boot, when invoked right at the BIOS!

 

All-in-all, it seems that quite a large deal of work has been put together behind these upgrades (.JED and BIOS), and as far as I have been test, highly recommended !.

 

 

  • Like 5
Link to comment
Share on other sites

7 hours ago, candle said:

please re-check if everything else is still as it should

Latest JED and Letter Perfect, running on Incognito/800 (in 52KB mode and EXTSEL=Colleen), and configured on setup menu (via ESC button) to drive Bit3 FullView on Slot-3:

 

FDF0A9AD-E4B3-4C7B-B66E-9FD84A6C52D1.thumb.jpeg.e4205aa3ed9eb8069cdf9cfc714287f9.jpeg

 

I will be fully re-doing (today) my set of PBI tests, including TurboFreezer and SysCheck-II.

 

NOTE: Yesterday´s PBI tests shown that SysCheck II is only working partially. When switched to External RAM and alt-OS (Q-Meg) it does seem to work. However, when set in diagnostics mode (where it provides its diags. OS-load and base-ram), the system will not boot into it (black screen). This is bizarre, because when connected exactly as such to my 800XL, diags. boot and start normally.

 

Once I fully repeat all PBI tests today, I will get back with specific results.

  • Like 3
Link to comment
Share on other sites

On 8/27/2021 at 3:01 AM, candle said:

please re-check if everything else is still as it should

Ok, took a little loner than planned, finally got plenty of stuff re-tested.

 

On the PBI front, things look a bit more interesting, though. Here's the bottom-line:

  1. PBI tests with latest-produced Turbo-Freezer (SW v3.11) went very well. Even tested a full SDX flash into TF´s rom-space, and it worked beautifully (executed from Incognito's own HD). At this point, everything I tested with TF just worked as intended!
  2. Now, also re-tested SysCheck-II and I found that it does not work as it does on my 800XL. Specifically, when configuring SysCheck to supply OS externally (but using local Incognito's base 64K RAM), ONLY its Q-Meg load works, and when running Acid800 test-suite, it turns out that that the OS cannot be banked out, nor BASIC. I even piggy-backed it to Turbo-freezer, then froze the session, accessed PortB register via TF debugger, and tried changing it from $FF to $FE, and the local RAM-under-OS was never banked in... like the bus-control was set to "400/800" mode, and not in XL/XE mode.
  3. Here is a summary of what worked (or not) work during SysCheck-II tests via Incognito's PBI:

 

(SysCheck´s switch-1 settings)

D58944F7-C514-4158-89FD-650667FA1548.thumb.jpeg.9f626ef49e05e012f0320dcfb74a27e3.jpeg

 

(SysCheck´s switch-2 settings)

688D5D7D-2EC4-4226-8911-2D7DD810D91A.thumb.jpeg.326cf31ab7e055123ba885ff4b7656d6.jpeg

 

 

Do not really know if the observed behavior above is as-planned when running on Incognito, but there is a clear functional difference between how it runs on my 800XL. SysCheck is very valuable (as is), and (in my opinion) has the potential to be used as an effective tool to de-brick an otherwise functioning Incognito / U1MB.

 

May be an easy fix, after all (I speculate)...

 

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