Jump to content
IGNORED

XEL-CF Compact Flash Adapter for 1088XEL (formerly XEL-I3)


mytek

Recommended Posts

I take it you mean no difference regarding keyboard behaviour. There's a delay of over one second on power-up in this build which isn't in the original. The screen remains black for over a second after the power comes on.

 

It seems odd that pushing back the point at which the keyboard is scanned doesn't make any difference. Is TK-II doing something odd to Pokey? First thing the BIOS does (before any delays) is initialise Pokey and PIA.

 

Yes I did see the additional delay, and the keyboard was fully up by the time the Splash Screen appeared, but to my embarrassment I just discovered that the normal HELP key has stopped working. Probably attributable to the tweaks I've recently been making in the TK-II firmware. Let me get this fixed and then I'll see what happens (if it works, then I'll fall back to the previous BIOS and test again).

 

Sorry about that :dunce:

 

Oh to answer your other question... no TK-II doesn't do anything out of the ordinary to Pokey, and as far as Pokey is concerned he's just scanning a stock keyboard matrix and looking for either KR1 or KR2 to go low signifying that a key has been pressed.

 

- Michael

  • Like 1
Link to comment
Share on other sites

Odd question - could it be an issue with the keyboard itself? Not sure why certain function keys would behave differently.

 

Also, I'm one of those users that always has the U1MB splash screen turned off. While it's a neat feature, I don't like the delay. I seem to be getting more and more impatient as I get old :D

 

EDIT - more posts came in while I was typing this. Ignore.

Link to comment
Share on other sites

Odd question - could it be an issue with the keyboard itself? Not sure why certain function keys would behave differently.

 

Also, I'm one of those users that always has the U1MB splash screen turned off. While it's a neat feature, I don't like the delay. I seem to be getting more and more impatient as I get old :D

 

EDIT - more posts came in while I was typing this. Ignore.

 

Yep good idea Stephen, so I swapped in a different keyboard, but same result... still no Help key.

 

Good news is that I just found and fixed the Help key problem in my firmware. All is working now. So even using the non-delayed version of the xbios works, and launches into Setup when holding the Help (F10) key during power-up. Amazing what happens when I don't screw things up ;)

 

So I've added some good short-cut keys to TK-II that now make it more U1MB centric.

 

F9 = CF Reset (SHIFT+RESET)

F10 = HELP (hold on power-up to go directly to Setup)

F11 = Launch Loader (SHIFT+RESET, waits 250 milliseconds, sends 'L')

F12 = Launch Setup (HELP+RESET)

 

Jon I hate to pester you, but any chance of getting those labels changed that I mentioned the other day?

 

I think the menu item XEL-I3 Vgate should actually be GTIA Vgate instead since it is directly built into the 1088XEL motherboard and not associated with the XEL-I3 CF Adapter board. And yes there is no way to know if the Vgate hardware exists, but since this is a 1088XEL specific U1MB BIOS it doesn't matter because it isn't optional hardware. EDIT: maybe swap menu line positions for this and the 2nd Pokey IRQ, so that both Pokey items are next to each other.

Thanks for everything :)

 

- Michael

  • Like 2
Link to comment
Share on other sites

All done: I was just waiting for this Help key stuff to be sorted before I uploaded it. I will do so shortly. :)

 

Cool :)

 

Stephen I really need the extra time that the Splash Screen takes (2 seconds) to allow enough time for the keyboard to come up and be seen for Help to launch you into setup. So the way I look at it, if we delayed the U1MB boot by 1 second that's probably barely enough to reliably detect the keyboard in time, but you're only going to save 1 second in the process on getting to your desktop so to speak. So not to delay you (or others) I think the way it's working now with the non-delayed U1MB boot is a good compromise. What this means is that if you turn off the Splash Screen, you arrive 2 seconds faster, but no held keys will be seen during power-up (I tested this). Other than that, everything else is the same as usual, and pressing F12 after power-up will get you into setup. However if you don't mind the Splash Screen, then having it enabled allows all held keys to be acknowledged during the power-up period and acted upon. I feel this is a good compromise.

 

Here's another video showing the latest results...

 

https://www.youtube.com/watch?v=yQmpiUyKXyw

 

Stephen as you can probably tell, we aren't staying in that limbo screen very long before the system begins to boot, as compared with the TK-II firmware you are currently running in your XEL.

 

- Michael

Edited by mytekcontrols
  • Like 2
Link to comment
Share on other sites

