• Please review our updated Terms and Rules here

XTIDE tech support thread

2GB is the DOS limit for FAT16. 2K, XP or later permits formatting all 4GB, but the result may not work reliably in a DOS environment. My old Minolta D7 digicam handles 4GB FAT16 cards just fine, in spite of the owner's manual stating otherwise.

Nothing wrong with taking your 4GB CF and partitioning to several smaller FAT16 partitions.
 
Hi everyone,

Hopefully this is the right thread for this...but anyway...

A while ago I got an XT-CF-Lite card for some of my PC-XT clones. I wrote about my initial experiences in this blog post where I mentioned formatting difficulties.

You can use the LoTech WipeDisk utility to erase the partition table, Just copy it to your Dos 3.3 boot disk and run it, It seems you used Dos 6.22 to originally partition and format the CF card ?

Anyway, I thought things were stable but I was playing with it recently and noticed some more problems. The main symptom was that writing to the card in a vintage machine (when emulating a hard disk) seemed to invariably corrupt files, often to the extent where the card couldn't be booted from. The problem was resolved when I changed the card. I had been using a 4GB card. Somewhere in the junk box I found and unused 10MB one (yes, 10MB!) from a VERY old digital camera. This one seems to work just fine.

I seem to remember someone else having a similar problem on an XT Clone, IIRC there was an address conflict and changing the IO base address fixed the problem, Obviously if you change the IO base address you 'Must' update the bios and Re-flash.

