[Coco] Superboard discussion: Serial EEPROM

Boisy G. Pitre boisy at boisypitre.com
Sun May 2 12:49:48 EDT 2004


On May 2, 2004, at 11:31 AM, Bob wrote:

>
> --- "Boisy G. Pitre" <boisy at boisypitre.com> wrote:
>>
>> On May 1, 2004, at 12:51 AM, Bob wrote:
>>
>>> Okay, I haven't added much to it, but just wanted to put this initial
>>> map out
>>> there to get some feedback.
>>>
>>> [8 bytes - VROM 1 label]
>>> [8 bytes - VROM 2 label]
>>> [8 bytes - VROM 3 label]
>>> [8 bytes - VROM 4 label]
>>> [8 bytes - VROM 5 label]
>>> [8 bytes - VROM 6 label]
>>> [8 bytes - VROM 7 label]
>>> [8 bytes - VROM 8 label]
>>> [1 byte  - VROM default select]
>>> [1 byte  - startup preferences  stjjccmm]
>>>    bit 7    s  = speed        0=low 1=hi
>>>    bit 6    t  = hires type   0=Tandy 1=CoCoMax3*
>>>    bits 4-5 jj = joystk pref  0=ask 1=L 2=R 3=hires*
>>>    bits 2-3 dd = column pref  0=32 1=40 2=80
>>>    bits 0-1 mm = monitor      0=ask 1=cmp 2=rgb (3=mono?)
>>
>> Bob,
>>
>> Looks good so far, however, can you explain how the 'ask' feature of
>> the joystick and monitor preferences will work?  Is this really 
>> needed?
>>
>
> Not so much a feature as a default if no preference is set by the 
> user. Actual
> values depend on whether the EEPROM is filled with 0's or 1's 
> initially (out of
> the box).
>
> Current software always asks "Are you using an RGB monitor?" or 
> similar.
> Software that knows about the EEPROM can read the value and if it 
> hasn't been
> defined by the user (all 0's or all 1's) then the program should still 
> ask,
> unless you just want to assume one or the other. Reasonable?

Perhaps, but I don't believe it is necessary.  The first thing one 
should do when receiving the SuperBoard is to configure the system 
using a supplied program whose name is yet to be determined 
(CONFIG.BAS?)  This will ask the questions needed to set up the Serial 
EEPROM.  Once that's done, the programs that wish to access the 
configuration data assume that it is correct.

So the Configuration Byte would be:
    bit 7    s  = speed        0=low 1=hi
    bit 6    t  = hires type   0=Tandy 1=CoCoMax3*
    bit 5    j = joystk pref  1=L 2=R 3=hires*
    bits 4-3 dd = column pref  0=32 1=40 2=80 (extra possible value here)
    bit 2 m = monitor      0=cmp 1=rgb

That leaves bits 1 and 0 for anything else we can think of..

> One for you... if we wanted to store an alarm time (based on the 
> Superboard
> with RTC), how many bytes would be required? Assume a date-specific 
> alarm, so
> we can set one-time events or repeating alarms (say every day, week, 
> month or
> ?)
>
I would think 6 bytes (year, month, day, hour, min, second) would be 
minimum requirements, but I'm not sure if such a thing wouldn't be 
considered part of a user defined area.




More information about the Coco mailing list