|
Prev: Reading a directory
Next: What use Commodore For!!!
From: xlar54 on 20 Jul 2006 23:14 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 21 Jul 2006 09:22 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 21 Jul 2006 20:17 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 22 Jul 2006 01:36 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 22 Jul 2006 02:53
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 |