Login
Back to forumReply to this topicGo to last reply

Posted By

C16Terminal
on 2019-10-06
14:59:14
 C16 Expansion Port to User Port

Hi,
I want to connect a WiModem to my C16.

I found in a German computer magazine from 1988 a manual how to make of the C16 Expansion Port a C64 like User Port. ( http://plus4world.powweb.com/publications/Compute_Mit_8_88 - here page 51 and http://plus4world.powweb.com/publications/Compute_Mit_SA_5_88 - here page 53)

To do that I need 3 chips (IC UM 6522 A,74LS04 N and 74HC133 B1) and a fitting PCB board.

The chips are no problem.
What I need - maybe you know where to find:

A PCB board that fits into the Expansion Port at one end and has the C64 User Port pins on the other end. And very important - the in the manual shown connections between the chips.

Thanks for any help!

Posted By

gerliczer
on 2019-10-06
15:11:10
 Re: C16 Expansion Port to User Port

There are two problems, AFAIK. One: that User Port won't be compatible with the Plus/4's User Port. Two: there's no such PCB; you have to make it yourself or have it made by someone else.

Remark: a mostly compatible port probably can be made; ACIA and 6529B often can be bought on eBay and the available schematics show what else you need to create a perfect copy (minus the +/-9V power, and cassette sense line, IIRC).

Posted By

C16Terminal
on 2019-10-07
00:00:17
 Re: C16 Expansion Port to User Port

Thanks for the help!

Well, I found here a Modem program for the C16 which seems to work with this kind of "C16 User Port".

http://plus4world.powweb.com/software/Modem_RS232_V1_2

As it is also written in that article about the port built, it was also sold back in the days from a German company.

But you're right - the problem is: how to get the pub.

Maybe it is possible just to get the connectors to the expansion port and the user port pins - the rest could be wired ...

Posted By

gerliczer
on 2019-10-07
00:14:33
 Re: C16 Expansion Port to User Port

You'll need a PCB made. The Expansion Port receptacle receives a PCB edge connector and the modem connector also receives a PCD edge. If you have to make two pieces of PCB for connecting the interface, you might as well make one single board containing everything.

Posted By

MMS
on 2019-10-07
17:13:49
 Re: C16 Expansion Port to User Port

Actually, despite the different naming of those pins, the lines used by C=serial modems (RS232 equivalent data lines) should be equivalent on the C64 user port and Plus/4 user port.
If you just check the comparison on SVS UltimateMap, it is not evident.

But if you read THIS, it becomes evident, that the Plus/4 User ort pin naming is the correct (standard), and the C64 User port pinuout naming is something really out of this world.

If you connect those modem lines to the Plus/4 same user port pins, you get the same funtion as on C64.
So, if you build a so-called C64 user port, it is the same for a modem as a Plus/4 user port.

When you have your C16 user port, based on THIS desription you may try to build your Wifi modem cheap! the linked Gearbest ready wifi circuit is just 5$.
https://1200baud.wordpress.com/2017/03/04/build-your-own-9600-baud-c64-wifi-modem-for-20/

The C64 modems ("Commodore modems") should work on Plus/4 without modification, ehm, there is a bug on the Plus/4 (in fact: on 6551 IC swapped two lines DCD and DSR) so you need to cover one pin with a insulator (flextape), otherwise the same.

Just recently I saw a link to CMD Switftlink232, also realising a fast RS232 on C64 memory expansion port.
Based on a quick view I think that circuit does not use any C64 line the Plus/4 does not have, though the memory addressing is a little more tricky on C64.
https://www.commodoreserver.com/FileDownload.asp?FID=7E31343456F4452FBF733187D255B2BD

AFAIK for a long time this was the only possibility on C64 to reach >30000 baud speed, and using the same ACIA 6551 as the Plus/4. (I have questionmarks, what speeds even Wifi modems could reach via the the C64 User Port CIA)
It is a a very detailed historical overview with a lot of detals.

Certainly you can connect (on C64) any serial modem with RS232 connector to the Switflink, and it is even faster than the C64 one. But it need to be supported by some SWs... On C64 several SW started to supports this HW protocol (DesTerm 128, Dialogue 128, NovaTerm, Terminal 1, Q-Term, Kermit). On Plus/4? Maybe the one recently linked by Luca!

https://www.commodoreserver.com/BlogEntryView.asp?EID=FA5AE758474345A9A0A7208C7F408538

There is a simplier version by JimBrain (Fast speed to expansion port), though due to simplicistic circuit diagram hard to tell, which lines it is using from the explansion port happy but should be very similar to the above.
https://www.lyonlabs.org/commodore/hardware/ez232-link232.pdf

Posted By

C16Terminal
on 2019-10-09
03:15:54
 Re: C16 Expansion Port to User Port

Thanks for all the explanation!

I do have a WiModem from cbmstuff that works fine on my VIC-20 and PET (CBM 8032) - I modified it a bit for the PET that it gets its 5V from a power bank via USB.

https://www.cbmstuff.com/proddetail.php?prod=WiModemOLED

This modem I would like to use also with my C16.

Posted By

SVS
on 2019-10-09
07:30:07
 Re: C16 Expansion Port to User Port

@MMS: could kindly re-declare the link you were referring to, because when you did write "THIS" does not work as an external link.
Thank you

Posted By

MMS
on 2019-10-09
11:13:56
 Re: C16 Expansion Port to User Port

That was the Worldpress page, and the referred part:

QUOTE
Esp8266 GND -> C64 User Port Pin N (Gnd)

Esp8266 TxD (GPIO1/TXD0) -> C64 User Port B and C (RxD. Yes, Short B and C together)

Esp8266 RxD (GPIO3/RXD0) -> C64 User Port M (TxD)

Esp8266 GPIO4 -> C64 User Port K (CTS)

Esp8266 GPIO5 -> C64 User Port D (RTS)

Esp8266 GPIO2 (d4) -> User Port H (DCD)

Then:

Add a wire from M to 5 on user port plug
Add a wire from B,C to 7 on user port plug
Add a wire from L to 6 on the user port plug
UNQUOTE

If you check, most of the signals are the C+4 User port namings. As I see, maybe the C64 User port pinout names are the ones in paralell mode, and the serial protocol pins are not referred.

Posted By

Jácint
on 2019-10-11
15:14:04
 Re: C16 Expansion Port to User Port

Hello!
I drew a schematic diagram of expansion to USER port. Plus/4 is based on a schematic diagram! Mos6529B replaced with TTL ic
Someone can check! happy
Parts available on ebay etc.

https://drive.google.com/open?id=1IAR7oebY0uiJWcCJVAmUIqPWhtjNBKZM

https://drive.google.com/open?id=1q2xz53AUTRLh9Zx9ptf4u_9VyWUv-N88

Posted By

MMS
on 2019-10-11
16:40:40
 Re: C16 Expansion Port to User Port

Hello Jácint, thank you! I recently decided I will use my new purchase C16 as the main machine, so it became very useful soon.

BTW one question:
the 264 series connector has a very special pinch dimension, if I remember well, 1.02mm.
Is it true, that is is very similar to a standard old PCI port (or ISA?)? I could not find the specs.
It means by sacrificing an old PCI card I may have the connector connected to the circuit with a eg. flexcable

Posted By

C16Terminal
on 2019-10-12
00:03:18
 Re: C16 Expansion Port to User Port

Thanks for that! Great!

Posted By

gerliczer
on 2019-10-12
01:21:42
 Re: C16 Expansion Port to User Port

@Jácint: Why PLA if you replaced SPI (6529B) with 74 Series ICs? Couldn't it be replaced with a GAL?

Posted By

C16Terminal
on 2019-10-12
02:07:46
 Re: C16 Expansion Port to User Port

Another questions: As your schematic differs from the one I posted in the first post - is yours also a C64 like User Port - so I can use the WiModem from Jim Drew?

Posted By

gerliczer
on 2019-10-12
02:38:38
 Re: C16 Expansion Port to User Port

@C16Terminal: No, that's a functional equvalent of the original Plus/4 User Port, as far as I can understand. Therefore you have to make a patch board to exchange the pins from Plus/4 layout to C64 layout. Unless that WiModem has such facility built in.

Posted By

MCes
on 2019-10-12
03:07:46
 Re: C16 Expansion Port to User Port

build a cartridge for C16 that replace the missing ports that PLUS4 has is a good project, but it need specific SW & HW developed for PLUS4,
but if I understood well they are speaking about using HW developed for C64 user port (and SW?).

@Jácint
Look this datasheet at page 28... I suggest to put on PCB the space for resistor and capacitor that are needed by the crystal for the new C-MOS versions.
https://www.westerndesigncenter.com/wdc/documentation/w65c51s.pdf
A 22V10 GAL can be used for synthesize the PLA used functions and the 7400 too (a 16V8 could be sufficient)

NOTE:
your 1Byte port can't work: it will be always an output port! (never input...)


Posted By

C16Terminal
on 2019-10-12
03:58:46
 Re: C16 Expansion Port to User Port

Well, I modified my WiModem in the way that it gets the 5V from an external power bank via usb.

So I can use the WiModem with my VIC-20 and PET CBM 8032 with the user ports of both.

That's what I thought to do here.

BUT why not making a real RS232 port - there the WiModem232 would fit in. I also connected the WiModem232 to my CBM 8032 user port. There I had an old manual where it was explained how to build the needed cable.

Jácint, is yours a RS232 user port or a C64 user port?

If it is a RS232 this old modem program written for the C16 should work with it(!?):

http://plus4world.powweb.com/software/Modem_RS232_V1_2

Posted By

gerliczer
on 2019-10-12
04:14:39
 Re: C16 Expansion Port to User Port

@C16Terminal: WiModem's manual (rev. Jan. 30, 2019) states that the product is compatible with Plus/4. You should consult with Jim Drew what that means.

If he confirms that it is really compatible with Plus/4, then you should build a compatible (to Plus/4) User Port. MCes wrote that Jácint's implementation will not work. If that's true, you should build either one based on the original Plus/4 schematics and components, or you ask MCes to design or build a modernized one for you.

However, if the WiModem is not really compatible, than build the one you posted the schematics for and you'll have a probably working but incompatible User Port.

Posted By

siz
on 2019-10-12
14:48:10
 Re: C16 Expansion Port to User Port

I have a WiModem and apart from the power problems* it works with the plus/4. I've tried it but couldn't find a proper terminal emulator to use it.

* the WiModem draws too much current in quick short pulses on the 5V and perhaps my power supply is getting old but it makes the screen flashing - that's why it needs the modification to use external power supply. This problem is not plus/4 specific, the C64Reloaded Mk2 has the same problem.

Posted By

C16Terminal
on 2019-10-13
00:02:45
 Re: C16 Expansion Port to User Port

Great to hear that the WiModem works with the Plus4! (did you try these here: http://plus4world.powweb.com/sl/315 ?)

Well, Jim told me how to mod the WiModem for my PET: Just cut Pin2. Then solder a cable (power) to Pin2 and to ground (just above the screen you can see it). I took an USB cable and connected my WiModem to a 5V power bank.

It works very good without any problems on my VIC-20 and PET CBM 8032.

MCes, could you design a layout for the needed card for the C16? ( I found a guy who would produce it if I send him the layout and dimensions)

Posted By

Jácint
on 2019-10-13
03:18:06
 Re: C16 Expansion Port to User Port

@MMS PCI socket I tried, not good! There is a slight difference between the expansion port and the pci socket. I recommend soldering the wires between the expport TO userport PCB and another expport connector.

@gerliczer PLA can replace GAL, but I can't program GAL.

@MCes A resistor and capacitor can be installed on the PCB if required. Redesigned! PLA can replace GAL, but I can't program GAL.

@C16Terminal This is USERPORT on the Plus/4 computer. Old Programs Plus/4 also works on C16.

@siz Replace the rectifier and capacitor in the power supply!

Posted By

MCes
on 2019-10-13
15:13:31
 Re: C16 Expansion Port to User Port

@Jácint
Your schematic can be modified to implement a correct MOS6529 emulation (or using a real MOS6529..)
but the problem is another one: on C16/C116 the parallel port can't be externally replayed because a logic gate connect the CASSETTE SENSE on data bus D2 always on $FD1x to read the cassette switch (also in Write cycle!): it will be a data conflict with external PIO..... (and on write cycle a conflict with himself internally too...)

So if the wimodem use a 6551 lines it will be ok, but it can't work if it is based on parallel pio....

A solution could be to move the external PIO on another address, for example the range $FD2x that is decoded by PLA PIN18 and it's not used. The PIO will be not the perfect replacement of a PLUS4 PIO, but modifying the SW routine that write on it with the new address the card could be working...


Posted By

gerliczer
on 2019-10-13
17:08:49
 Re: C16 Expansion Port to User Port

I think, somehow, it can be made to work. You build a pass-through connector for the Datasette that splits the SENSE line and use a bus driver to override $FD1x reads with data from the expansion device.

On another note, I saw once or twice salvaged Expansion Port connectors on eBay. They were expensive as hell, but those will surely work.

Posted By

JimDrew
on 2019-10-13
20:03:27
 Re: C16 Expansion Port to User Port

[quote]
Re: C16 Expansion Port to User Port
I have a WiModem and apart from the power problems* it works with the plus/4. I've tried it but couldn't find a proper terminal emulator to use it.

* the WiModem draws too much current in quick short pulses on the 5V and perhaps my power supply is getting old but it makes the screen flashing - that's why it needs the modification to use external power supply. This problem is not plus/4 specific, the C64Reloaded Mk2 has the same problem.
[/quote]

That is not correct. The problem with the C64Reloaded Mk2 is the 8701 emulation circuitry. It is too sensitive to changes on the 5v rail. This is not a problem with a real C64 or C64Reloaded Mk1 with a real 8701 chip.

For a C16 you can either make a USER PORT, like what the C64 has and use the WiModem. Or you can use a RS-232 cartridge and use the WiModem232. A lot of people are doing the later.

Posted By

C16Terminal
on 2019-10-14
01:15:17
 Re: C16 Expansion Port to User Port

Hi Jim,
thanks fr the explanation!

A RS-232 cartridge would be great (I also have the WiModem232), but I never saw one for the C16. There are some on the market for the C64 like this one:

http://amigaonthelake.com/swiftlink-rs232-clone-commodore-8-bit/#description

Could this work with a C16?

Or is there somewhere a layout for a C16 RS-232 cartridge or a C64 like user port cartridge for the C16???

Posted By

gerliczer
on 2019-10-14
05:05:06
 Re: C16 Expansion Port to User Port

@C16Terminal: No. C16 and C64 Expansion Ports are completely incompatible both mechanically and electrically. There's no C16 RS-232 cartridge either.

Posted By

gerliczer
on 2019-10-14
05:05:06
 Re: C16 Expansion Port to User Port

@C16Terminal: No. C16 and C64 Expansion Ports are completely incompatible both mechanically and electrically. There's no C16 RS-232 cartridge either.

Posted By

C16Terminal
on 2019-10-14
06:13:27
 Re: C16 Expansion Port to User Port

But there must be a possibility to make a RS-232 port on the user port.

Look at this screenshot of this old Modem program:

it's for the C16
and
it states that you can only use it with the "RS232 Modul"!

Modem RS232 V1.2

Posted By

MMS
on 2019-10-14
10:44:59
 Re: C16 Expansion Port to User Port

Guys,
just buy a Max232 circuit to the user port as described in my RS232 mouse documentation.
It is the SAME serial protocol, same for for modem and an RS232 mouse.
You will have the proper signals on the DB-9 standard RS232 connector.

In my document you can find links to similar C64 projects with the same connection, but you can even buy it ready RS232/User port for C64, it should work on Plus/4 User port too (for RS232, same pins).

For the C16 you really need an expansion port device.
If you just need a modem, the ACIA based C64 Swiftlink is exactly the one you need, but because for the C64 bus addresses, it needs a major modification. This is a more complex project, due to different connector pitch and different pins on the expansion ports.
On the other hand, I have only WIFI at home, not phone line... So...

Posted By

MMS
on 2019-10-14
10:52:38
 Re: C16 Expansion Port to User Port

This describes for the PLUS/4 User port Wifi modem the details
https://www.lemon64.com/forum/viewtopic.php?t=65312

Which terminal protocol (and program) our machine supports, could be answered by Lucas post few weeks ago, BBS worked with this WIMODEM on Plus/4.

On C16
a) we can develop a similar WIMODEM for the Memory Expansion port (start from zero)
b) we can have a User port on the C16 linked to
c) develop a Max232 based card to the memory expansion port.

