Jump to content
IGNORED

A800-i (Incognito): Bringing back the RIGHT-Cart port...


Faicuai

Recommended Posts

...Let's face it: two cart ports is better than one, four joystick ports are better than two, five (5) motherboard slots are better than NONE... and with Incognito, yes, almost everything is better on the A800 than anything out-there...

 

...BUT, as you may contemplate all this A800 goodness, there's unfortunately a catch... In fact, there is a price to pay when upgrading to Incognito, as you may later understand.... because, once everything is said and done, your RIGHT-Cart port (CartB) will become unusable in all XL/XE modes!... sort of an engine that somehow manages to work with one cylinder while the other is pretty much dead...

 

As you may (rightfully) imagine, contemplating that nice, internal dual-port cart-bay, with the right-slot being pretty much an ornament, can place a big toll on any of us! … :) Well, no more !

 

Introducing OS-XL load with "rC" (right-Cart) extensions, so you can bring back to life that dormant right-port and boot your favorite right-carts reliably, and in a plug-and-play basis!

 

post-29379-0-24455500-1543686678_thumb.jpg

post-29379-0-51803800-1543686662_thumb.jpg

 

A few highlights worth mentioning:

  1. Based off latest, most robust (and space constrained) XEGS (rev4) 1987 OS load.
  2. ALL native OS improvements and functionality remain INTACT / untouched! (e.g. XEGS keyboard, Int'l character set, etc.)
  3. Includes rC extensions with re-implemented CartAB boot / initialization / start manager. Deeper analysis of OS-B and XL/XE boot logic was involved.
  4. Re-coded Cart AB signature detection, validation and initialization, with CartB (RIGHT) priority, as originally intended in OSb.
  5. It is now much harder to crash the boot-logic by plugging phantom / invalid 8k carts on either port. Cart-initialization and start during power-up will not crash as easily as in native OSb, and you will still have access to media boot, for further analysis.
  6. NON-contiguous $8000-$BFFF memory space is supported, exactly as it is on OSb: you can now plug your right-cart and boot A800i with OPTION key-held, OS will size memory to $8000, and RIGHT-cart will be booted... while $A000-$BFFF will remain as USABLE RAM (!)
  7. As an extra bonus, the following features are included on this OS load:
    • Support of 1200XL F1-F4 functions (dormant in OS code): on-the-fly ANTIC on/off for 30% boost of CPU time, International Character set ON/OFF, key-click ON/OFF, and HELP key for A800-i.
    • Avery's 2K Floating-Point Package, from Altirra OS, which runs at 2.2x-to-4x speed, and provides SUBSTANTIALLY HIGHER rounding precision and integrity than Newell's 2K package (passing ALL of AcidOS FPP tests).
    • OS load is signed with correct checksums for LOW and HIGH rom sections (8K+8K). It will pass built-in and external checksum tests.

Attached is 180K image with OS ROM image (16k) and documented source code. It is on its fifth iteration of coding and testing, good enough for a try on your A800-i, as well under ALTIRRA by using "attach Secondary Cartridge / RIGHT" feature. You can ALSO try it on XL based machines, as long as you manually join UNALTERED 8K-left and 8K-right images as a single 16K ROM image.

 

SDX-Scratchpad-II.atr

 

Enjoy!

Edited by Faicuai
  • Like 7
Link to comment
Share on other sites

•Support of 1200XL F1-F4 functions (dormant in OS code): on-the-fly ANTIC on/off for 30% boost of CPU time, International Character set ON/OFF, key-click ON/OFF, and HELP key for A800-i.

OKay this is working good with my Incognito, but I have not found the HELP yet..

Link to comment
Share on other sites

•Support of 1200XL F1-F4 functions (dormant in OS code): on-the-fly ANTIC on/off for 30% boost of CPU time, International Character set ON/OFF, key-click ON/OFF, and HELP key for A800-i.

OKay this is working good with my Incognito, but I have not found the HELP yet..

Please, go to Self Test, jump into RAM test, and while running, press CONTROL+SHIFT+ATARI/Inverse keys (all at the same time), and you should go back to main menu. That would allow you to verify that HELP key funtionality is supported. Obviously, you will need XE04-RC posted here, or any other of the XE03-FP loads I have posted before.

  • Like 1
Link to comment
Share on other sites

Start here and read the instructions carefully. If you're unsure of anything, ask. :)

Once I find a bit of time, I will do a couple of tests and post an Atari DOS image (self-boot) with UFLASH and ROM included, for anyone's convenience, and to be attached as ATR to SIO device or PBI / HD device.

Link to comment
Share on other sites

Once I find a bit of time, I will do a couple of tests and post an Atari DOS image (self-boot) with UFLASH and ROM included, for anyone's convenience, and to be attached as ATR to SIO device or PBI / HD device.

 

You might as well make it a non-booting SDFS image, since SDX needs to be enabled to flash the ROM anyway unless the user suppressed SDX with COLD /N.

  • Like 2
Link to comment
Share on other sites

You might as well make it a non-booting SDFS image, since SDX needs to be enabled to flash the ROM anyway unless the user suppressed SDX with COLD /N.

A non-booting SDFS image would be the simpler way to go, then. Just enabling SDX on the BIOS and than starting it with the SDFS .ATR attached to virtual D1 or on SIO bus should make it.

Edited by Faicuai
Link to comment
Share on other sites

BTW, folks, sorry for the double post. Kind of embarrassing, as I have NO IDEA how in the world two identical topics were opened while remaining in a single editing sessions.... Maybe a fat-fingered "post / reply"?

 

Perhaps you could ask admin to coalesce the two threads, since it is already starting to become confusing (since both threads are being actively updated with posts on fundamentally the same topic).

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Quick Update:

 

Spent quite a few deal of cpu "cycles" analyzing and testing multiple cart scenarios, especially those illogical and that would instantly lock-up the host computer, mostly under OSb. You would be surprised of what's out there in the wild, on some particular carts (like, for instance, JumpMan Junior, which even though being a 16K cart, holds IDENTICAL copies of initialization and run vectors in last six bytes in BOTH $9FFA and $BFFA tails (!!!) As crazy as it sounds, that's how it really is...

 

In an effort to make these extensions as rock-solid and fool-proof as they can be, and also capable of handling scenarios well above and beyond anything OS-b could handle, I am attaching the final release (along with fully loaded OS ROM), including documented source code. Final summary:

 

SDX-Scratchpad-II.atr

  1. $C3C4 cart-detection routine has been completely rewritten and fully substitutes the original code from OS there (23 bytes, leaving 1 byte free).
  2. An extension to $C3C4 routine (8 bytes) has also been introduced, which allows the cart-manager to define a logical link between cart-presence and address-space (what belongs to who).
  3. Core Cart- Boot manager extension ($CBB0 has been completely rewritten, taking up almost 80 bytes. There is NO MORE room left on XEGS rev4 OS load, except for some 8-9 bytes snippets, here and there.. and all that after hammering day and night the code (can't believe something so small took that much effort...) As before, OS-load OEM functionality remains intact, and NOTHING has been compromised or removed.
  4. The following states are now handled and reported by OS, for each cart-slot:
    • Cart NOT PRESENT (code $80, address $0006 and $003E)
    • Cart PRESENT and VALID (code $00, address $0006 and $003E)
    • Cart A (left) ROM boundary violation (code $9F,address $0006):
      • => attempting to run on bottom $8000-$9FFF ROM space, belonging to ANOTHER valid cart, there).
    • Cart B PRESENT and INVALID (code $20, address $003E)
    • CartB ROM space ($8000-$9FFF) link-status (address $003D):
      • Code $A0: lowest valid init address for CartA. If attempting to do so below this address, ROM-boundary violation is flagged, and Cart A is rejected.
      • Code $FF: likely RAM space, CartB not present.
    • Fused CartA and CartB EXECUTION FLAG in address $003F (from cart A&B addresses $9FFD and $BFFD):
      • Code $04: normal start, NO DBA (disk boot), per Atari-OS exec-flag definitions.
      • Code $05: normal start & perform DBA (disk boot), per Atari-OS exec-flag definitions
      • ANY other valid code per OS definitions, except executive-privilege code (diagnostics), which will NOT be posted.
      • This will allow to process a cart disk-boot-request, in case of TWO carts are plugged, but only one with exec-flag $05 or bit #1=ON in address $9FFD or $BFFD.
    • Consequently, MUCH improved / hardened boot-logic:
      • You can now plug Monkey-wrench on Cart-A port (LEFT) and Super Breakout on Cart-B port (RIGHT) and the OS WILL NOT lock-up, and you will still get a chance to boot!
      • A lone, rejected cart on Left-port (with right port empty) will NOT lock-up the system, and you will still be allowed to boot disk or DOS.
      • Illegal Cross-cartridge initialization is now detected and intercepted, thus allowing the system to boot disk, for further review. No lock ups here, either.
      • OS will attempt to handle appropriately ANY combination, as long as the carts banks do not mess-up the system's cart bus / address lines (physically).
    • As a final bonus:
      • Memory-test logic has been now corrected, thus allowing proper testing of ALL XE extended-RAM banks (four separate banks, in total).

Have you all a great weekend!

Edited by Faicuai
  • Like 5
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...