Well, I certainly need the keys in startup mode, so I will turn on the splash screen on my 1088XEL, and leave it off on other machines :)

 

It will even give it a more "PC" feel. PC case, PC keyboard, splash screen on load.

  • Like 1
Link to comment
Share on other sites

Well, the BIOS is modelled after a PC BIOS which I figured most users are already familiar with. ;)

 

OK: here's the firmware collection:

 

1088XEL_U1MB_BIOS_and_XEL-I3_Loader_and_PBI_BIOS.zip

 

Hopefully I haven't effed anything up but please let me know if I have. If this all works, I'll add a 64KB binary firmware blob which can be flashed as a single unit (to the "firmware" slot in UFLASH).

 

The 1KB ROM file is intended for the WIP UFLASH version which actually allows in-place flashing of plugins. Works well, but I need to add a plethora of signature checks, block it in "legacy BIOS" mode, etc, etc.

 

The supplied plugin source compiles to the plugin ROM provided.

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

I got it and just flashed the 3 normally used ROMs (xbios, xpbi, xload) and the U1MB looks to be working good (thanks for the label updates - Nice :)). Got it running RWCRC after doing a few checks here and there first... so far so good :thumbsup: (just passed RWCRC check).

 

So I'll need to learn more about these plug-ins. Is there going to be an editor of sorts for these? I just opened it up in notepad and it's obviously more than just text.

 

- Michael

Link to comment
Share on other sites

Interesting the xpbi188.rom in that latest distribution doesn't seem to be doing the CF Reset, but I need to verify that I'm still doing a SHIFT+RESET, just in case I messed that up in my new TK-II code. However if I revert to the xpbi88.rom code (xpbi88.zip) that I got from you about 5 days ago, I can simply do a RESET (no shift required) and the CF Card will be reset and directory's look good. Go figure.

 

- Michael

Link to comment
Share on other sites

Interesting the xpbi188.rom in that latest distribution doesn't seem to be doing the CF Reset, but I need to verify that I'm still doing a SHIFT+RESET, just in case I messed that up in my new TK-II code. However if I revert to the xpbi88.rom code (attachicon.gifxpbi88.zip) that I got from you about 5 days ago, I can simply do a RESET (no shift required) and the CF Card will be reset and directory's look good. Go figure.

Good spot! I remember when I was changing the PBI code on Saturday, a Java update (presumably) caused Eclipse to fail on a workspace save. SVN copy got messed up too, it seems, so everything done over the last week was lost.

 

Fortunately I streamed the work done last Saturday and was able to use the video to piece the code back together until a diff showed last week's version and the new copy to be identical. :)

 

Here's the corrected package with the 64KB firmware.rom included:

 

1088XEL_U1MB_BIOS_and_XEL-I3_Loader_and_PBI_BIOS.zip

  • Like 4
Link to comment
Share on other sites

Good spot! I remember when I was changing the PBI code on Saturday, a Java update (presumably) caused Eclipse to fail on a workspace save. SVN copy got messed up too, it seems, so everything done over the last week was lost.Fortunately I streamed the work done last Saturday and was able to use the video to piece the code back together until a diff showed last week's version and the new copy to be identical. :)Here's the corrected package with the 64KB firmware.rom included:attachicon.gif1088XEL_U1MB_BIOS_and_XEL-I3_Loader_and_PBI_BIOS.zip

Back in my Windoze days I had a catastrophe occur where my one and only system went down, and then when I tried to rebuild from a backup I discovered that the backup was corrupted (all of them were). I had never tested the backup software I was using, and it was to my utter dismay that when I actually needed it that it failed me. So I had a collection of backup CD images that were now garbage. Now days I take no chances, with 4 systems in 3 different locations all synced to cloud storage, and then that cloud storage synced into yet another cloud storage, and all 4 systems with their own local storage on top of that. Both cloud storage sites retain archived versions for every save made up to 30 days on the first and 60 days on the second. But when it comes to code I also do my own local saves of different versions by significance, which is what I did with the code you've been giving me. So am I paranoid? Yes you bet I am!

 

I also went Linux about 7 years ago, and only use Windows in VirtualBox for the few programs I need that require it.

 

Pretty cool that you streamed yourself, and then we're able to use that to retrace your steps. Never would have thought of doing that myself.

 

I'll give your latest upload a try when I head over to the shop today.

 

Thanks a bunch, and I'm sorry about the hassle you went through to piece it back together.

 

- Michael

  • Like 2