I'm now thinking that 4GB was perhaps just too big. Both MS-DOS 6.22 and my windows XP machine only recognises this card as being 2GB in size. I'm assuming this is due to the card being formatted in FAT 16 (I'm assuming this is case, yes?).

Yes, As chuck said 2Gb is the dos limit for Fat16

Has anyone else had a similar experience with these large capacity cards not working well? I read somewhere that these cards are built to be FAT32 only? Is it best therefore, just to use a card under 2GB?

I've not had any problems using a 4Gb CF partitioned in to 2 x 2gb partitions running Dos 6.22 on my IBM XT 5160 Though i don't remember trying Dos 3.3 on a 4Gb CF, I've had Dos 3.3 running on a 128Mb CF with no problems in the past.
 
@ChuckG, yes, the CF card was partitioned into a 2GB partition which was formatted with MS-DOS 6.22. Uncorrupted files seem to have a very short life though unlike those on the 10MB card, which seems to hold them together well.

@Malc, Yes, I used that wipedisk utility subsequent to my writeup (I didn't know about it until recently) but it didn't make a difference to the 4GB card stability.

My gut feeling tells me it's just an incompatible card for some reason. Anyway, I'll acquire another one of lesser capacity and see how I go. The 10MB one is ok for now, but I really want something I can read/write files on my XP box, along with the XT clone.

Anyway, thanks for the comments. Appreciated.

Tez
 
I've had very good luck with Sandisk 1gb Extreme III's, but I have only been using the original XT-IDE controllers, so YMMV, but hopefully they are just as compatible in the CF-Lite.
 
Once again, DOMs seem to be way more compatible and easily configurable than the CF cards. I don't know why; I only know what I have observed.
 
Usually data corruption issues are caused by power issues. It might be worth putting a 'scope on the 5V line to see if there is much ripple. You might try adding some more smoothing caps to the board, maybe 100 on the board and 1 or 2uF somewhere near the CompactFlash card, if you can. Also, I'm not sure if Sergey's design powers the LED directly from CSEL but the current on that pin is VERY limited (like 2mA), so I would also pull the LED.

Also, are you using 'HC, 'LS, or 'HCT for your '245? HCT should be the most compatible option since CompactFlash is a CMOS specification.
 
Missing operating system on Amstrad CPC 1512

Missing operating system on Amstrad CPC 1512

Hi everybody,

I'm trying to boot my Amstrad CPC 1512 with an XTIDE card and I have following message : Missing operating system :(

Hardware Configuration :
Amstrad CPC 1512
XTIDE card : on PCB, it's written : www.lo-tech.co.uk/XT-CF Rev.3
XTIDE firmware used : v2.0.0B3+ (2013-10-22)
Compact flash adapter CF-IDE40 V.E0 (Double/DMA/3LED)
CF : 128MB Sandisk Compact Flash

What I did :
- Downloaded Amstrad 1512 system floppy disks from the web
- Using virtual box :
- Mounted Amstrad floppy disks as floppy disks
- Asked virtualbox to mount CF as a hard disk drive (sudo chmod 777 /dev/sde; virtualboxhdd.rawVBoxManage internalcommands createrawvmdk -filename virtualboxhdd.vmdk -rawdisk /dev/sde)
- Booted virtualbox on floppy, then fdisk c: (created 3.5 MB partition(100 cylinder starting at 0), make active), sys c: and copy *.* c:
- Booted virtualbox on CF, I get command prompt as expected.​
- But then booting on Amstrad, I get :
-=XTIDE Universal BIOS (XT)=- @ C800h
v2.0.0B3+ (2013-10-22)
Released under GNU GPL v2
Master at 300h: SanDisk SDCFB-128
Slave at 300h: not found
Booting C>>C
Missing operating system​

Problem analysis :
- "Missing operating system" is a message from compact flash MBR (CF address 0xc7), saying Amstrad has successfully loaded and executed Compact Flash MBR bootstrap part 1, and I don't understand why bootstrap complains.
- If you have any clue why CF is working in VM and not Amstrad, you are welcome ! :)
- For information, this is a raw dump of the compact flash I used : LINK
- If you have a working Compact flash on a XT PC, I would be glad if you could share your CF dump. :D

Remarks :
- I have a floppy reader inside Amstrad, but I don't have any floppy disk, so I can't boot from floppy drive, and so I can't also change XTIDE firmware.

Thanks for your time,
Fab
 
Quite often, this happens when the geometry as determined by the XTIDE and reported to the Amstrad is different from that used by VB. You may want to run a DOS utility from floppy to compare the two.

I used to have this problem when crossing between HP PCs and other brands.
 
I have a floppy reader inside Amstrad, but I don't have any floppy disk, so I can't boot from floppy drive, and so I can't also change XTIDE firmware.

As Chuck said, the drive geometry translation differs between the XTIDE Universal BIOS and the BIOS used in Virtual Box. This is why I always tell people to partition and format drives in the machine they're destined for. Not doing that could lead to problems later on even though it may seem to work at first. Once this is done, it's safe to move the drive/CF media to a modern machine because the file system drivers in a modern OS are smart enough to understand the geometry and mount the drive safely.

The first thing you should do is upgrate the XUB to the latest version available from here: http://www.xtideuniversalbios.org/binaries

Not having a floppy is going to be a problem. If you have a null modem cable then you can boot from a floppy image on another machine using the Virtual Serial Drive feature in XUB. If so, boot a floppy image configured to create a small RAM disk and perform the upgrade from that disk. Do not try to upgrade directly from the virtual serial drive.

Once the BIOS has been upgraded, power cycle the machine and continue with the OS installation (partition, format and install etc).

If you don't have a null modem cable then getting a real floppy disk is the easiest alternative option.
 
Hi Chuck, Hi Krille,
Thanks for your answers ! :)

