flashjazzcat Posted June 15, 2017 Share Posted June 15, 2017 (edited) BTW: if you want to implement the ATR swap button in the finished part, you'll need bit 6 of $D384 latched whenever the button has been pressed. The PBI BIOS will check this on every SIO transfer and clear it automatically. Bit 7 on the Incognito means "button enabled", the idea being that it's ignored if bit 7 = 0. As I said: all the button logic is stripped out of the custom ROM at the moment since it hangs the system (the BIOS clears bit 6 and reads it back until it's clear). I notice the PBI message only appears if the HDD is enabled, which isn't exactly the behaviour I described earlier. I might change so it displays all the time, since it's relevant to HSIO and the Z: handler as well as the hard disk. Just thinking: if you chose to make a version of this device which sat - say - under the CPU of a standard machine, it would probably go like hot-cakes as an internal version of SIDE (enabling use of the cart port alongside the HDD). Edited June 15, 2017 by flashjazzcat 7 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 15, 2017 Author Share Posted June 15, 2017 Hi Jon, Thank you for working with me on this project, and I'll be testing the latest firmware you uploaded in an hour or two (just woke up, feeding the furry grandkids, and need to take a quick shower before heading over to the shop). Starting to sound like this will be the version that works, so I got my fingers crossed. Interesting suggestion about the swap button. I hadn't even considered doing something like that, but I will look into it as a future possibility. The CPU piggyback version also sounds intriguing, definitely have to think about that as well. - Michael 6 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 15, 2017 Author Share Posted June 15, 2017 Jon sorry I took so long to get back to you on your latest PBI firmware changes. And now for what you have been waiting for... SUCCESS!!! https://www.youtube.com/watch?v=QY2Kaunw4ng Now I just need to figure out the best way to get the on-board HDD Activity LED working. - Michael 9 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 15, 2017 Share Posted June 15, 2017 (edited) And now for what you have been waiting for... SUCCESS!!! That's great news! Really cheered me up since my soldering iron just died and while I should have a replacement handle by the weekend, I have a feeling the whole station is on its last legs. That's cheap 2-in-1s for you, but it's all I could afford. Anyway: since it's possible I'll be out of action for a while, there's no better time to properly reorganise the PBI ROM sources and make the changes I mentioned earlier. PS: The Incognito driver will take about five seconds to time out if there's no card present, and since there's no IDE alternate status register, we can't detect the card via a hardware reset of the IDE controller. Same thing applies with the XEL I3, with the added possibility of the adapter being absent. Perhaps a shorter polling timeout will improve matters. Edited June 15, 2017 by flashjazzcat 5 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 15, 2017 Author Share Posted June 15, 2017 That's great news! Really cheered me up since my soldering iron just died and while I should have a replacement handle by the weekend, I have a feeling the whole station is on its last legs. That's cheap 2-in-1s for you, but it's all I could afford. Anyway: since it's possible I'll be out of action for a while, there's no better time to properly reorganise the PBI ROM sources and make the changes I mentioned earlier. I was pretty frickin happy myself when I saw it work for the first time So your soldering iron's failure might end up being my blessing (although I'm sorry you need to go spend more money to make it right ). So does this mean I'll see a working loader coming up fairly soon? As for the PBI code, I thought about the swap button aspect you mentioned, and it really isn't something I can practically add. For one thing the address isn't able to be decoded with the signals provided on the XEL's MPBI port. And I know I'll get some grief for saying this, but I don't see it as a necessity that warrants adding the extra circuitry and having to tie into other off-port signals. - Michael 4 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 15, 2017 Share Posted June 15, 2017 I quite understand re: button. It's really only useful for rotating disk sets mid-session, and you can rotate them in software (via the loader), so it's not a deal breaker. I'll purge all references to the button from your next build. Of course we then get into the territory of the button option in the main BIOS being redundant. Loader should be easy enough. Might as well tackle that over the weekend. Brought my old Antex iron out of retirement (still works after five years) so was at least able to finish what I was doing tonight. 6 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 15, 2017 Author Share Posted June 15, 2017 I quite understand re: button. It's really only useful for rotating disk sets mid-session, and you can rotate them in software (via the loader), so it's not a deal breaker. I'll purge all references to the button from your next build. Of course we then get into the territory of the button option in the main BIOS being redundant. Loader should be easy enough. Might as well tackle that over the weekend. Brought my old Antex iron out of retirement (still works after five years) so was at least able to finish what I was doing tonight. I'll be 'Incognito' for the next 3 days, so no rush. Just grateful for what you have done thus far, which makes this new CF board usable. - Michael 4 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 16, 2017 Author Share Posted June 16, 2017 (edited) HDD ACTIVITY LED FIX I went on-line to find a solution to making the Activity LED on the IDE/CF adapter I was using in my project work. I did find something, but it was a fix for an entirely unrelated reason. So I came up with my own solution. So what was the problem... Apparently the designer thought it would be nice to buffer the /DASP line coming out of the CF Card with the use of a two NPN transistor circuit (simple buffer). The problem is that it appears that the wrong transistors were used in my batch of adapter boards. So reading up on the specs for this signal output, it appears that it is rated for 20 ma, more than sufficient to directly drive the LED, especially considering that it has a 1K pull-up resistor to +5 V. So my solution was to jumper across this circuit (no removal of parts required). And here is a video showing it in action... https://www.youtube.com/watch?v=654aGSiJOFU - Michael Edited June 16, 2017 by mytekcontrols 7 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 17, 2017 Author Share Posted June 17, 2017 (edited) Product Off-Shoot is Now Planned Thanks to FJC's suggestion, I will be creating a CPU piggyback board for non-XEL A8 computers that will give them a MPBI port. In this way MPBI devices created for the XEL will also plug in and work in all of the A8 computer series, thus acting as a bridge interface of sorts between all different model series. This alternative MPBI will be missing a couple of signals that can't be easily derived from the CPU alone, but those signals are noncritical in nature and likely won't be missed (i.e., not needed by the XEL-I3 for one). So soon you will have SIDE functionality in any U1MB upgraded A8 without hogging the cartridge port. - Michael Edited June 17, 2017 by mytekcontrols 13 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted June 17, 2017 Share Posted June 17, 2017 Thank you Michael, that is awesomely great. 2 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 17, 2017 Share Posted June 17, 2017 Yes: insanely great. Gotta get one of those in at least one machine. 2 Quote Link to comment Share on other sites More sharing options...
+DrVenkman Posted June 17, 2017 Share Posted June 17, 2017 Product Off-Shoot is Now Planned Thanks to FJC's suggestion, I will be creating a CPU piggyback board for non-XEL A8 computers that will give them a MPBI port. In this way MPBI devices created for the XEL will also plug in and work in all of the A8 computer series, thus acting as a bridge interface of sorts between all different model series. This alternative MPBI will be missing a couple of signals that can't be easily derived from the CPU alone, but those signals are noncritical in nature and likely won't be missed (i.e., not needed by the XEL-I3 for one). So soon you will have SIDE functionality in any U1MB upgraded A8 without hogging the cartridge port. - Michael This is gonna be one of those "TAKE MY MONEY!" products. Actually, while I am at it, would it be possible to include a little header on there for U1MB signals (like on the Adaptus board) so solderless U1MB installation is possible? 6 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 17, 2017 Author Share Posted June 17, 2017 This is gonna be one of those "TAKE MY MONEY!" products. Actually, while I am at it, would it be possible to include a little header on there for U1MB signals (like on the Adaptus board) so solderless U1MB installation is possible? Oh yes great idea! Consider it done. - Michael 4 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 17, 2017 Author Share Posted June 17, 2017 (edited) More on this CPU/MPBI piggyback board... While I'm at it, and since I'll have a 74HCT08 on board to buffer the PH2 signal, I can also use one of the extra gates in that chip to add the 1200XL /EXTSEL circuit. For other systems that already have this signal, and to implement a more complete MPBI spec this and the /CI (Cas Inhibit) will need to be acquired off board. However the XEL-I3 IDE/CF Interface does not require these signals, so that can be skipped for that instance. There will also be a 74HCT138 on board to mirror the decoding of the one on the motherboard in order to breakout the required /CS outputs to the MPBI connector. Important Note: There will need to be one mandatory solder connection made, and that is to pick up the MMU I/O line (MMU pin 7). So unfortunately it isn't going to be a completely solder-less installation (but pretty close to it). - Michael Edited June 17, 2017 by mytekcontrols 5 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 18, 2017 Share Posted June 18, 2017 As promised, I added an extra build target for the PBI BIOS and loader so XEL-I3 versions can be produced as easily as the others. No way to test these here, so I hope the PBI still works and that the loader works too: XEL-I3.zip To ensure the new assembly conditionals didn't break existing targets, I've run diffs on all builds and they're identical. The XEL-I3 PBI BIOS now also reports its proper title in the boot message and also in DISKINFO (see the APT programming docs on my website), and has a unique hardware ID ($10). Any problems, give me a shout. Should be easy enough to fix. Once the XEL-I3 PBI and loaded are certified working, I'll release this update for U1MB/SIDE and Incognito. There's also a main BIOS update not included here. 4 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 18, 2017 Author Share Posted June 18, 2017 As promised, I added an extra build target for the PBI BIOS and loader so XEL-I3 versions can be produced as easily as the others. No way to test these here, so I hope the PBI still works and that the loader works too: XEL-I3.zip To ensure the new assembly conditionals didn't break existing targets, I've run diffs on all builds and they're identical. The XEL-I3 PBI BIOS now also reports its proper title in the boot message and also in DISKINFO (see the APT programming docs on my website), and has a unique hardware ID ($10). Any problems, give me a shout. Should be easy enough to fix. Once the XEL-I3 PBI and loaded are certified working, I'll release this update for U1MB/SIDE and Incognito. There's also a main BIOS update not included here. The new PBI code works great, but I can't get UFLASH to accept the XLOAD file. Gives me a "INVALID FILE SIGNATURE" message. I figure it's probably something very minor. - Michael Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 18, 2017 Share Posted June 18, 2017 The new PBI code works great, but I can't get UFLASH to accept the XLOAD file. Gives me a "INVALID FILE SIGNATURE" message. I figure it's probably something very minor. That's odd: I tested the flash here to ensure that wouldn't happen. You can disable signature checks in UFLASH to get around this anyway. Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 That's odd: I tested the flash here to ensure that wouldn't happen. You can disable signature checks in UFLASH to get around this anyway. Ok I just had something happen that is very odd. I verified that UFLASH didn't recognize the signature once again, and then went into Options and disabled it, after which I could get past the warning, but then I got another warning as follows: "Short File was 4KB, expected 16KB" What's very odd, is that the file size is 16,384 according to SDX and makeATR. So I tried loading the ULOAD129 ROM (what I originally was running) and all went well. Any idea of what might be happening? - Michael Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 To add to this. I tried re-downloading the ROM(s) zip file, re-extracted the individual ROMs, used makeATR to transfer to my SDX work disk, booted up with SIO2PC-USB through RespeQt, and then tried once again to get this ROM file to load via UFLASH. Result: No Change. Next I changed the transfer speed from divisor zero to the normal 57600(3x) setting in RespeQt to see if corruption was occurring due to a too high of a transfer speed, but still the same problems when trying to load xload132. So one last thing I did was I also told UFLASH to ignore short files and this time I was able to load the file, only problem is it doesn't work and gives me a black screen every time I try to invoke the loader. - Michael Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 19, 2017 Share Posted June 19, 2017 Yikes. I got a nice clean flash here with default settings and the loader ran and timed out on disk access as expected (there being no IDE hardware at the expected address). Maybe the version of UFLASH I'm using is a bit newer; I'll upload it later. Most recent release is from the BIOS pack released last December? 2 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 (edited) Hi Jon You hit it on the nose... yes my UFLASH was a bit too dated (September 2016). Once I got the latest off your website all was ok, no more fussing with disabling signatures, and no more warnings Made a quick video showing a few tests... https://www.youtube.com/watch?v=AGS8lCc8rqQ So far so good Thanks a bunch for getting this done so quickly. I'll Be testing it more into this coming week and be sure to report back to you on how things are going. But for the moment it's looking real solid. - Michael Edited June 19, 2017 by mytekcontrols 7 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted June 19, 2017 Share Posted June 19, 2017 (edited) That's great news. Better test with cartridges at some point. Disabling the ATR swap button should ensure carts remain accessible when the HDD is enabled. PS: I reduced the IDE timeout to some 2 seconds so booting with the HDD enabled without the adapter/CF card present should no longer hang up the system for 5 seconds. Edited June 19, 2017 by flashjazzcat 5 Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 That's great news. Better test with cartridges at some point. Disabling the ATR swap button should ensure carts remain accessible when the HDD is enabled. PS: I reduced the IDE timeout to some 2 seconds so booting with the HDD enabled without the adapter/CF card present should no longer hang up the system for 5 seconds. I'll be sure to check those things as well. - Michael Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 I reduced the IDE timeout to some 2 seconds so booting with the HDD enabled without the adapter/CF card present should no longer hang up the system for 5 seconds. I ran a test on this today, but apparently it still hangs for quite awhile... https://www.youtube.com/watch?v=n_sNEoT4ttc However other than that, everything else still looking good including no problems thus far with cartridges (did some testing with the Basic XL cart in place and reading and writing to the CF). - Michael Quote Link to comment Share on other sites More sharing options...
+mytek Posted June 19, 2017 Author Share Posted June 19, 2017 (edited) Improved Basic Test program to verify IDE Drive (or Compact Flash card)... https://www.youtube.com/watch?v=SdRtkpwXKfM 5 IDEPRNT=500:REM IDE PRINT ROUTINE 10 IDE=53728:REM IDE BASE ADDRESS 15 RST=4:REM RESET COMMAND 20 DPARM=224:REM DRIVE PARAMETERS 25 FEAT=239:REM SET FEATURE COMMAND 30 ID=236:REM IDENTIFY COMMAND 35 REM ----- DRIVE SET-UP ----- 40 POKE IDE+7,RST 50 POKE IDE+6,DPARM 60 POKE IDE+1,1:REM 8-BIT MODE 70 POKE IDE+7,FEAT 80 POKE IDE+7,ID 85 REM ----- MAIN PROGRAM LOOP ----- 90 FOR X=0 TO 255:DLSB=PEEK(IDE):DMSB=PEEK(IDE) 100 IF X=10 THEN ? "S/N: "; 110 IF X>9 AND X<20 THEN GOSUB IDEPRNT 115 IF X=23 THEN ? "REVISION: "; 116 IF X>22 AND X<27 THEN GOSUB IDEPRNT 120 IF X=27 THEN ? "MODEL : "; 130 IF X>26 AND X<47 THEN GOSUB IDEPRNT 135 IF X=48 THEN ? 140 NEXT X 150 END 500 REM ----- PRINT ROUTINE ----- 510 ? CHR$(DMSB); 520 ? CHR$(DLSB); 5320 RETURN Basic File: IDETEST.BASI learned how to enable 8-Bit Addressing mode, and implemented this in the latest test program. Currently this is set-up to query an XEL-I3 through the MPBI at a base address of $1DE0. However by changing the base address equate in line 10, this routine will work with other IDE hardware. More Info on Accessing CF card data via 8-Bit mode - Michael IDETEST.BAS Edited June 19, 2017 by mytekcontrols 5 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.