Not quite, if you mean less than 2 VIAs = the user port is enough.srowe wrote:Using bidirectional transceivers like DS75160A/DS75161A would halve the number of lines required. The BASIC4 ROM you uploaded drives a single 6520 PIA so it is possible with less than 2 VIAs.
I just took a look at the schematics for the 2031 on Zimmers here:
http://www.zimmers.net/anonftp/pub/cbm/ ... ge-30r.gif
The number of required VIA IO lines is reduced but there are a few lines which simply cannot be reduced as you suggest.
Managing the GPIB still requires 14 port lines which is more than can be offered by the user port.
André Fachat's solution for converting a 1541 drive to a 2031 also uses the 75160/75161 transceivers and the requirements are identical.
See:
http://www.6502.org/users/andre/cbmhw/i ... index.html
Bottom line: To communicate on a GPIB with Commodore's drives protocol, you need a complete PIA or VIA. The user port only offers half the IO lines of a VIA (if you assume you can't use the joystick lines).
In the VIC-20, both IO ports of the 1st VIA are used for the keyboard. The 2nd VIA is shared between the joystick, the datasette, the IEC and, finally the user port. There just isn't enough resources there.
I took a quick look at SAM55's C64 GPIB cart and it has only one VIA so it can be done with a single VIA, that is if you can dedicate the whole chip to the job. That's not possible on the VIC-20.