I looked at bootstrap code, it asks to load into memory HDD sector 1 cylinder 0 head 1 and "Missing operating system" message appears because 0x55 0xAA is not found at 0x1FE, so you are right, is seems to be a geometry issue. :(

I tried serial boot, by using this serdrive and image here, from this VCFED topic, but I get following errors :
Code:
C:\Documents and Settings\Fab\Desktop>serdrive -v 6 FreeDOS.img
Opening 'FreeDOS.img', total LBA 65520, total size 32.0 MB
Opening COM1 (9600 baud)
Spurious: [0]
Spurious: [0]
Spurious: [248]
Spurious: [0]
Spurious: [248]
Spurious: [120:x]
Spurious: [0]
Spurious: [120:x]
Spurious: [0]
Spurious: [128]
Spurious: [0]
Spurious: [128]
Spurious: [128]
Spurious: [248]
Spurious: [120:x]
Spurious: [254]
Spurious: [128]
Spurious: [248]
Spurious: [0]
Spurious: [30]
Spurious: [128]
Spurious: [158]
Spurious: [0]
Spurious: [6]
Spurious: [128]
Spurious: [248]
Spurious: [128]
Spurious: [96:`]
Spurious: [126:~]
Spurious: [152]
Spurious: [134]
Spurious: [248]
    Received: [  0:a0] [  1:a0] [  2:01] [  3:01] [  4:fe] [  5:0c] [  6:11] [
7:31]
Inquire 0: Client Port=0x3f8, Client Baud=9600
    Sending: [  0:40] [  1:00] [  2:00] [  3:00] [  4:00] [  5:00] [  6:00] [  7
:00] [  8:00] [  9:00] [ 10:00] [ 11:00] [ 12:00] [ 13:00] [ 14:00] [ 15:00] [ 1
6:00] [ 17:00] [ 18:00] [ 19:00] [ 20:73] [ 21:65] [ 22:72] [ 23:69] [ 24:61] [
25:6c] [ 26:00] [ 27:00] [ 28:00] [ 29:00] [ 30:00] [ 31:00] [ 32:00] [ 33:00] [
 34:00] [ 35:00] [ 36:00] [ 37:00] [ 38:00] [ 39:00] [ 40:00] [ 41:00] [ 42:00]
[ 43:00] [ 44:00] [ 45:00] [ 46:66] [ 47:69] [ 48:72] [ 49:6d] [ 50:77] [ 51:00]
 [ 52:00] [ 53:00] [ 54:72] [ 55:46] [ 56:65] [ 57:65] [ 58:4f] [ 59:44] [ 60:2e
] [ 61:53] [ 62:6d] [ 63:69] [ 64:20] [ 65:67] [ 66:43] [ 67:28] [ 68:4d] [ 69:4
f] [ 70:2f] [ 71:31] [ 72:36] [ 73:39] [ 74:30] [ 75:30] [ 76:00] [ 77:29] [ 78:
00] [ 79:00] [ 80:00] [ 81:00] [ 82:00] [ 83:00] [ 84:00] [ 85:00] [ 86:00] [ 87
:00] [ 88:00] [ 89:00] [ 90:00] [ 91:00] [ 92:00] [ 93:00] [ 94:00] [ 95:00] [ 9
6:00] [ 97:00] [ 98:00] [ 99:02] [100:00] [101:00] [102:00] [103:00] [104:00] [1
05:00] [106:00] [107:00] [108:00] [109:00] [110:00] [111:00] [112:00] [113:00] [
114:00] [115:00] [116:00] [117:00] [118:00] [119:00] [120:f0] [121:ff] [122:00]
[123:00] [124:00] [125:00] [126:00] [127:00] [128:00] [129:00] [130:00] [131:00]
 [132:00] [133:00] [134:00] [135:00] [136:00] [137:00] [138:00] [139:00] [140:00
] [141:00] [142:00] [143:00] [144:00] [145:00] [146:00] [147:00] [148:00] [149:0
0] [150:00] [151:00] [152:00] [153:00] [154:00] [155:00] [156:00] [157:00] [158:
00] [159:00] [160:00] [161:00] [162:00] [163:00] [164:00] [165:00] [166:00] [167
:00] [168:00] [169:00] [170:00] [171:00] [172:00] [173:00] [174:00] [175:00] [17
6:00] [177:00] [178:00] [179:00] [180:00] [181:00] [182:00] [183:00] [184:00] [1
85:00] [186:00] [187:00] [188:00] [189:00] [190:00] [191:00] [192:00] [193:00] [
194:00] [195:00] [196:00] [197:00] [198:00] [199:00] [200:00] [201:00] [202:00]
[203:00] [204:00] [205:00] [206:00] [207:00] [208:00] [209:00] [210:00] [211:00]
 [212:00] [213:00] [214:00] [215:00] [216:00] [217:00] [218:00] [219:00] [220:00
] [221:00] [222:00] [223:00] [224:00] [225:00] [226:00] [227:00] [228:00] [229:0
0] [230:00] [231:00] [232:00] [233:00] [234:00] [235:00] [236:00] [237:00] [238:
00] [239:00] [240:00] [241:00] [242:00] [243:00] [244:00] [245:00] [246:00] [247
:00] [248:00] [249:00] [250:00] [251:00] [252:00] [253:00] [254:00] [255:00] [25
6:00] [257:00] [258:00] [259:00] [260:00] [261:00] [262:00] [263:00] [264:00] [2
65:00] [266:00] [267:00] [268:00] [269:00] [270:00] [271:00] [272:00] [273:00] [
274:00] [275:00] [276:00] [277:00] [278:00] [279:00] [280:00] [281:00] [282:00]
[283:00] [284:00] [285:00] [286:00] [287:00] [288:00] [289:00] [290:00] [291:00]
 [292:00] [293:00] [294:00] [295:00] [296:00] [297:00] [298:00] [299:00] [300:00
] [301:00] [302:00] [303:00] [304:00] [305:00] [306:00] [307:00] [308:00] [309:0
0] [310:00] [311:00] [312:00] [313:00] [314:00] [315:00] [316:00] [317:00] [318:
00] [319:00] [320:00] [321:00] [322:00] [323:00] [324:00] [325:00] [326:00] [327
:00] [328:00] [329:00] [330:00] [331:00] [332:00] [333:00] [334:00] [335:00] [33
6:00] [337:00] [338:00] [339:00] [340:00] [341:00] [342:00] [343:00] [344:00] [3
45:00] [346:00] [347:00] [348:00] [349:00] [350:00] [351:00] [352:00] [353:00] [
354:00] [355:00] [356:00] [357:00] [358:00] [359:00] [360:00] [361:00] [362:00]
[363:00] [364:00] [365:00] [366:00] [367:00] [368:00] [369:00] [370:00] [371:00]
 [372:00] [373:00] [374:00] [375:00] [376:00] [377:00] [378:00] [379:00] [380:00
] [381:00] [382:00] [383:00] [384:00] [385:00] [386:00] [387:00] [388:00] [389:0
0] [390:00] [391:00] [392:00] [393:00] [394:00] [395:00] [396:00] [397:00] [398:
00] [399:00] [400:00] [401:00] [402:00] [403:00] [404:00] [405:00] [406:00] [407
:00] [408:00] [409:00] [410:00] [411:00] [412:00] [413:00] [414:00] [415:00] [41
6:00] [417:00] [418:00] [419:00] [420:00] [421:00] [422:00] [423:00] [424:00] [4
25:00] [426:00] [427:00] [428:00] [429:00] [430:00] [431:00] [432:00] [433:00] [
434:00] [435:00] [436:00] [437:00] [438:00] [439:00] [440:00] [441:00] [442:00]
[443:00] [444:00] [445:00] [446:00] [447:00] [448:00] [449:00] [450:00] [451:00]
 [452:00] [453:00] [454:00] [455:00] [456:00] [457:00] [458:00] [459:00] [460:00
] [461:00] [462:00] [463:00] [464:00] [465:00] [466:00] [467:00] [468:00] [469:0
0] [470:00] [471:00] [472:00] [473:00] [474:00] [475:00] [476:00] [477:00] [478:
00] [479:00] [480:00] [481:00] [482:00] [483:00] [484:00] [485:00] [486:00] [487
:00] [488:00] [489:00] [490:00] [491:00] [492:00] [493:00] [494:00] [495:00] [49
6:00] [497:00] [498:00] [499:00] [500:00] [501:00] [502:00] [503:00] [504:00] [5
05:00] [506:00] [507:00] [508:00] [509:00] [510:00] [511:00] [512:61] [513:b2]

On Amstrad side, I have "Master/Slave at Com Detect not found"

--> Do you know what geometry XTIDE bios would choose for a 128MB Compact flash please ? :)
--> Do you think the serdrive version I used was correct (Version 1.2.0_wip, Built Feb 3 2012) for XTIDE bios v2.0.0B3+ (2013-10-22) ? :)
 
Last edited:
--> Do you know what geometry XTIDE bios would choose for a 128MB Compact flash please ? :)
No, that depends on the specific drive.

--> Do you think the serdrive version I used was correct (Version 1.2.0_wip, Built Feb 3 2012) for XTIDE bios v2.0.0B3+ (2013-10-22) ? :)

Try the attached file instead.
 

Attachments

  • serdrive.zip
    29.8 KB · Views: 1
To continue discussion about "Norton Utilities Sysinfo benchmark" bug
http://www.vcfed.org/forum/showthread.php?52343-Anyone-Selling-XT-IDE-Cards&p=416853#post416853
http://www.vcfed.org/forum/showthread.php?19591-XTIDE-tech-support-thread&p=364313#post364313

I've found very intersting situation: XIUB 2.0.0beta v.591 compiled for NEC V20 (with USE_186 option)
DOES NOT HANG in the Norton Utilities Sysinfo benchmark.

NU SYSINFO just complains about "intellectual controller" and can't measure track-to-track seek time.

XIUB 2.0.0beta v.591 compiled for i8088 silently hangs.

Hence, "Norton Utilities Sysinfo benchmark" bug is a software bug specific for i8088 code.

 
Thank you Krille for your help, I managed to boot on dos 6.22, on which I can run all Amstrad original Dos 3.2 executables ! :D
All of following was done without using floppy disk drive, maybe it will help someone else :

Here is dos 6.22 HDD image I managed to create for my Amstrad CPC 1512 : https://www.dropbox.com/s/a6kkl9slr5o7ss0/Amstrad_1512_XTIDE_DOS622.zip?dl=1
You can either use Linux dd command to write it on CF, or use included serdrive.exe to boot from serial link. (keyboard is french, change "keyb fr" from autoexec.bat if needed)

Some things I discovered, when not having any floppy disk :
- XTIDE always boot on CF if CF is inserted
- If booting from serial port and providing floppy image and HDD image to serdrive, XTIDE will always try floppy first, which doesn't work.

- To boot on serial port drive :
- CF has to be removed and hold ALT during boot
- Run for example serdrive -b 115200 DOSHDD.img

- To boot on working CF and create a new HDD image with another OS from a floppy image :
- Run serdrive -b 115200 PartitionnedEmptyImageForNewOS.img NewOSFloppy.img and press ALT at boot
- Boot on CF, PartitionnedEmptyImageForNewOS will be d: and NewOSFloppy will be B:
- Use SETVER or similar to allow NewOSFloppy binaries to be executed
- Type B: to go to NewOSFloppy, use Fdisk/Format/Sys on d: to make PartitionnedEmptyImageForNewOS bootable with NewOSFloppy OS.
- Then CTRL+C serdrive, your PartitionnedEmptyImageForNewOS.img is now a HDD bootable image !
- Eventually, if Fdisk didn't allow to mark d: partition as active since there is one on c:, then put 0x80 at address 0x1BE with hexa editor, to make it active by hand.
- Now you can either dd image on compact flash and you will get your OS booting !​
 
To continue discussion about "Norton Utilities Sysinfo benchmark" bug
http://www.vcfed.org/forum/showthread.php?52343-Anyone-Selling-XT-IDE-Cards&p=416853#post416853
http://www.vcfed.org/forum/showthread.php?19591-XTIDE-tech-support-thread&p=364313#post364313

I've found very intersting situation: XIUB 2.0.0beta v.591 compiled for NEC V20 (with USE_186 option)
DOES NOT HANG in the Norton Utilities Sysinfo benchmark.

NU SYSINFO just complains about "intellectual controller" and can't measure track-to-track seek time.

XIUB 2.0.0beta v.591 compiled for i8088 silently hangs.

Hence, "Norton Utilities Sysinfo benchmark" bug is a software bug specific for i8088 code.

In my testing with Bochs I have found that SI is behaving very strange even with the XT build of XUB v1.1.5.

This is the result when benchmarking Hard Disk 1;
BenchingDisk1usingXUB115.jpg
The Data Transfer Rate is 0.0 KB/s which is obviously very wrong. Additionally, when benchmarking Hard Disk 2, there is no result at all. The program just moves on with calculating the Overall Perfomance Index and presents the results from that instead;
BenchingDisk2usingXUB115.jpg
If I select the "Hard Disk speed..." benchmark I get this;
HardDiskSpeedOnce.jpg
but if I immediately select the same menu option I get this;
HardDiskSpeedTwice.jpg
I don't know if all this is because of it running in Bochs, or if it's because of XUB or if it's just bugs in SI. If someone can reproduce this on a real machine we'll know for sure. It would be interesting to hear what Peter Norton has to say about all this. :)

BTW, I just love how the forum converts PNG images into JPG for some reason that completely eludes me and while doing that also resizes them down to thumbnail size for no reason whatsoever while ALSO doubling the file sizes. How hard can it be to disable this retarded image conversion crap?

Some things I discovered, when not having any floppy disk :
- XTIDE always boot on CF if CF is inserted
- If booting from serial port and providing floppy image and HDD image to serdrive, XTIDE will always try floppy first, which doesn't work.

I'm curious what you mean by "XTIDE will always try floppy first, which doesn't work."

Did you upgrade to the latest revision of XUB?

This is how it is supposed to work;
With interactive builds (that is, builds containing either or both of MODULE_BOOT_MENU and MODULE_HOTKEYS), the boot drive can be selected by using the menu or hotkey (drive letter) respectively. You can also use XTIDECFG to change the default boot drive with these builds. With non-interactive builds the boot order is fixed (first A then C). In other words, it will always try the first floppy first, then the first harddrive.

You didn't mention which build you are using so I'll just assume you're using the regular XT-build (which contains MODULE_HOTKEYS) in which case hitting D during the drive detection phase should make it boot from the serial hard drive *with* the CF card inserted. If the CF card has been removed and the serial hard drive is not bootable then it will try to boot from the first floppy drive (which might be the serial floppy if there is no real floppy drive).

Does this match what you're experiencing?
 
Last edited:
Hence, "Norton Utilities Sysinfo benchmark" bug is a software bug specific for i8088 code.
In my testing with Bochs I have found that SI is behaving very strange even with the XT build of XUB v1.1.5.

Bochs emulates a 386 or higher. The software bug exhibits with an 808x build. I don't think your Bochs testing was the right environment to reproduce the bug.

A hardware ICE might on the system where this happens may be the only way to actually debug this. Unfortunately, I've never come across any (Periscope, etc.) in all of my vintage computer travels.
 
Bochs emulates a 386 or higher. The software bug exhibits with an 808x build. I don't think your Bochs testing was the right environment to reproduce the bug.

The hangs can be reproduced in Bochs. I just wanted to point out that there are other potential problems with NU System Info and that they are not necessarily related to XUB v2. Besides, I don't have an 8088 machine to test with anyway (which is probably a bit surprising to hear considering how much time I spend tinkering with code for these old beasts).
 
Is it not Peugoet that the hang is the result of miss coding in NU SI, I.e. They never considered a 'caching' controller would be used on an XT, so the VPU could be hitting some later instructions in this case. We could try the BIOS running in a later machine perhaps.
 
I just tried running SI.EXE in Bochs without even loading XUB and when I select "Benchmarks | Hard Disk Speed..." it runs the benchmark twice without presenting any results. When finished, it displays the contents of CONFIG.SYS instead. If I start Bochs using the Debugger option and do the exact same thing it (SI) crashes to DOS with a division error.
 
Besides, I don't have an 8088 machine to test with anyway (which is probably a bit surprising to hear considering how much time I spend tinkering with code for these old beasts).

Quite! Do you need one? Shipping would be high but I do have several PC and XT compatibles that could use a home -- I also have some bare motherboards kicking around, that would be reasonable to ship and you could just use any regular AT power supply with them.
 
I personally do not see the point of getting to the bottom of Norton SI's buggy code. If Norton SI is crashing because the disk controller is too fast, what's the solution? Make the BIOS slower? I feel alecv's quest is folly.
 
Back
Top