All of them has benefits, but the later two just add standard port to the C16, and maybe more useful to use ready devices (RS232 or User port ones) than to develop a completely new cards. Certainly the first is the cheapest from a working BBS application point of view.

Posted By

C16Terminal
on 2019-10-14
11:02:14
 Re: C16 Expansion Port to User Port

Thanks for all the explanation!

It is MUCH more useful to have a RS232 card for the expansion port of the C16!

There are many WiModems on the market that can then be connected to it!

AND

There is the terminal software for the C16 ( http://plus4world.powweb.com/software/Modem_RS232_V1_2 ) and this is also very important!

That would be a fast solution with costs just for the card, WiModem232 ready and a C16 terminal program also there!

Posted By

MMS
on 2019-10-14
16:04:00
 Re: C16 Expansion Port to User Port

Actually I think this is the fastest implementation of an RS232 port to a C64, and because it is based on 6551, similar to the Plus/4 protocol.

https://gglabs.us/node/2057

It is compatible with Novaterm.
The only problem I see it uses the NMI of the C64 port, while we do not have it (sorry for not being a "pro" in HW issues)

Posted By

C16Terminal
on 2019-10-15
08:32:34
 Re: C16 Expansion Port to User Port

MMSZ2, who ("we"?) can develop this - and how?

Posted By

MMS
on 2019-10-15
16:04:28
 Re: C16 Expansion Port to User Port

(we) Plus/4 does not have NMI, so it may not work. I am not a HW expert.

I think your original article with the c64 Userport (theoretically the same serial pinout as Plus/4 userport) could be our best C16 solution.

https://www.facebook.com/codingkoala.labs/posts/571143630297547


Posted By

C16Terminal
on 2019-10-15
14:48:48
 Re: C16 Expansion Port to User Port

OK.

I found a company that would produce the PCB board - also a single one for about €20.

What I need is a PCB layout of the PCB of the original article that I can send them. It has to be in a data format for PCB layouts.

Is someone here who could make such a layout of the card of the original article?

Posted By

MMS
on 2019-10-15
16:12:32
 Re: C16 Expansion Port to User Port

20 years ago I did some at the university.... we has a program creating those layouts based on circuit diagrams... lost memories... TINA I think. https://www.tina.com/circuit-simulator/
Heck, I even had to design on paper a Z80 based computer, and I do not have the smallest clue now how I did it...

Somewhere I have a link at the same univesity some kids (hahaha...) do the raw PCB based on circuit diagram... Maybe they can do the circuit diagram for me in electonic form I can share with you.

Posted By

C16Terminal
on 2019-10-16
04:12:38
 Re: C16 Expansion Port to User Port

That would be great!

The chips:

IC UM 6522 A
74 LS 04 N
74 HC 133 B1

are easy to get and beside them and the PCB nothing more is needed!

Posted By

C16Terminal
on 2019-10-23
00:53:27
 Re: C16 Expansion Port to User Port

Any news with the link and the university kids?

Posted By

C16Terminal
on 2019-10-30
06:17:42
 Re: C16 Expansion Port to User Port

So I made a few steps - but there are also problems.

1.) Via a friend it could also be that I get a printable layout for the pcb - let's see.

