[comp.sys.cbm] Burst Mode on C-64 ?

bjh@mtgzz.UUCP (XMRN40000[tls]-b.j.hudson) (05/20/88)

I have a 1581 3.5" Drive to use with a C-64. [for Amiga transfers]
It is capable of fast and burstmode operation with a C-128.
Has anyone seen the Burst Mode U4 ROM replacement for the C-64 from
Chip-level Design ?  I thought hardware modifications were required ?
If it is kernal changes only, might GEOS include C-64 burst-mode in
their yet-to-be-released 1581 support ?        .....BJ

wcf@psuhcx.psu.edu (Bill Fenner) (05/22/88)

In article <4110@mtgzz.UUCP> bjh@mtgzz.UUCP (XMRN40000[tls]-b.j.hudson) writes:
|I have a 1581 3.5" Drive to use with a C-64. [for Amiga transfers]
|It is capable of fast and burstmode operation with a C-128.
|Has anyone seen the Burst Mode U4 ROM replacement for the C-64 from
|Chip-level Design ?  I thought hardware modifications were required ?
|If it is kernal changes only, might GEOS include C-64 burst-mode in
|their yet-to-be-released 1581 support ?        .....BJ

Anybody want to tell me why this belongs in news.groups?

-- 
   __      _  _      _____   Bill Fenner     Bitnet: wcf @ psuhcx.bitnet
  /  )    // //       /  '                   Internet: wcf @ hcx.psu.edu
 /--<  o // //     ,-/-, _  __  __  _  __    UUCP: ihnp4!psuvax1!psuhcx!wcf
