• Please review our updated Terms and Rules here

8088 Corruption Pauses with XT/IDE

pearce_jj

Veteran Member
Joined
May 14, 2010
Messages
2,808
Location
UK
Evening,

Running 8088 corruption on an IBM 5155, it works but pauses every so-often, XT/IDE activity light flickering away. I thought it might be a slow SD card, but it's the same on a real IDE drive.

I wondered if this is normal for XT/IDE?

Cheers!
 
Same behavior in a 5150 PC with 640KB RAM and ATI Small Wonder, tried with microdrives and compact flash cards. The same drives in a TurboXT clone board with a 8088 at 8 MHz plays the video without pauses.

I think the lack of DMA transfer in XTIDE makes a big performance drop for this demo.
 
i believe this demo was designed specifically for a stock IBM 5160 with CGA and a SB 1.0 card? I may be mistaken, but that would come down to timings. I think 8088 Corruption is timed to a floppy and a stock IBM controller
 
Many thanks for the replies. ChuckG - sorry I've missed that, could you elaborate or post a link?
 
The pauses you are experiencing is when the 8088 Corruption program buffers new data. Initially it buffers as much as it can, and continously fetches new data between frames. As the XT-IDE is quite slow (around 85KB/s), it will not be able to refill the buffer in the same speed the buffer is emptied. When the buffer is empty, the entire buffer is refilled and you get the pause.

The video itself requires 60KB/s at 30fps, but that's only if data can be fetched without break. In a 5150/5160, updating the screen steals away quite some time, which increases the requiered transfer rate to at least over 100KB/s.
 
Excellent, I'll give this a whirl with a spare card and post back. From the numbers posted above and in that thread it looks hopeful.
 
I'm having troubling flashing the boards using Flash /i : oprom.bin /s /o : D400 /b : 0300 - it's coming back with this:

Verify failed, unexpected byte found at the following addresses:
D400:000C 00<>0A
D400:000B 00<>30
D400:000A 00<>E9
D400:0009 00<>35
D400:0008 00<>AA
D400:0007 00<>31
D400:0005 00<>32
D400:0004 FF<>07
D400:0003 E9<>2F
D400:0001 AA<>30

Was the same a D000. What am I missing?

NB I added spaces in the command byt the colons because it was converting them to faces.
 
Maybe the ROM needs to be written out before the address lines are switched? I'll give that a go looking at the data - 0x1 would be 0x8 and 0x3 would be 0xA - they actuals and expected's tally for those two in the error list.
 
That wouldn't make any sense unless you wrote the "swapped" (_s) version before switching lines. (But you can try it that way, since you have two boards).
 
Glitch has been playing with this--apparently when you swap address lines, it breaks Hargle's flash utility. You might want to see what he's done, as he's figured a way around it.
 
If I can get the source code to Hargle's utility, I'd be happy to see what's going on.

The EEPROM problably has its data-protection active, which will prevent data from being written. This is problably the issue you are experiencing, and it's quite difficult to fix after the address lines have been swapped; as the locations you have to access to disable the writeprotection thereby changes. The only way to solve it is to write a custom program to write to the given locations as of after the address swap in order to turn off the dataprotection.

And just a note; there will be pagewrite issues if any of the model-spesific faster modes are used for flashing an EEPROM with disabled dataprotection. When swapping address lines, a "regular" pagewrite by the CPU will break page boundaries within the EEPROM. Just use the flasher without any model-spesiffic parameters, and it should write the data one-by-one byte.
 
Last edited:
OK thanks very much indeed for the replies. So if I swap the lines back and write out the _s code, then remove the board and reinstate the swap, all should be good?
 
That will do it--of course, if you've got a second unmodified XTIDE, you can use it to program the _S file and then just swap the PROM back the modified board.

Or use an EPROM programmer...
 
grrr... can't program _s with Hargle's utility either... "Error, Signature not found!".
 
the flash utility was written by per. i have some source for it, but it might not be the latest. per, have it handy?
 
Back
Top