Link to comment
Share on other sites

Yeah. I used to do a lot of source code editing on laptops during the small hours so there were checkouts from SVNs on several machines, but that's no longer the case since I moved into the office (the main bedroom used to double as a workspace, which I don't know how my wife tolerated, and this naturally meant I had to relocate to a different room when it got late). I periodically copy the entire workspace to a second local drive and USB pen drives but hadn't done so since last weekend. What's really puzzling is that - although I naturally saved the source code before compiling last Saturday - there was no trace whatsoever of those edits in the local history. So something got really screwed up for a moment, for sure.

 

It's pretty scary being faced with this situation, especially when trying to revert to a known working version without spending days getting there. The video saved the day there, without a doubt. It wasn't the mechanics of the reset logic (which was easy to reimplement), but other subtle edits made at the same time (and all concerning conditional assembly, which is intricate enough without getting lost in missing changes). I scanned through the video in the hope that the relevant code chunk would fill the screen, and - hey presto - it did.

 

I think little scares from time to time are good for one's backup strategy. :)

Link to comment
Share on other sites

Thank you Jon.

 

So far so good on the latest BIOS rom set :thumbsup: :)

 

Observation: This might be an issue with TK-II, but just to be sure, if I hit SHIFT+RESET it seems to do the exact same thing as just RESET alone. In both cases the CF card gets reset and it appears that the partition table is refreshed (or at least the disk directory looks right to me). In both cases the system seems to be doing a system reset. Personally I have no problems with just hitting RESET alone to fix a swapped CF card. Does this behavior sound right to you?

 

- Michael

Link to comment
Share on other sites

Observation: This might be an issue with TK-II, but just to be sure, if I hit SHIFT+RESET it seems to do the exact same thing as just RESET alone. In both cases the CF card gets reset and it appears that the partition table is refreshed (or at least the disk directory looks right to me). In both cases the system seems to be doing a system reset. Personally I have no problems with just hitting RESET alone to fix a swapped CF card. Does this behavior sound right to you?

I've just tested it and the partition table is not re-read unless Shift is held down with Reset. I take it you're swapping different cards with different partition tables? Since the XEL-I3 has no card removal flag, pulling the card, reinserting it, then pressing reset alone will leave the status quo unchanged (partition table as it was in RAM, CF card reset and accessible).

 

It's vital that the partition table is not refreshed as a matter of course on warmstart since mounted disk images would be obliterated from the mount table in RAM.

Edited by flashjazzcat
Link to comment
Share on other sites

I've just tested it and the partition table is not re-read unless Shift is held down with Reset. I take it you're swapping different cards with different partition tables? Since the XEL-I3 has no card removal flag, pulling the card, reinserting it, then pressing reset alone will leave the status quo unchanged (partition table as it was in RAM, CF card reset and accessible).

 

It's vital that the partition table is not refreshed as a matter of course on warmstart since mounted disk images would be obliterated from the mount table in RAM.

 

I'll have to double check things on my end to see if when I implemented the SHIFT+RESET macro key (F9) in TK-II that didn't accidentally enable SHIFT for RESET alone. Not that I ever make mistakes ;)

 

Up in the mountains again this weekend with no XEL to play with, so it'll have to wait until next week.

 

- Michael

  • Like 1
Link to comment
Share on other sites

Spotted a tiny bug in the XEL-I3 plugin (Rapidus enable/disable shares a bit with another setting) which is fixed in the next update. I only discovered this when implementing a handy feature which relies on the fact the ID from the plugin header is also stored in the NVRAM when the settings are saved. To prevent out-of-range bit combinations in the 16 bits of plugin NVRAM storage when switching plugins, the next version of the main BIOS checks the NVRAM ID with the plugin ID in ROM and zeroes out the plugin bits if they don't match, then re-saves the profile with the new plugin ID. This is primarily to prevent - say - a plugin setting which occupies three bits but ranges from 1-6 from ending up with an illegal value which would otherwise have to be range-checked and corrected inside the plugin, but it also ensures everything's reset when using a new plugin.

  • Like 3
Link to comment
Share on other sites

Spotted a tiny bug in the XEL-I3 plugin (Rapidus enable/disable shares a bit with another setting) which is fixed in the next update. I only discovered this when implementing a handy feature which relies on the fact the ID from the plugin header is also stored in the NVRAM when the settings are saved. To prevent out-of-range bit combinations in the 16 bits of plugin NVRAM storage when switching plugins, the next version of the main BIOS checks the NVRAM ID with the plugin ID in ROM and zeroes out the plugin bits if they don't match, then re-saves the profile with the new plugin ID. This is primarily to prevent - say - a plugin setting which occupies three bits but ranges from 1-6 from ending up with an illegal value which would otherwise have to be range-checked and corrected inside the plugin, but it also ensures everything's reset when using a new plugin.

 