2.) Meanwhile I made the Userport with a breadboard and the chips:
IC UM 6522 A
74 LS 04 N
74 HC 133 B1
according to the manual in the compute magazine (here page 51 and here page 53)

BUT I do have problems to test it:

a) I need the Poke's to open the channel to the WiModem.
In the manual is written:
"For this purpose, the corresponding register number is added to the basic address" - an example is given to sett all port B lines as output:
10 Poke 64770;255

b) What for Poke do I have to program to open the line to the WiModem (this was made for the C64 Userport and the one that I built is identical with that)???

Posted By

gerliczer
on 2019-10-30
07:09:40
 Re: C16 Expansion Port to User Port

You should hope that I'm horribly wrong, but according to my understanding of how the things are this will be a very rough ride if not completely hopeless.

a) You should refer to the VIA Register Map and find the address of Port B Data Register relative to the first register of the chip. You should subtract this number from 64770 to get the base address of the VIA. (My guess would be 64698/$FD00.) Use this base address incremented by the register number of the necessary output lines to program your port.

b) WiModem is most probably an RS-232 serial device. VIA has no built-in support for this type of connection. Good luck with replicating the necessary driver from some C64 terminal program or from the C64 KERNAL if it has something like that. (IDK where and how you can find these.) But if you are lucky Compute Mit also published the serial driver for this expansion.

