I have been using my own custom hacked code and hardware on the MiSTer C64 core for a few years now, but finally it's in the official core. This is awesome for two reasons, 1) I don't have to keep recompiling my cores and 2) it uses less pins and also has reset.
Initially I was confused about how the in/out pins worked and I also got lost in a mess of wires. Eventually, I bit the bullet and rebuilt it from scratch and it worked.
You'll note that the uIEC is powered from my USB hub. The DE10-nano doesn't have enough juice to run it.
I even put together a board for my IEC bus and my USB Arduino Interface for my C128 keyboard. They should sit together nicely under the MiSTer. I hope it works :-) . . . ( see Part 2 )
Here is a dump of all of my notes . . .
Caveat
Be very aware that
this plug contains both 5v and 3.3v and that you are connecting a
3.3v system to a 5v system.
a) Wiring this up
incorrectly may destroy your MiSTer!
b) You must also use
a logic level converter
c) Verify everything
I have written and linked to, I am not responsible for any mistakes
below.
USB Cables
Please note that the
pins of the USB 3 cable ends do differ on plug in some places (not
all are straight through).
C64 Core
Document
You should refer to
the C64 core documentation : https://github.com/MiSTer-devel/C64_MiSTer#user_io-pins
USB 3 Type A
Receptacle on the I/O board and DE10-nano pins
I have previously
wired my own IEC bus directly from the DE10-nano. However, please
note that the official MiSTer I/O board has
100 Ohm resistors between the pins and the USB Connector. The Newer
I/O boards (5.6 and up) also have 10K Ohm weak pull ups.
However the IEC bus
works fine without the pull ups ( I have a 5.5 board ).
Study the schematic
for the pin out on the I/O Board : https://github.com/MiSTer-devel/Hardware_MiSTer/blob/master/releases/iobrd_5.5.pdf
or this one with the
pull ups : https://github.com/MiSTer-devel/Hardware_MiSTer/blob/master/releases/iobrd_5.6.pdf
Verify the pin
numbering of the USB 3 Type A Receptacle on the I/O board : https://au.mouser.com/datasheet/2/837/USB1075-1948891.pdf
Verify the pin
translation of the USB 3 Type a Receptacle on the I/O board : https://pinout.net/pinout-scheme/507/USB%203.0%20SuperSpeed
Make the necessary
adjustments / translations for your cable!!
The pins for the USB
connector ON THE I/O board are :
1) 5 V
2) RS232 Tx
3) RS232 Rx
4) GND
5) ATN
6) DATA
7) RESET
8) CLK
9) 3.3v
Logic Level
Conversion
I used this Logic
Level converter : [url]https://www.sparkfun.com/products/12009[/url]
Please read the data
sheet for usage.
L side is MiSter
side
H side is IEC side
LV1 ATN => HV1
ATN
LV2 DATA = HV2 DATA
LV connect to 3.3v
GND connect to GND
to GND ( I powered the Logic Level Converter entirely from the MiSTer
so it has a common Ground, if you don't then you'll need to separate
the grounds to each power source, Read The Manual ).
HV connect to 5v
LV3 RESET to HV3
RESET
LV4 CLK to HV4 CLK
IEC receptacle
I used this part for
the IEC receptacle on my PCB design : SDS-60J : https://au.mouser.com/datasheet/2/670/sds_j-1778983.pdf
1) SRQ ( unused )
2) GND
3) ATN
4) CLK
5) DATA
6) RESET
Please see Part 2 for Schematics and Design!
https://8bitshardway.blogspot.com/2021/07/mister-fpga-user-serial-connector-to_2.html