Jump to content
IGNORED

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


mytek

Recommended Posts

PCB Order Status Update

 

Wow this thing is going fast. Placed order 4 days ago, manufactured in China, and apparently it is now sitting at the LOS ANGELES GATEWAY, CA - USA according to DHL tracking. Projected delivery date is Monday June 12th. So basically 7 days from order to delivery at my door. I'm impressed!!! Beats OSH Park by nearly a week.

 

- Michael

  • Like 4
Link to comment
Share on other sites

I have one assembled and ready to test.

P2b9pAA.jpg

 

CZMYzah.jpg

 

ywoP6U6.jpg

 

Using UFLASH I loaded FJC's first XELI3PBI.ROM into my U1MB and configured it as follows...

 

PBI BIOS: Enabled

PBI device ID: 0

Hard disk: Enabled

ATR swap button: Disabled

Boot drive: D1:

Drive 1 swap: Disabled

CONFIG.SYS: Disabled

HDD write lock: Disabled

HDD rescan key: Disabled

 

When rebooting the system (with SDX Enabled) I only get an error 138 when trying to do a directory, and the same when trying to switch to other drive numbers.

 

So I jumped into Basic and wrote a quick little program to read from the 8 different IDE registers.

 

10 For X=0 to 7

20 ? PEEK(53728+X);" ";

30 Next X

 

And when run I get the following results...

 

No CF Card: 0 0 0 0 0 0 0 0

CF Card 1: 188 1 1 1 0 0 0 80

CF Card 2: 249 1 1 1 0 0 0 80

 

So it sort of looks like something is communicating, although I need a little better test to really be sure. Does anyone know if there is a Basic or binary file that can do a a more complete test of the IDE?

 

- Michael

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

Did you run FDISK yet? Did you format your partitions yet?

 

Don't really want to do that since both of the CF cards I have came from Lotharek already formatted with a ton of games on them.

 

I just want to find out if the interface is actually communicating properly so as to rule out other things such as the PBI driver. Since the location of where the registers sit in memory ($D1E0-E7) is likely different than a 'normal' MyIDE, it'll need to have a test program that I can configure. I believe there was something done in Basic many years ago that could read and verify the IDE device. If someone has that, it might be pretty easy to change the register location calls.

 

- Michael

Link to comment
Share on other sites

If your CF card is set up for MyIDE using Mr. Atari's tools, then it is not APT compatible.

 

It was setup for use in a SIDE2 cart, so it should be compatible with FJC's custom Incognito PBI firmware that he tweaked for this specific XEL MPBI usage. However the ROM code he provided is untested for my application, so that might very well be where the problem lies. I just want to verify proper IDE coms to be sure that it isn't something wrong with the hardware.

 

- Michael

Link to comment
Share on other sites

Using UFLASH I loaded FJC's first XELI3PBI.ROM into my U1MB and configured it as follows...

 

PBI BIOS: Enabled

PBI device ID: 0

Hard disk: Enabled

ATR swap button: Disabled

Boot drive: D1:

Drive 1 swap: Disabled

CONFIG.SYS: Disabled

HDD write lock: Disabled

HDD rescan key: Disabled

 

When rebooting the system (with SDX Enabled) I only get an error 138 when trying to do a directory, and the same when trying to switch to other drive numbers.

 

So I jumped into Basic and wrote a quick little program to read from the 8 different IDE registers.

 

10 For X=0 to 7

20 ? PEEK(53728+X);" ";

30 Next X

 

And when run I get the following results...

 

No CF Card: 0 0 0 0 0 0 0 0

CF Card 1: 188 1 1 1 0 0 0 80

CF Card 2: 249 1 1 1 0 0 0 80

 

So it sort of looks like something is communicating, although I need a little better test to really be sure. Does anyone know if there is a Basic or binary file that can do a a more complete test of the IDE?

 

- Michael

Try disabling the boot drive. I seem to recall having issues with reading SIO drives when I had the boot drive set to D1:, because it looks for D1: on the HDD.

Link to comment
Share on other sites

Try the XEX loader. I suspect Lotharek's cards have no APT partitions at all: just FAT.

 

Edit: I'll have to build you a new loader for this addressing layout. ;)

 