/___/_<_</_</_    (_/   </_/ <_/ <_</_/ (_   Fido: Sysop at 263/42

elg@killer.UUCP (Eric Green) (05/22/88)

in article <4110@mtgzz.UUCP>, bjh@mtgzz.UUCP (XMRN40000[tls]-b.j.hudson) says:
> I have a 1581 3.5" Drive to use with a C-64. [for Amiga transfers]
> It is capable of fast and burstmode operation with a C-128.
> Has anyone seen the Burst Mode U4 ROM replacement for the C-64 from
> Chip-level Design ?  I thought hardware modifications were required ?
> If it is kernal changes only, might GEOS include C-64 burst-mode in
> their yet-to-be-released 1581 support ?        .....BJ

I suspect that ROM is similiar to the Super Snapshot cartridge from
LMS Technologies, which uses a software fastload/fastsave routine
(basically, treating the 1581 like a giant 1541 with more tracks/sectors). 

To do true fast and burst mode operations, you need hardware modifications. In
particular, you need a 6526, and you need bus buffer chips for turnaround of
the 6526 shift register. You can grab the 6526 shift register pins off of the
user port, and you need one data line for the turnaround. Then you need a
replacement ROM to drive this hardware... actually, the software is the
hardest part (most folks who do this sort of thing blow off the cassette
routines to make room in the ROM for whatever). Commodore never did document
the serial protocol, as far as I know, except for some cryptic waveform
diagrams in the back of the C64 PRG. With that diagram, and the disassemblies
in the Abacrap books, you can functionally duplicate the protocol, but,
beware, there's weird timing "gotcha's" all over the place....

I think there is someone who REALLY has burst mode, out there on the market at
this very moment... but, don't ask me who or where. With the dwindling sales
and availability of the C-64, I'm beginning to believe the people who say "The
64 is dying! The 64 is dying!".

--
    Eric Lee Green                     {cuae2,ihnp4}!killer!elg
         Snail Mail P.O. Box 92191 Lafayette, LA 70509              
"Is a dream a lie that don't come true, or is it something worse?"

ross@ziebmef.uucp (Ross Ridge) (05/28/88)

In article <4146@killer.UUCP> elg@killer.UUCP (Eric Green) writes:
>in article <4110@mtgzz.UUCP>, bjh@mtgzz.UUCP (XMRN40000[tls]-b.j.hudson) says:
>> I have a 1581 3.5" Drive to use with a C-64. [for Amiga transfers]
>> It is capable of fast and burstmode operation with a C-128.
>> Has anyone seen the Burst Mode U4 ROM replacement for the C-64 from
>> Chip-level Design ?  I thought hardware modifications were required ?
>> If it is kernal changes only, might GEOS include C-64 burst-mode in
>> their yet-to-be-released 1581 support ?        .....BJ
>
>To do true fast and burst mode operations, you need hardware modifications. In
>particular, you need a 6526, and you need bus buffer chips for turnaround of
>the 6526 shift register. You can grab the 6526 shift register pins off of the
>user port, and you need one data line for the turnaround. Then you need a
>replacement ROM to drive this hardware... actually, the software is the
>hardest part 
 
On a local BBS we had a discussion about burst mode on the 64. We thought the
biggest problem would be be the hardware modifications, but our goal was to
be able to do it through software only. The CIA's (6526) serial port *could*
be emulated through software (side note: the 64 can go as high ar 4800 baud
or 7200 half-duplex if you completely re-write the RS232 routines) however
burst mode used serial line that wasn't connected on the 64...
 
>I think there is someone who REALLY has burst mode, out there on the market at
>this very moment... but, don't ask me who or where. With the dwindling sales
>and availability of the C-64, I'm beginning to believe the people who say "The
>64 is dying! The 64 is dying!".
 
Actualy supposedly Commodore sold one million 64's last year, although not as
high as at the peak of microcomputer boom, not too shaby either (can anybody
else claim higher unit sales?). And availablity of Commodore products has
always been a problem.


-- 
 l/                  {uunet!mnetor!lsuc,utgpu}!ncrcan!ziebmef!ross      //
[OO]                or just call me Ross for short...                   [oo]
-()-                                                                    -()-
 db                     6502 assembly forever!                          //

elg@killer.UUCP (Eric Green) (05/31/88)

in article <1988May27.175829.5648@ziebmef.uucp>, ross@ziebmef.uucp (Ross Ridge) says:
> On a local BBS we had a discussion about burst mode on the 64. We thought the
> biggest problem would be be the hardware modifications, but our goal was to
> be able to do it through software only. The CIA's (6526) serial port *could*
> be emulated through software (side note: the 64 can go as high ar 4800 baud
> or 7200 half-duplex if you completely re-write the RS232 routines) however
> burst mode used serial line that wasn't connected on the 64...

Note that bit-rate for each byte during burst mode is 250,000 baud, not 4800
baud. Burst mode is FAST. With the 1581, which reads data off disk at a
reasonable rate, the 128 is almost as useful as a real computer.

You'll never do it in software. In particular, the 1581, in fast mode or burst
mode, clocks data out at 250,000 baud. No software in the world is going to be
able to sample fast enough to cope with that. Hardware is necessary. Period.
If you are doing true burst mode, and not just a software fastload/fastsave
routine. 

--
    Eric Lee Green                     {cuae2,ihnp4}!killer!elg
         Snail Mail P.O. Box 92191 Lafayette, LA 70509              
"Is a dream a lie if it don't come true, or is it something worse?"

leblanc@godzilla.ele.toronto.edu (Marcel LeBlanc) (06/01/88)

In article <4241@killer.UUCP> elg@killer.UUCP (Eric Green) writes:
>in article <1988May27.175829.5648@ziebmef.uucp>, ross@ziebmef.uucp (Ross Ridge) says:
>> On a local BBS we had a discussion about burst mode on the 64. We thought the
>> biggest problem would be be the hardware modifications, but our goal was to
>> be able to do it through software only. The CIA's (6526) serial port *could*
>> be emulated through software (side note: the 64 can go as high ar 4800 baud
>> or 7200 half-duplex if you completely re-write the RS232 routines) however
>> burst mode used serial line that wasn't connected on the 64...
>
>Note that bit-rate for each byte during burst mode is 250,000 baud, not 4800
>baud. Burst mode is FAST. With the 1581, which reads data off disk at a
>reasonable rate, the 128 is almost as useful as a real computer.
	8-)   It IS a real computer !   8-)	   ^^^^^^^^^^^^^
>You'll never do it in software. In particular, the 1581, in fast mode or burst
>mode, clocks data out at 250,000 baud. No software in the world is going to be
>able to sample fast enough to cope with that. Hardware is necessary. Period.

	I agree that software can't compete with hardware for raw speed, but
it is indeed possible to transfer data at very high rates over the commodore
serial bus (even at BURST speeds!).  The first thing thing that must be
pointed out is that the 250,000 bps BURST transfer rate is nowhere near the
effective file transfer rate using present commodore burst software.  Using
the commodore burst protocol, the CLK bit must be toggled (by software)
after each byte transfer.  During this time, the bus is idle.  The result is
a very short period of very high speed transmission (for a single byte),
followed by a relatively longer idle period where only the CLK bit is
toggled.  Also consider that although the 1581 is very fast because it makes
use of a disk cache, some time is required to read each half track into the
cache, then transfer sectors from the cache to the file buffers before each
sector is transmitted to the C128 (assuming LOAD operation).  It turns out
that the effective transfer rate for LOAD operations using a 1581 is only
about 50,000 bps, or 6Kbytes/sec (still much higher than 4800 baud).
	The point of this posting is to point out that the SAME speed or
faster can be achieved on a vanilla C64 using only special software.  The
1581 turbo LOAD routines on Super Snapshot V3.0 (using a C64) are the same
speed as BURST loading with a C128 & 1581 (turbo SAVE is faster with SS V3.0
than with C128 BURST save).  In more concrete terms, this means that you can
load a 202 block file on a C128 or C64+SS(V3.0) from a 1581 in 9 seconds.

