Re: User Port and AutoRun Addresses

From: Hársfalvi, Levente (
Date: 2001-02-02 23:23:07


> C16/Plus4:
> What address is the userport at and the DDR for it?

$fd10. There is no DDR. The written 8-bit value will always appear on
the chips outputs (as long as the chips outputs are 'strong enough'
against the external load to pull up or down the output bits). Reading
the register, you get the current state of the respective chip pins. The
chip is always in 'active output' state, but as it's an NMOS device, the
outputs are weak when set to high logical level. Thus, after that, an
external device can pull down the pins with no risk at all - and your
program can read the input from the data register.

I'd seriously doubt that those chips (6529B, BTW) are still available.
Very simple and pretty stable chips (I've never seen any fried or
otherwise defect ones), but I have a suspect that only Commodore (or
CSG) has manufactured them.

> What is the pinout of the userport regarding datalines only, is it C64/V20 compatible?


The pinout is a little bit crazy. The edge connector is of the same size
as on the C64, but the pinout is different.

You'll find it somewhere at but as a
quick start, here are the 'significant' 8 port-pins.

P0 - B
P1 - K
P2 - 4
P3 - 5
P4 - 6
P5 - 7
P6 - J
P7 - F

Also, the mentioned RS-232 pins:

RxC - 8
RxD - C
TxD - M
The RS-232 is TTL, one needs a TTL-->+-12v level converter for real
RS-232. And yes, it indeed has a real 6551 as serial controller ;-) (up
to 19200 bps, because of the 1.8432 Mhz crystal).

1,12,A and N are grounds. 2 is +5v, 10 and 11 are pure 9v AC. ...Any
more questions? ;-)

> Where is the input buffer (loc512 on the C64/Vic20)?

AFAIK the same place, $0200.

> Where to I load in order to initiate a vector based autorun function (ie I normally use the CHROUT vector/tape buffer on a C64)?

Some loaders rewrite the chrout vector ($0324/0325), but I've also seen
loaders writing to the IRQ vector ($0314/$0315) and the Basic
interpreter cycle (Imain) vector ($0302/$0303).

> Where are BASIC start /end text pointers?

$002b/$002c, $002d/$002e.

Best regards,


This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.