I tried the Side Loader and it shows 'No Entries" with the message 'Waiting for media' followed by a clock icon forever spinning.

 

 

Try disabling the boot drive. I seem to recall having issues with reading SIO drives when I had the boot drive set to D1:, because it looks for D1: on the HDD.

 

Done, but made no difference.

 

So I wrote a little Basic program to query the IDE: IDETEST.BAS

10 IDE=53728
20 POKE IDE+7,236
40 FOR X=0 TO 46:D=PEEK(IDE)
45 IF X=10 THEN ? "S/N:";
50 IF X>10 AND X<20 THEN ? CHR$(D);:GOTO 80
60 IF X=21 THEN ?  "MOD:";
70 IF X>29 THEN ? CHR$(D);
80 NEXT X

-----

IDE = 53728 = $D1E0 (mapped starting address for IDE registers)

IDE+7 = $D1E7 (IDE Status/Command register)

236 ($EC) = Identify Drive Command

-----

 

Running program to test two different CF cards,,,

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

 

FDISK can't detect the board...

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

 

So judging by the first test, it looks like the XEL-I3 hardware is being recognized as a valid IDE device. However something is a miss when trying access it via the U1MB.

 

- Michael

IDETEST.BAS

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

Michael,

 

Have you tried any of the various drivers, SIDE.SYS,MYIDE.SYS,COLLEEN.SYS?. Also have you verified that it is being seen as an internal or external CF card.

 

No I haven't tried using any of those drivers. Where would they expect the IDE registers to be mapped? Other than for general test purposes, I really need to have this work with Jon's custom PBI bios that he gave me (or a working version thereof, for use in the U1MB).

 

This meant to work as an internal CF card, but I must confess that I'm not really sure I know where you are going with that question.

 

- Michael

Link to comment
Share on other sites

I think some of the tables are off by two in the custom BIOS I made for you Michael (reason being that the first structure in the $D1xx area is two bytes shorter on the Incognito, throwing all the other equates off from where the main BIOS expects to find them). The loader won't work at all since it's expecting to find the IDE registers at the SIDE locations.

 

Try this:

 

xel_i3.rom

 

No guarantees fixing the equates will make it work, but it has to help.

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

I think some of the tables are off by two in the custom BIOS I made for you Michael (reason being that the first structure in the $D1xx area is two bytes shorter on the Incognito, throwing all the other equates off from where the main BIOS expects to find them). The loader won't work at all since it's expecting to find the IDE registers at the SIDE locations.

 

Try this:

 

attachicon.gifxel_i3.rom

 

No guarantees fixing the equates will make it work, but it has to help.

 

Sorry Jon, unfortunately it still doesn't work. I tried FDISK and the Loader, both of which didn't see the XEL-I3 as being present.

 

- Michael

Link to comment
Share on other sites

Are you seeing the PBI BIOS message for Incognito when you boot SDX? If not, something else is fundamentally broken.

 

Note, as I said: the loader will not work yet so it's a waste of time trying it.

 

If you talking about when I first Boot-Up the system with SDX enabled I do not see anything mentioning Incognito what-so-ever.

 

here's what I see...

 

Ultimate clock installed

Ramdisk preserved

 

Spartados X 4.48 14-09-2016

Copyright © 2016 by FTe & DLT

 

D1:

 

- Michael

Edited by mytekcontrols
Link to comment
Share on other sites

OK: if you've turned on the PBI BIOS and enabled the PBI BIOS notice in BIOS settings and "Incognito PBI BIOS v.x.xx" isn't showing up, then the bank switching is broken or something.

 

Actually this can be tested in Altirra by just flashing the nodded ROM and setting a write breakpoint on the (imaginary) IDE status register. Will try that tomorrow.

Edited by flashjazzcat
Link to comment
Share on other sites

OK: if you've turned on the PBI BIOS and enabled the PBI BIOS notice in BIOS settings and "Incognito PBI BIOS v.x.xx" isn't showing up, then the bank switching is broken or something.

 

PBI BIOS is enabled and PBI logo is enabled (I assume this is the PBI BIOS notice that you are referring to). And just to add to my last post... Ramdisk preserved only shows up when exiting out of the U1MB Setup, and isn't there on a power-up.

 