You started to lose me on some of this because of my unfamiliarity with the plugin aspect, but one of these days I promise I will read your docs you linked me to a while back, and hopefully get up to speed. Anyway I'm glad you are on top of it, and still doing tweaks to make it all good :thumbsup: :)

 

So far I'm not seeing any problems on my end (looking good).

 

- Michael

  • Like 1
Link to comment
Share on other sites

I've been working on a more customized version of the TK-II firmware that is aimed at being more U1MB aware. So in other words it tracks whether you are in the Setup or Loader screens, and even if you left the Loader to enter Setup, and then hit Esc or X to take you back to the Loader. It also knows when either screen was entered during the power-up cycle.

 

The purpose of all this is first of all for customizing the new CF Reset key (F9) so that it either puts out a SHIFT+RESET or a CTRL+D dependent upon where you are. And other reasons app!y to the custom TK-II CAPS MODE that needs to reinitialize after leaving either one of these screens back into the normal Atari flow.

 

One of the biggest challenges is squeezing more code into the limited Flash ROM space on the TK-II's PIC chip. So lots of refactoring was necessary to gain back more space for the new routines.

 

It's been an interesting challenge, but I'm getting very close to a satisfactory result. Hopefully I'll get this finished up in a couple more days, and then do a demo video of it in action.

 

- Michael

  • Like 6
Link to comment
Share on other sites

Ok here's a look at the 'FlowCode' in TK-II that is tracking and handling U1MB associated functions for launching into SETUP, LOADER, or doing CF Card Resets.

 

Assigned macro keys...

 

F9 = CF Card Reset

F11 = Jump into LOADER

F12 = Jump into SETUP

 

So it's looking pretty good :thumbsup::)

 

tzSBp3L.jpg

 

- Michael

  • Like 3
Link to comment
Share on other sites

To add to my previous post... this new TK-II firmware in parallel development with the 1088XEL and the XEL-I3 CF Card Adapter also has a cool feature that when you are in the U1MB SETUP screen, if you momentarily press either F5 (START), F6 (SELECT), or F7 (OPTION) then a 'COLD' re-start is automatically done with the chosen console key press held (the firmware holds it for you, so no need for you to keep it pressed). This I find especially useful if I'm testing out games from an ATR directory with the SIO2PC, where I can jump into SETUP (F12) and then hit OPTION (F7) to exit the game and reload a new game via SIO2PC with BASIC disabled.

 

- Michael

  • Like 5
Link to comment
Share on other sites

Jon,

 

While testing the TK-II's U1MB screen tracking I noticed something interesting and kind of inconsistent. If you have SDX enabled, after 1st entering the LOADER screen, then going to SETUP, upon returning with either ESC or X you will be put back into the LOADER. This makes sense, and will consistently do this until you either do a restart (CTRL+R) from the LOADER, or do a restart (C or B) from SETUP. But if SDX is not enabled, then it doesn't matter if you were in the LOADER before going to SETUP, because ESC or X will always bail you out to the Basic prompt. I don't see how having SDX enabled or not should influence this, but it does.

 

Be nice if the action of ESC or X from SETUP would always return you to where you came from irrelevant of whether SDX was enabled. So if you came to SETUP directly from the LOADER, then you would return to the LOADER when ESC or X were issued in the SETUP screen. And vice versa if you came from either the DOS CL, or the Basic Prompt into SETUP, then that's where you would return instead. Don't know if there is an underlying mechanism that mandates the current method be used, but if not it would be great to see this changed. And if it can't be changed to what I have suggested, then perhaps it is better to have ESC and X always take you back to the DOS CL or Basic prompt, irrelevant if you came to SETUP from the LOADER.

 

Separate topic related to CF Reset...

 

In the LOADER, CTRL+D executes this function, with out doing a visible reset of the Atari. However outside of the LOADER using the alternative SHIFT+RESET CF Reset does appear to do a system reset as well. Any reason for this? Be nice to have the more silent action like CTRL+D does in the LOADER. Is there a reason for the difference?

 

Other than these very minor issues, all is looking very good :thumbsup: :)

 

- Michael

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