iss wrote: ↑Sun Apr 01, 2018 10:33 pm
In the archive (together with described images in my previous post) you will find
'TeleBoot.rom'.
Use this ROM file as TeleBank7 in Oricutron.cfg or Euphoric.ini (leave other banks empty).
I've tested all possible combinations of Orics and FCD's and everything seams to work OK!
Pravetz FDC still slow, but I think I found the problem and will fix it asap.
testfbs.zip
Here is how B7 runs on Telestrat with TeleBoot.rom in Euphoric.
[...]
That is strange, because I am quite sure that version was tested in a Real Telestrat and it worked. Hummmm... in any case all the work done under the guidance of Fabrice to produce version 1.2 seem to work much better

I did not officially release this version because we are still hunting typos and Jasmin has not been tested on real hardware, but the routines are much more reliable now and they should work in any hardware combination, except the Pravetz, that is, which is still unsupported.
I guess what you did with the TeleBoot.rom is similar to what Fabrice did in the two disks I am attaching here. They include small programs which can be used to make Blake's 7 disk boot on a Telestrat. There is a version for those with the Stratoric cartridge and another one for Telemon (sorry if I am not naming the thing correctly here, I am a complete disaster when it comes to Telestrat)
And, no, you are not stupid

I completely failed to explain it, simply because I don't understand it either. The first byte of the first sector in track 0 should be 0 or Telemon won't boot the disk, while this same byte is NEVER zero for Microdisc+Atmos configurations.
So basically you cannot satisfy both conditions except whit Fabrice's Fantasmagoric trick. The thing is that, due the implementation of the loading code in Microdisc, Jasmin and Telestrat eproms, if you use 512-byte sectors, the Telestrat will load the second half of the sector overwriting the first part (I guess it uses indirection with y register and it overflows back to #0), while the Microdisc doesn't, so you can satisfy the non-zero byte for Microdisc and put the necessary zero (and other data) in the second 256-byte chunk, so after loading, Telemon boots the disk.
But I don't personally care if different versions of the game should be created. Supporting all the possible combinations on a single disk image is exhausting

What I really wanted is to keep just one dsk image for Microdisc, Cumana (Jasmin is a nice addition), or any modern device acting as such, and Oric 1/Atmos.
It is much better, in my opinion, that the code works with the bug in the Cumulus firmware, than that it supports the Jasmin in the same version, for instance. I could not find a single Orician with a Jasmin to test anyway.
I was tempted to remove all the fuzz needed to keep access to registers aligned to avoid the Telestrat bug for the same reason, and keep it only in a future Telestrat-only version, but when Fabrice told me that some old Microdiscs may have the same issue, I decided otherwise.
Another source of problems and big-size code was the attempt to drive the sector reading and writing with polling instead of using IRQs. Of course that is great for keeping music sounding (though with real devices as interrupts need to be disabled in critical sections, there are ugly pauses), but it complicates things a lot.