Posted By

C16Terminal
on 2019-10-30
14:58:14
 Re: C16 Expansion Port to User Port

Thanks for the help!

Well, here is a pic of the C16 Userport from the c't 09/1986:

https://plus4world.powweb.com/hardware/Ct_C16_User-Port

I can't find a pdf of the article ...

Posted By

MCes
on 2020-04-05
10:19:18
 Re: C16 Expansion Port to User Port

@C16Te​rminal



Posted By

unclouded
on 2020-04-06
00:34:31
 Re: C16 Expansion Port to User Port

What is the D2 conflict problem? Does D2 refer to the D2 on the data bus? Is the problem that whenever $FD10 to $FD1F is addressed by the CPU that 'U11' drives D2 and that if the cartridge drives D2 to a different level it will cause damage? I am confused because surely the cartridge should only drive D2 when it is addressed (and R/!W is high of course).

Posted By

MCes
on 2020-04-06
03:09:55
 Re: C16 Expansion Port to User Port

@unclouded : you found the point.
PLA decode the space address $FD1X to enable the plus4 internal parallel port, on P2 of this port Mr.Commodore placed the tape unit keys sensing.
It means that on plus4 you can correctly R/W the parallel port, and for a correct use of P2 (as a parallel I/O port pin) you have to disconnect the tape unit (or be sure that no keys are pressed on it): at this condition PLUS4 can R/W to the port and all of its 8 pins are operative as expected.
C16 hasn't the parallel port and the keys sensing is connected to D2 (data BUS) through a simple 3 state gate (U11) that drive the D2 when PLA is decoding $FD1X.
So during a READ operation the C16 CPU listen the KEYS SENSE that is reported on data bus D2 (like a PLUS4 do), during a WRITE operation the CPU place output byte onto data bus (D0...7) but the 3s gate is also enabled and on D2 data bus line will be a collision.

