Date : Thu, 21 Oct 2004 14:41:44 +0000
From : "W.Scholten" <whs@...>
Subject: serial speed
L.S.
This was in my tmp box for ages (more than 1.5 years!), in unfinished
form as I just don't get around to it. Comments welcome but I may
respond with a long delay.
=====================================
Having finally completed bbccom with block protocol v2 a few notes:
- serial speed using os_byte calls is abominable. It was about 100
bytes/s (which is the reason the version with block protocol lay around
unused for 2 years), and in OSCLI mode (each key-input/character-out is
wrapped in a serial packet, so no arbitray string checks) the screen
output crawls.
- changing back to the original method of oswrch/osrdch speed with
small packets (128 bytes), is about 660 B/s PC->BBC, 590 B/s BBC->PC
(both rather low, and I may need to fix some code in get_file).
- changing back to oswrch/osrdch thus speeds it up again (the original
bbccom transfers about 940 B/s; as above these are effective speeds,
including disc access), but it means I can't implement some more
complicated protocol that won't hang and still uses all the buffer
available (similar to non-blocking read/writes on unix). This might be a
downside to the BBC: you're dependant on the OS calls for hardware
access and when they're slow, you're screwed. I've heard of 30000+
bits/s on a C64 which has a 1MHz 6502...
=====================================
Notes: Block version v1 of bbccom was ready in the slow 100 B/s os_byte
method for far longer, 2.5 years ago (possibly more). You can see why I
was not inclined to switch from the superfast single block version
(940B/s often and 959-960 B/s for long files)...
Regards,
Wouter
--
BBC/Atom/magazine scans:
http://8-bit.summerfield-technology.co.uk/