Page 2 of 3

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Sun Apr 08, 2018 10:48 am
by iss
In my opinion it's worth, because it's not marginal but "boutique stuff". ;)

EDIT: I'm starting to de-marginalize 8D hardware - with new one the number of users will be increased by 100% :D.
20180408_155723.jpg

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Sun Apr 08, 2018 2:25 pm
by Scalex
@@iss: you're right! The most important thing is to do what you like! We are all here just for fun anyway!

And there will be - at least - one other person interested in your work because I think the Pravetz 8D with a Disk II is just great!

Btw, source code for my second test is now available (https://github.com/Archange427/LOADZIC)

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Sun Apr 08, 2018 3:32 pm
by iss
Great sources! :)
One VIA specific thing: the value for timers must be '-2' for precise timings, i.e. #4FBA-2=#4FB8.
And this 1.0205 Mhz - I think it's apple][ clock, for Oric in my opinion it need to be exactly 1.0 MHz.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Sun Apr 08, 2018 3:48 pm
by Scalex
@@iss: yes 1.0205Mhz was for Apple II but I reused directly (lazy you say?!) the music data file I used for Apple II and frequencies were calculated for 1.025Mhz so I leave these value for the INT.

But honestly but I'm not sure that much changes the sound heard :D

Thanks for the -2 tip btw!
And to confirm that the Oric's clock was exactly 1.0Mhz. I looked for this info but did not find anything "convincing".
All the books say 1Mhz but that's also what most of the books said about the Apple II!

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Fri Apr 20, 2018 11:11 pm
by iss
Well, I finished the new controller and I'm very happy to say it works perfect!
On the right is old broken one FDC, on the left - the new beast (still with trimmers for fine adjusting of the MAP signal),
20180421_000450.jpg
And here is my version of the slideshow "as is" running on real hardware: :shock:


The real hardware is actually bit 'semi-real' - I'm using SDFloppy II emulator instead of real DISK][ floppy.
This device is very beautiful like everything else from a2heaven.

@Scalex: Unfortunately, none of your images are working. Both freeze after 0 sector.
I'll try to put some debug messages in your sources to locate the problem ;).

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Sat Apr 21, 2018 8:40 am
by Scalex
@iss : very nice job!

It's not a surprise that my two previous tests don't work as is on real hardware.
Because I used an interleaving to boot on Oricutron.
With such interleaving, the other sectors of track 0 cannot be loaded in the correct order from a real DISK II (or a SDFloppy II emulator).
But if I had used the right interleaving, the disks would not boot on Oricutron and since I do not have real material, the choice was obvious! :D

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Tue Apr 24, 2018 2:50 pm
by Scalex
Here is a "special build" of my first test (FASTLOAD with all these well known and fantastic images from the Oric scene) with a Track 0 interleaving to be able to load/run on a real machine (I hope and expect!).

https://github.com/Archange427/FASTLOAD ... oad_rm.dsk

@@iss : could you test it on your real hardware please?
Oh and do you plan to build several controller cards? ;)

note: of course, this DSK does not boot wtih Oricutron.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Tue Apr 24, 2018 11:13 pm
by iss
Well done - the "special build" works! I'll make a clip tomorrow.
But I noticed one bad effect - in an undetermined moment graphics mode is switched back to text :?, pictures continue to be loaded but the mode remains text. In ~90% of cases when this happens is the Oric-1 picture just loaded, but I don't think that we can blame this particular picture.
Is it possible that ULA parses an invalid (i.e. unfinished/not fully decoded/partial) byte and this triggers mode switch?
Actually I observed almost the same defect in my version and that's why I'm using temp buffer and copy to hires memory.

