From: xlar54 on
I know you can change the location of the RS232 buffers on the 128, but
can you change the size of it?

From: christianlott1 on

xlar54 wrote:
> I know you can change the location of the RS232 buffers on the 128, but
> can you change the size of it?

Not sure about the 128 exactly, but on the 64 you can.

From: Craig Taylor on

christianlott1 wrote:
> xlar54 wrote:
> > I know you can change the location of the RS232 buffers on the 128, but
> > can you change the size of it?
>
> Not sure about the 128 exactly, but on the 64 you can.

I saw in the kernel where the buffer size was hard-coded to apparently
an 8 byte circular buffer. How, other than modifying the kernel(or C=
world: kernal) can you adjust the size? The 128 appears to be using
the same set of routines / just different low memory locations.

Thanks,

- Craig Taylor
http://www.ctalkobt.net/cbm

From: xlar54 on
Hey Craig - thanks for looking that up. Brings up the question then,
can the kernal be redirected, so that the size can be changed?

> I saw in the kernel where the buffer size was hard-coded to apparently
> an 8 byte circular buffer. How, other than modifying the kernel(or C=
> world: kernal) can you adjust the size? The 128 appears to be using
> the same set of routines / just different low memory locations.
>
> Thanks,
>
> - Craig Taylor
> http://www.ctalkobt.net/cbm

From: Craig Taylor on
xlar54 wrote:
> Hey Craig - thanks for looking that up. Brings up the question then,
> can the kernal be redirected, so that the size can be changed?
>

The easiest way on the C64 is to simply copy ROM to RAM and then switch
out the kernel. For the 128 it would be a bit tougher -> probably have
to revector those kernel routines that are available for re-vectoring
to manually handle the increased buffer size.

Looking up the RS-232 routines in Tool Kit: Kernel does show that my
reading of the kernal was incorrect - it appears that the RS-232 uses 2
256 byte buffers - one for input, one for output from the top of basic
RAM memory.

The Open Logical File for RS-232 Device F409/F4C7 (64/Vic-20) would
need to be changed to increase the allocation size of the buffers that
are allocated from the top of Basic RAM.

Get Character from RS-232 Recieve Buffer - F086/F14F - Change routine
in general to use a 16-bit pointer and perform size checking.

Store Byte Recieve into Buffer (EF92/F06F) - Stores received byte into
receive buffer. On oversize, toss byte. Fall into check parity @
EFB3/F08B.

Store Character in Transmit Buffer ( F014 / F0ED ).

.... It's looking like more fun than I thought it would be...

- Craig Taylor
http://www.ctalkobt.net/cbm

 |  Next  |  Last
Pages: 1 2 3
Prev: Reading a directory
Next: What use Commodore For!!!