Problem for a parallel port on cartridge that emulate the plus4 parallel port, for using PLUS4 based periferics (RS232?):
Placing on a cartridge a MOS6529B (or equivalent) that will be enabled inside space $FD10...$FD1F is not correctly possible:
On D2 we will having 2 different problem, 1 can be patched and 1 can't be patched (without mods).
The read problem could be patched by driving the KEY SENSE line with the same P2 level from the parallel port, but the writing problem can't be patched:
the conflict will be INSIDE the C16 so it can't be resolved (without HW mods): the parallel port on C16 ($FD1X) can be used only as INPUT port (better if with D2 not used: 7 bit port).
If the plus4 SW that manage the RS232 cart doesn't use the P2 of the port and the port is used only for READ data: the limitated C16 parallel port can work, otherwise it can't (not correctly).

In some mods of "internal ram pages extension" the area $FD1X is decoded for drive the "keys sense" port only with $FD10 and for using the others $FD11...$FD1F area for other registers, probably this was done for make working the cartridge into the previous post, but it doesn't emulate the plus4 $FD1X port.....

The point is:
The PLUS4 parallel port can't be (correctly) added externally on a C16 (C116) without mod the internal board, I'm sorry.
A parallel port can be correctly added using a different (not already used) port address and conseguently modifying the software with the new port address.

