[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Virtual serial drive
David Schmidt <schmidtd@my-deja.com> wrote:
> On 9/14/2012 2:21 PM, Michael J. Mahon wrote:
>> David Schmidt <schmidtd@my-deja.com> wrote:
>>> On 9/14/2012 1:35 PM, Michael J. Mahon wrote:
>>>> David Schmidt <schmidtd@my-deja.com> wrote:
>>>>> On 9/13/2012 6:19 PM, Sean Fahey wrote:
>>>>>> On Thursday, September 13, 2012 1:34:20 PM UTC-5, Michael J. Mahon wrote:
>>>>>>
>>>>>>> Be careful--the next logical step is having your IIc just be a terminal for
>>>>>>> an emulator running on the PC. And the serial link is too slow for
>>>>>>> graphics!
>>>>>>>
>>>>>>> I do like the idea of getting the time/date with each vdisk access...
>>>>>>
>>>>>> Well... let's toy with this idea. Why not a small form factor machine,
>>>>>> like a Raspberry Pi or similar mini 'PC' that could provide HD
>>>>>> partitions (and/or disk serving), clock functions (at least date and
>>>>>> time stamping) and serial to ethernet connectivity at the same time?
>>>>>> That's the kind of love the //c (and IIc+) could benefit from.
>>>>>>
>>>>>> Until the SPVHD is shipping again (it's supposed to be getting a clock
>>>>>> driver too), a serial solution may be the only viable option for a long time.
>>>>>
>>>>> Is there a protocol for transporting the date/time somewhere I can look
>>>>> at? Is there maybe a status request I can implement or something?
>>>>
>>>> I'd suggest putting it into every vdisk protocol packet from the host in
>>>> 4-byte ProDOS format. Then the client could just copy it to the ProDOS
>>>> global page.
>>>
>>> That's straightforward. Does it have to be every disk access - or could
>>> it happen at initialization time and be done?
>>
>> Ideally every block read. Then the time-date stamps would all be accurate
>> to the second, and any program wanting the info could just pick it up from
>> the global page.
>>
>> I suppose the frequency of transferring the date bytes could be reduced,
>> but it's only two bytes--and then there's the conditional code to deal with
>> midnight,,, Better to keep it trivial. ;-)
>
> Ok, I implemented a protocol change that sets the date/timestamp on every
> block read. Works quite nicely, as you suggested. I'm not going to
> re-benchmark, because I again don't want to know. :-) there's some more
> code going on - more checksum computation, more conditionals (only update
> time when checksums match), so it'll be a little slower. But it's a
> pretty neat feature to have. Good job, all!
I figured you already had a code path for "checksum OK", so no additional
path would be necessary.
> Oh, and I fixed the processor status bit pollution I was getting on the
> Uthernet side. Your medical and financial records are once again as safe
> on UDP as they are on Serial. Which is to say not very. ;-)
>
> You'll get these updates on the next release, which may be next year, or
> may be next weekend. Let's see what else you come up with.
Very nice!
-michael - NadaNet 3.1 and AppleCrate II: http://home.comcast.net/~mjmahon