...
>If you are doing true burst mode, and not just a software fastload/fastsave
>routine. 

	The C128 kernal only supports BURST mode for loads and saves.  For
other types of transfers, either fast serial or slow serial transfers are
supported (in the case of the 1581, this will always be fast serial).  I
don't find that fast serial is a significant speed improvement over slow
serial.  It doesn't even come close to the speed of BURST transfers.
Although other specialized types of BURST transfers are supported, these
require custom software.

>    Eric Lee Green                     {cuae2,ihnp4}!killer!elg

  Marcel A. LeBlanc
  University of Toronto -- Toronto, Canada
  also: LMS Technologies Ltd, Fredericton, NB, Canada

CSNET:	leblanc@godzilla.ele.toronto.edu   CDNNET: <...>.toronto.cdn
UUCP:	{decvax,ihnp4,linus,utzoo,uw-beaver}!utcsri!godzilla.ele!leblanc
ARPA:	leblanc%godzilla.ele.toronto.edu@relay.cs.net
BITNET:	leblanc@godzilla.ele.utoronto (may not work from all sites)

ross@ziebmef.uucp (Ross Ridge) (06/05/88)

In article <4241@killer.UUCP> elg@killer.UUCP (Eric Green) writes:
>in article <1988May27.175829.5648@ziebmef.uucp>, ross@ziebmef.uucp (Ross Ridge) says:
>> On a local BBS we had a discussion about burst mode on the 64. We thought the
>> biggest problem would be be the hardware modifications, but our goal was to
>> be able to do it through software only. The CIA's (6526) serial port *could*
>> be emulated through software (side note: the 64 can go as high ar 4800 baud
>> or 7200 half-duplex if you completely re-write the RS232 routines) however
>> burst mode used serial line that wasn't connected on the 64...
>
>Note that bit-rate for each byte during burst mode is 250,000 baud, not 4800
>baud. Burst mode is FAST. With the 1581, which reads data off disk at a
>reasonable rate, the 128 is almost as useful as a real computer.
>
250 000 baud? That's almost 32k a sec. and as I understand it burst mode is
only slightly faster than improved serial bus the 128/1571 uses. Hmm... 
at that rate the CPU only has 64 cycles (at 2MHz) to do something with the
byte its recieved before it has to get the next byte. Kinda cutting
it close. Maybe your right, but there were some people in the discussion
who would've know all about burst mode, and nothing like 250 000 baud
came up. Oh, well I suppose it's a bit trivial anyways, I don't think
anyone's going to do it, because it would probably simpler just to get a
128.

-- 
 l/                  {uunet!mnetor!lsuc,utgpu}!ncrcan!ziebmef!ross       //
[OO]                or just call me Ross for short...                   [oo]
-()-                                                                    -()-
 db                     6502 assembly forever!                           //

elg@killer.UUCP (Eric Green) (06/07/88)

in article <1988Jun5.024514.28021@ziebmef.uucp>, ross@ziebmef.uucp (Ross Ridge) says:
> In article <4241@killer.UUCP> elg@killer.UUCP (Eric Green) writes:
>>in article <1988May27.175829.5648@ziebmef.uucp>, ross@ziebmef.uucp (Ross Ridge) says:
>>Note that bit-rate for each byte during burst mode is 250,000 baud, not 4800
>>baud. Burst mode is FAST. With the 1581, which reads data off disk at a
>>reasonable rate, the 128 is almost as useful as a real computer.
>>
> 250 000 baud? That's almost 32k a sec. and as I understand it burst mode is
> only slightly faster than improved serial bus the 128/1571 uses. Hmm... 

The BIT rate is 250,000 baud (the fast-mode routines shove a "4" into the
timer which provides the shift-register clock). 

Actual throughput is much less, because between each byte, a sizable amount of
time must be spent handshaking. However, because the disk drive shoves data
out its serial port at that bit rate, you must still be capable of reading a
single byte of data at that bit rate. The 6526's serial shift register can do
that. Your software never will.

As for the speed of burst mode: It is considerably faster than "fast mode",
because it has much less handshaking overhead. For example, one test I did was
loading Nezterm (a 200-block file). Took about 20 seconds in fast-mode. Took 8
seconds in burst mode. Try it yourself. Write a tight, clean assembly-language
program which does nothing but read bytes from the file, in fast-mode. Then do
a burst-mode load. The principle is the same (all that the "load" routine
does, in the absense of burst mode, is read bytes from the file one-at-a-time
and shove'em into RAM).

--
Eric Lee Green    ..!{ames,att,decwrl,ihnp4,mit-eddie,osu-cis}!killer!elg
          Snail Mail P.O. Box 92191 Lafayette, LA 70509              
"Is a dream a lie if it don't come true, or is it something worse?"