(sorry for my English)

Posted By

unclouded
on 2020-04-06
04:03:46
 Re: C16 Expansion Port to User Port

Aha! So:

$FD1X addresses a second 6529B on the Plus/4 but on the C16 simply pulls D2 low via the buttons on the C1531 regardless of whether it's a read or write to the address within the $FD10 to $FD1F range?

On the Plus/4:

- P2 of the user port is shared with the Cassette Sense line, so the C1531 must be disconnected or no buttons pressed in order to use P2 of the user port (either as an input or an output)

On the C16:

- A write of $04 (or any value where bit 2 is 1) to $FD1X when a button is down on the datasette could damage the CPU?

- Plus/4 software that expects a second 6529B (on the C16 cartridge) at $FD1X will write to addresses in the range $FD10 to $FD1F causing potential bus conflict between the CPU and the C1531 when the CPU tries to drive D2 high while the C1531 drives it low (when a button is down)

- A cartridge that depends on a hardware mod to re-route 'CST SENSE' from 'CN3' before use would potentially damage an unmodified C16

- A cartridge that maps the second 6529B to an unused address range would require (minor) changes to the Plus/4 software but if any changes to instructions that write to $FD1X were missed then potential damage again

Complicated! Did I understand?

P.S. Your English is much better than my Italian!