@Scalex: About the controller - do you have any DISK][ floppy drive with 20 wires ribbon cable (real and/or emulator) ?

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Wed Apr 25, 2018 9:59 am
by Scalex
iss wrote: But I noticed one bad effect - in an undetermined moment graphics mode is switched back to text :?, pictures continue to be loaded but the mode remains text. In ~90% of cases when this happens is the Oric-1 picture just loaded, but I don't think that we can blame this particular picture.
Is it possible that ULA parses an invalid (i.e. unfinished/not fully decoded/partial) byte and this triggers mode switch?
Actually I observed almost the same defect in my version and that's why I'm using temp buffer and copy to hires memory.
@iss : do you think it's a hardware or a software bug ?
it's weird. During my tests with Oricutron I never noticed such a issue.
But if it was a hardware problem (byte badly decoded) it should also randomly affect the code ...
And the fact that you do not use a real Disk II but a SD floppy also eliminates a physical problem on the floppy disk (defective sector on the 5.25 disk for example).
Any way to see the content of Hires memory when the issue occurs (to compare with the content that should normally be) ?
iss wrote: @Scalex: About the controller - do you have any DISK][ floppy drive with 20 wires ribbon cable (real and/or emulator) ?
No, I do not have any more Apple II stuff. It's a shame because not so long ago I had several DISK II!.
And I do not even have any Oric hardware currently.
So it was just a rhetorical question!
But your work on the controller board is really very interesting.
And even nowadays, the Disk II / Oric "couple" could be an interesting alternative thanks to the SD Floppy which would simplify the transfer problems.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Wed Apr 25, 2018 9:08 pm
by ThomH
iss wrote: Sat Apr 07, 2018 11:20 pm The emulation in Oricutron is very far from perfect, I added it to be able to run DOS-8D and some interesting old software and until now there was no demand for something better, but this will change and I think to add NIB support, which will provide as side effect the possibility to use any interleave. Also I think to add support of images with more than 35 tracks (maybe fixed to 40 and 80), my opinion about sectors is to leave them fixed to 16, still thinking how to implement emulation of double-side images... any ideas are welcome and highly appreciated!
I'm busy adding the Apple II to CLK, so assuming I can figure out how the Pravetz ROMs are intended to page (?), there is likely to be 8D support in an upcoming release. I'm doing a full execution of the Disk II state machine, so hopefully it'll end up being reasonably accurate.

I've not found NIB to be a fantastic file format — it leaves syncs as implicit, so you're left applying your own heuristics to try to place those. Which means every emulator can produce a different result. I think somebody hard-coded the assumption that emulators wouldn't really want to emulate, just spool, which creates a huge amount of work if you want your emulator to emulate and means that the range of disks it can convey which Apple-style DSK cannot is very limited: sectors in any order, including cross-track synchronisation is probably about it.

If possible, skip straight to WOZ. That's actually the only one I currently have even close to implemented; I'm planning to verify my Disk II, then tackle NIB as best I can, then hopefully have achieved enough awareness of nibbilisation to be able to handle DSKs. The author of the file format is very approachable and has supplied a bundle of test images, and it has all been very straightforward so far.

WOZes are just a direct bit stream, with quarter-track* resolution. Most of the document is about trying to talk emulator authors into properly modelling the hardware.

* as can be reached on a Disk II by activating multiple stepper phases simultaneously.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Thu Apr 26, 2018 8:43 pm
by iss
Thanks for the rich info about NIB and WOZ image formats, ThomH!
The minimum I wish to add to Oricutron is support of any sector interleave. Else I think it's not worth to add half- and quarter-track positioning ability and all that stuff which in the Apple's world is used for different protection schemes - simply this is one new universe....

@Scalex: Here is the video with the HIRES problem:

I think the problem is really in the nibbles decoding - in one moment ULA catches partially decoded byte which by coincidence is TEXT mode switch. The only idea I have is to use a temp buffer.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Thu Apr 26, 2018 9:11 pm
by Scalex
@iss: Yes, you're probably right. I finally understood what you meant. I'm a little slow, sorry :D
By using the hires memory for decoding buffer, we meet this kind of issue!
So not a bug... a feature ? ;)

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Thu Apr 26, 2018 9:31 pm
by iss
So no a bug... a feature ? ;)
Sure! The most important thing is always to think positively :).

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Fri Apr 27, 2018 2:55 pm
by ThomH
iss wrote: Thu Apr 26, 2018 8:43 pm Thanks for the rich info about NIB and WOZ image formats, ThomH!
The minimum I wish to add to Oricutron is support of any sector interleave. Else I think it's not worth to add half- and quarter-track positioning ability and all that stuff which in the Apple's world is used for different protection schemes - simply this is one new universe....
Even without needing extra precision in track placement, I'd still argue in favour of WOZ on the grounds that a track stored in a NIB is the same thing as a track stored in a WOZ except that a whole bunch of 0 bits have been omitted and it's up to you to guess how to put them back in. WOZ just lists all the bits. I think NIB is advantageous only if you want to be able to get away with an implementation where reading the shift register just directly spools a whole byte from the file.

So, a directly-relevant consequence is:
  • to write a WOZ to a real disk, just spool the bytes to the shift register at the usual once-every-32-cycles rate;
  • to write a NIB to a real disk, perform some guesswork* to try to identify the sync bytes, then remember to wait an extra 8 cycles after writing each.
I'm going to endeavour to support both though, so do whatever you think is appropriate.

* I'm marking all FFs that immediately precede a D5 AA as sync. So I'm effectively locking my support down to disks that used an encoding with the same reserved words as DOS. I think that sort of approach must not be uncommon, since many games have to be cracked to be usable as a NIB. My top tip: if games have to be cracked to work in your container, it's not an accurate representation.

Re: FastBoot/FastLoad on Pravetz 8D/Disk II

Posted: Fri Apr 27, 2018 9:13 pm
by Dbug
iss wrote: Thu Apr 26, 2018 8:43 pmI think the problem is really in the nibbles decoding - in one moment ULA catches partially decoded byte which by coincidence is TEXT mode switch. The only idea I have is to use a temp buffer.
So your system loads the lower 4 bits first, then the higher 4 bits?
Maybe you could just ensure that the bit 6 is forced to one when you have your partial value, this way you are guaranteed that there will be no attribute being mistakenly present in video memory.