What bank switching are you referring to?

 

- Michael

Link to comment
Share on other sites

Yep: RAMDisk is lost when the power is turned off.

 

The PBI BIOS is bank-switched. I'm just trying to speculate as to why it isn't even getting as far as showing the PBI notice. I should be able to fix it using Altirra's debugger. ;)

 

Yep that makes total sense, no power - no memory.

 

Don't know if it makes any difference, but I am currently using the abbreviated version of SDX V4.48 so that I also have room for your GOS. The current BIOS version is 1.25, so it's fairly up to date.

 

I was watching this video by Nir, and only noticed the PBI notice appearing when he had the SIDE2 plugged in and the switch was set to up. Later when he was running without the SIDE2 and the U1MB SDX was enabled i didn't see any PBI notice on boot-up. So under what conditions is this notice suppose to appear?

 

Nir's U1MB/SIDE2 demo video...

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

 

I wish you well on your troubleshooting :)

 

- Michael

Link to comment
Share on other sites

SDX size makes no difference. The PBI notice shows up when the high speed SIO is enabled as well, so perhaps try turning that on (sorry I forgot to mention that).

 

It is on :( Oh well.

 

EDIT: Ok just to rule out things I transferred this U1MB from the XEL over to my XEGS, plugged in the SIDE2 (switch set to UP), U1MB SDX enabled, ATR Swap enabled, and same thing... no PBI notice when booting SDX. So I popped the original U1MB back into the XEGS and I get Ultimate PBI v.1.85, dev. 0 on the first screen line. So using UFLASH I reloaded the same PBI BIOS into the XEL's U1MB and now it too displays the PBI notice (both in the XEGS and the XEL). Hopefully this info is helpful to you.

 

- Michael

Edited by mytekcontrols
Link to comment
Share on other sites

Nice bit of kit... any thought about making it lower profile for keeping it within the case? (I know this is your first stab it)

It's normally going to connect via a ribbon cable, so it can be placed anywhere that's convient, but in this particular case I'm using a right angle connector to purposely allow it to be directly plugged into the motherboard. When I finish my custom top panel design, there will be openings for both the Cartridge and the CF card to be inserted. And I'll also have some brackets that will engage pins in the under side of that panel to hold the XEL-I3 board in alignment with that slot.

 

On all of the Mini-ITX cases I've bought thus far, they all seem to come with an extra panel to mount a small HDD to, so this might also serve the purpose of holding this board where access to the CF card is not required.

 

Edit: another possibility is to have it mounted to a custom rear bezel.

 

- Michael

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

EDIT: Ok just to rule out things I transferred this U1MB from the XEL over to my XEGS, plugged in the SIDE2 (switch set to UP), U1MB SDX enabled, ATR Swap enabled, and same thing... no PBI notice when booting SDX. So I popped the original U1MB back into the XEGS and I get Ultimate PBI v.1.85, dev. 0 on the first screen line. So using UFLASH I reloaded the same PBI BIOS into the XEL's U1MB and now it too displays the PBI notice (both in the XEGS and the XEL). Hopefully this info is helpful to you.

Yep - thanks. It's good news, since it confirms that it's a screw-up on my side. And indeed it was. I flashed the ROM to an emulated U1MB machine and discovered that the PBI BIOS was bailing out because it thought the HDD was turned off. A quick comparison of the tested flag address with the main BIOS equates showed there was still a mismatch in the config block. The main BIOS and PBI BIOS share a configuration block in the $D1xx area, and although the layout is identical, there are differences between U1MB and Incognito in the main BIOS fields at the front of the record. So I kludged it by editing out the Incognito conditional assembly for the config block only, forcing all the equates to match those of the U1MB PBI BIOS. I also edited out references to the ATR swap button. This got me a splash message and a timeout on the IDE registers, which hopefully means it will at least get as far as querying the IDE controller on real hardware.

 

xel_i3.rom

 

Once things appear to work, I'll have to go through the source and introduce a third hardware type (XEL-I3), since currently the build differences are binary: it's either Incognito or it isn't. What we want is a build for the Incognito hardware with the equates of the U1MB version. I'll also change cosmetic aspects (such as stating "XEL-I3 PBI" in the notice, etc).

  • Like 4
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...