View Single Post
Old 29 May 2021, 04:41   #6
FSizzle
Registered User
 
Join Date: Nov 2017
Location: Los Angeles
Posts: 49
Coming back to the Amiga after 20 years I wrote my first track loader a few years back and it was super fun. First writing it in C and then again in asm for my bootblock.

I think like anything low level on the Amiga, it is for you to decide if this sounds like a fun and interesting challenge or not.

Quote:
It seems like it would be pretty hard to put together a trackloader from scratch!
As phx mentions, the timings must all be right as per the HRM. The reason this is tricky is because while the HRM lists the timings very clearly, WinUAE is very tolerant of bad timings so doesn't help debugging this and it's very easy to write code that fails on real hardware (and even sometimes only on certain models) due to varying timings of the particular drive model.

The biggest gotcha however, I think, is one I ran into that caused sporadic problems only on real hardware and only very occasionally.
It was caused by an undocumented behavior (at least wrt the HRM) relating to how many syncwords will be present in your buffer once a read has completed. Trivial to manage when you know about it, but hard to debug when you don't. Again, this only happens on real hardware.

Finally, you need to be super careful about not stepping the motor incorrectly on some models as it can physically damage the drive. This sounds terrifying, but the good news is that this part can be perfected in the safety of an emulator before you get anywhere near the real thing
FSizzle is offline  
 
Page generated in 0.04439 seconds with 11 queries