Hardware board version and setup readout

If you have feature requests, this is the place to post them. Please note your idea may already be something we have already discussed and decided against, or something we are working on privately, and we cannot be held responsible for any similarities in such instance. Whilst we cannot respond to every suggestion, your idea will be read and responded to where possible. Thank you for your input!
Post Reply
neutrino
Posts: 182
Joined: Wed Oct 19, 2022 5:26 pm

Hardware board version and setup readout

Post by neutrino »


Maybe some register could be reserved as a read-only to find out which board version the software is running on such that bug workarounds can be configured on the fly? If this is a strict hardware function even the kernal can use this to workaround hardware bugs.

So.. read $XXXX => board v1.1 => capacitance bug on D4-D5 to the sound chip. Use delay when accessing etc.

And maybe something like "Got 3x 6581, 0x IEC, 1x Parallel" etc. So if the board is missing IEC, then no software needs to wait for it. And music software can automatically configure for 3x SID.

 

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Hardware board version and setup readout

Post by BruceMcF »



On 10/19/2022 at 8:06 PM, neutrino said:




Maybe some register could be reserved as a read-only to find out which board version the software is running on such that bug workarounds can be configured on the fly? If this is a strict hardware function even the kernal can use this to workaround hardware bugs.



So.. read $XXXX => board v1.1 => capacitance bug on D4-D5 to the sound chip. Use delay when accessing etc.



And maybe something like "Got 3x 6581, 0x IEC, 1x Parallel" etc. So if the board is missing IEC, then no software needs to wait for it. And music software can automatically configure for 3x SID.



First, this might not be an issue. If the Beta production units do not reveal any major problems, that could be the stable reference design. If they do reveal a major problem, their first choice would likely be to fix the problem before main production begins.

Second, register on what? That doesn't sound like it's commercially practical when you consider that this register would be implemented in 74xx glue logic. A magic location in the ROM with a board version value would be more plausible.

 

neutrino
Posts: 182
Joined: Wed Oct 19, 2022 5:26 pm

Hardware board version and setup readout

Post by neutrino »


It could be implemented within any existing FPGA on the board. Or perhaps as a serial EEPROM on the same bus the RTC uses etc.

By knowing the hardware revision, kernal and other software can workaround problems. Be it beta or production boards.

 

Wavicle
Posts: 288
Joined: Sun Feb 21, 2021 2:40 am

Hardware board version and setup readout

Post by Wavicle »


There is only one FPGA on the board. It's in the video card and there only a handful of spare bits in the register space remaining. No unused bytes exist within VERAs register space.

I think the cheapest way to do this if it ever becomes necessary is weakly pull up or down some of VIA1's dedicated output pins, put those pins in read mode, and then read out the results of the pull resistors.

BruceMcF
Posts: 1336
Joined: Fri Jul 03, 2020 4:27 am

Hardware board version and setup readout

Post by BruceMcF »



On 10/19/2022 at 10:31 PM, neutrino said:




It could be implemented within any existing FPGA on the board. Or perhaps as a serial EEPROM on the same bus the RTC uses etc.



By knowing the hardware revision, kernal and other software can workaround problems. Be it beta or production boards.



But @Wavicle just explained there is ONE FPGA on the board, the substitute for the ASIC tile and sprite video chip that a follow-up to the C128 would have had in the 1980s. And they are not going to increase the build cost for this, so adding a serial EEPROM on the I2C bus is not an option.

One option is adding it to the existing power/keyboard MCU, if there is space on the EEprom or built in Flash storage in the ATTiny -- if its an 861, they have 512 bytes of EEProm data and 8KB of Flash program memory.

Post Reply