Posted By

gerliczer
on 2020-04-06
04:40:20
 Re: C16 Expansion Port to User Port

Just out of curiosity. Could this problem be circumvented by connecting Datasette directly to the external port card and patching the lines back to the C16 except CST Sense? Or CST Sense even pulled to a level where D2 will not be driven at all? Obviously, then it must be stated that Parallel Port card must never be used with Datasette directly connected to the computer.

Posted By

MCes
on 2020-04-07
04:02:30
 Re: C16 Expansion Port to User Port

READing problem can be patched, an example is the routing of P2 data to KEY SENSE line in tape connector( with tape unit disconnected or without keys pressed on it..): 3s gate will drive the correct data (from KEY SENSE=P2) onto the correct line (to D2) and it can work.
The not resolvable problem is the WRITing to the port:
imagine a not modified C16 (without any cartridge), if you POKE in it a value into the port range, a bus conflict on D2 will be already made!
In this case CPU and 3s gate will driving the D2 line!
It will accour without any mod or cartridge, with a C16 as Mr Commodore made....
A bus conflict could be HW destructive (yes, your 8501 could die... but it's discutible) but you can be sure that a bus conflict will be data destructive!

This is the reason because an external parallel port that emulate the plus4 one ($FD1X) can't be made without modding the C16.

C16 has to be modified to make possible the 3s gate disabling, the easiest way to resolve this will be the replacing PLA with a little circuit that has to connected also (with a hook) to BB point into cartridge connector: this circuit will emulate the PLA but when BB will lowered (by cartridge) the /$FD1X line will be deselected and the parallel port will work correctly

So to add the "PLUS4 I/Os" parts to emulate perfectly them onto a C16 it will be necessary the modified PLA and the external cartridge.
The C16 (with new PLA circuit) without cartridge will come back to its original behaviour, and on cartridge can be placed a switch for restoring the 3s gate (opening also P2 data line) if the use of the tape unit is momentary requested with cartridge fitted.

This is the best solution that I can imagine now.

Posted By

gerliczer
on 2020-04-08
05:12:11
 Re: C16 Expansion Port to User Port

It is a frightening thought that the CPU can slowly kill itself. However, if it is necessary to modify the machine, no matter what, for the expansion to work, would it not be better to actually create some internal plug-in extension board (like the recent CPU replacement+512k) and put only the connector outside with something like a ribbon cable? That way the expansion port would not be wasted, the hardware would be self-contained and people selling the device without a modded machine would be exposed to less dispute by buyers not really listening to what they are told.

Posted By

MCes
on 2020-04-08
06:49:24
 Re: C16 Expansion Port to User Port

@gerliczer: I agree with you, it's better to imagine a C16 HW modify than a cartridge that can't work alone....

The real point of my previous posts represent the not possibility of externally adding, on C16, the PLUS4 parallel port without modify the C16 HW....
(like is not possible to add RAM without open the C16 case...)

I reanimated this thread because on facebook I'm reading about people that are trying to develop a cartridge for emulate the PLUS 4 serial and parallel port, I tried to explain this problem on there, but I think that FB is not adapt for develop a project (for presenting it at the world it's OK ) and I'm supposing, on that FB post, to be sensed on as a killjoy.



I imagined an easy way to do this internal mods....
A board that be fitted instead the PLA and 1 ROM on sockets of the C16, 2 wires with 2 hooks will be connected to R/W and /IRQ lines (other signals already present on the sockets...)
on this board you have to place the PLA and the ROM that you pulled up from your C16, on the board there are also a MOS6529B, an ACIA (8551, 6551, 65C51..) and a GAL (16V8 or 22V16...),
If you want also the 9Vac you have also to place a connector for an external 9Vac power supply...

(note: on new USER PORT also /RST and ATN lines have to be connected)

Better can be done integrating some functions into a CPLD....



Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2024