Skip to content

Commit 4cfc258

Browse files
committed
Initial repository import.
0 parents  commit 4cfc258

File tree

387 files changed

+82204
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

387 files changed

+82204
-0
lines changed

public/cbmhw/c64csa/c64csa.png

83.2 KB
Loading

public/cbmhw/c64csa/c64csa.ps.gz

6.74 KB
Binary file not shown.

public/cbmhw/c64csa/c64csadesc.txt

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
2+
Adapter Commodore 64 <-> CS/A bus
3+
---------------------------------
4+
5+
whatsit : Adapter to use CS/A cards in a C64
6+
I/O : window to CS/A bus at $de00-$de7f and VIA 6522 at $de80-$deff
7+
Mem : --
8+
9+
10+
This is an adapter to make most of the CS/A bus cards available to the
11+
Commodore 64 home computer. It also serves as an example on how to
12+
use the CS/A bus on other 6502-based computers.
13+
14+
The C64 has two available I/O areas on the expansion port, $DE** and $DF**.
15+
Preferably $DE** is used.
16+
17+
IC1 buffers the data bus to the card. IC2 buffers the available address
18+
bus lines A0-A7. A part of IC3 buffers the R/W line.
19+
20+
IC7 (together with another part of IC3) delays the rising transition
21+
of the system clock Phi2 by approx. 100ns. This makes the active part
22+
of Phi2 (high) shorter, but provides that the address lines are already
23+
stable when Phi2 goes high (during Phi2 low the Video chip has the bus
24+
and switching is too slow). This is needed for chips like the 6522 that
25+
samples the address bus at the rising flank of Phi2.
26+
27+
The CS/A bus has a line 2Phi2 that can be used as /RAS signal for dynamic
28+
RAM. It is produced with IC4 (should be a slow version, no 'LS or faster)
29+
and IC5.
30+
31+
As only 8 address lines are available, we need to produce more
32+
address lines for the full CS/A bus. Therefore the address line
33+
A7 is used to select a 6522 that produces the bus address lines
34+
A7-A19. Also it switches between I/O space and Memory space on the
35+
CS/A bus. This is implemented with IC6.
36+
Thus we have a window of 128 byte to the CS/A bus address space,
37+
where the window can be moved with VIA PA and PB.
38+
39+
40+

public/cbmhw/c64csa/c64csaparts.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
2+
Parts list for C64-CS/A adapter, version 1.0
3+
--------------------------------------------
4+
5+
IC 1 74LS245
6+
2 74LS541
7+
3 74LS08
8+
4 7404
9+
5 74LS86
10+
6 74F139
11+
7 74LS74
12+
8 R6522A
13+
14+
P 1 C64 expansion port card edge connector
15+
2 CS/A bus connector, female
16+
17+

public/cbmhw/c64csa/index.html

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN">
2+
<html><head><base target="_top">
3+
<meta name="author" content="Andr&eacute; Fachat">
4+
<meta name="robots" content="noindex">
5+
<meta http-equiv="content-type" content="text/html; charset=iso8859-1">
6+
<meta name="keywords" content="C64, bus adapter"> <meta name="description" content="CS/A bus adapter for the C64">
7+
<title>CS/A adapter</title>
8+
<link rev=made href="mailto:[email protected]">
9+
</head>
10+
<body bgcolor="#ffffff" text="#000000" link="#0000ff" alink="#ff0000" vlink="#220088">
11+
<h1>C64 &lt;-&gt; CS/A bus adapter</h1>
12+
<h2>(C) Andr&eacute; Fachat (<a href="mailto:[email protected]">[email protected]</a>) [file:///home/fachat/Current/WWW/8bit/home-8bit/html]</h2>
13+
<p>
14+
This is the description of an adapter to use most CS/A boards in a C64.
15+
A lot of CS/A boards, including a video card, serial interfaces, floppy
16+
controller and an SCSI card can be found on the
17+
<a href="../../csa/index.html">CS/A65</a> homepage.
18+
Below is the schemactics for a <em>C64 SCSI card</em>, derived from this
19+
adapter and the CS/A SCSI card.
20+
</p>
21+
<div class=disclaimer>
22+
<hr class=disclaimer>
23+
<H1 class=disclaimer>Disclaimer</H1>
24+
25+
<P class=disclaimer>Before you go on, you should know that all this stuff
26+
comes with <strong>no warranty at all </strong>. Of course this hardware is <strong>not</strong>
27+
to be used in any important or even life-critical systems.
28+
The hardware schematics and software
29+
are provided 'as is', without warranty of any kind. The entire risk as
30+
to the quality and performance of the hard- and software is with you. Should
31+
the hard- or software prove defective, you assume the cost of all necessary
32+
servicing, repair or correction.</P>
33+
<hr class=disclaimer>
34+
</div>
35+
36+
<H2>Distribution</H2>
37+
<p>
38+
<font size="+1">
39+
Warning: This computer system is free for <strong>NON-COMMERCIAL</strong>
40+
purposes only! If you want to do something useful with it, please
41+
contact me. Also if you like to produce PCBs, or want to earn money
42+
with it, please contact me first.
43+
The disclaimers in section 11. and 12. of the GNU public license apply.
44+
</font></p>
45+
<p><hr>
46+
<H2>Description</H2>
47+
The interface itself is, in fact, pretty simple.
48+
It is a board that is plugged into the C64 expansion port. On the
49+
other side it provides a socket for a CS/A bus card.
50+
Two things have to
51+
be considered for the schematics:
52+
<ul>
53+
<li>The C64 Video chip releases the bus with rising Phi2. This is too late
54+
for the 6522. Thus the rising edge of Phi2 must be delayed to the
55+
CS/A bus, to be sure. The CS/A bus is specified to run up to
56+
2 MHz, so there is no speed problem.
57+
<li>The I/O area in the C64 is 256 byte only. To cover the whole
58+
CS/A bus address space (1M memory and 4k I/O) additional address
59+
lines have to be generated. This is taken care of with a VIA 6522
60+
on the adapter. More in the <a href="c64csadesc.txt">description</a>.
61+
</ul>
62+
<p>schematics as <a href="c64csa.png">c64csa.png</a> or
63+
<a href="c64csa.ps.gz">c64csa.ps.gz</a> (gzip'd postscript),
64+
<a href="c64csadesc.txt">description</a>,
65+
<a href="c64csaparts.txt">parts list</a>
66+
</p>
67+
<hr><p class=endofpage>
68+
Contents last modified Jan 13 12:44 |
69+
Go to <a href="../../index.html">Homepage</a>
70+
</p>
71+
</body>
72+
</html>

public/cbmhw/index.html

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
<html><head><base target="_top">
2+
<meta content="André Fachat" name="author">
3+
<meta content="text/html; charset=iso8859-1" http-equiv="content-type">
4+
<meta content="Commodore 8-bit hardware modifications" name="description">
5+
<meta content="Commodore, 8-bit, hardware" name="keywords">
6+
<title>www.6502.org: Andr&eacute; 's CBM hardware modifications</title>
7+
<link href="mailto:[email protected]" rev="made"></head>
8+
<body alink="#ff0000" bgcolor="#ffffff" link="#0000ff" text="#000000" vlink="#220088">
9+
<img align="left" alt="logo" src="logo2.png"><A HREF="http://www.6502.org"><br>
10+
<h1>Andr&eacute; 's CBM hardware modifications</h1><h2>(C)
11+
- Andr&eacute; Fachat
12+
&lt;<a href="mailto:[email protected]">[email protected]</a>&gt;
13+
[<a href="http://home.arcor-online.de/andre.fachat">Homepage</a>]</h2>
14+
<p>
15+
On these pages you will find a number of hacks I applied to my Commodore
16+
8-bit equipment. Some of them are designed by me, others are taken
17+
from magazins or the web. If there are no schematics available and
18+
you desperately need them, mail me and I will (probably) write them
19+
up and put them here.
20+
</p><hr><h3>RS232</h3>
21+
The RS232 interface is a standard interface in the PC world and I use
22+
it as a terminal connection to my multitasking OS for the C64 or the
23+
CS/A65 or Gecko computers.
24+
<ul><li><strong>C64-1</strong>
25+
:
26+
The userport of the C64 can do more than the approximately 2400 baud
27+
the original kernal software can handle. With a small modification, invented
28+
by Daniel Dallmann, it can do 9600 baud. See
29+
<a href="http://www.zimmers.net/anonftp/pub/cbm/documents/projects/rs232/rs232-userport-9600.zip">http://www.zimmers.net/anonftp/pub/cbm/documents/projects/rs232/rs232-userport-9600.zip</a>.<br><br></li><li><strong>C64-2</strong>
30+
:
31+
Originally I built a 6551 interface for the C64 that was mounted between the
32+
SID and its socket in the C64. Nevertheless, this IC is crap compared to
33+
the UART 16550A with 16 byte FIFO, especially if you use a
34+
multitasking OS like my <a href="../osa/index.html">GeckOS</a>.
35+
So I modified the interface to use an UART. Find the description, schematics
36+
and some source code in
37+
<a href="http://www.zimmers.net/anonftp/pub/cbm/documents/projects/rs232/c64-uart-1.tar.gz">c64-uart-1.tar.gz</a>.<br><br></li></ul><hr><h3>C64 Modifications</h3>Besides the above modifications I did some more.
38+
Also the original C64 kernal is not very comfortable. So I decided to do some
39+
modifications to it.
40+
<ul><li><strong>EPROM</strong>
41+
:
42+
First of all, to modify the kernal, you have to replace an 8k ROM chip.
43+
As, normally, you will not have a ROM, but an EPROM chip, you need an
44+
adapter. I originally used the Kernal switch adapter of the 64er
45+
magazin. However, as I am about to overhaul all my CBM devices
46+
now, I guess I am doing my own one (where all kernals are in one
47+
EPROM only, saving place and soldering...).
48+
Wait for the schematics coming soon (I hope).<br><br></li><li><strong>Kernal</strong>
49+
:
50+
The software to modify the ROM is a bit of a mess, because it is
51+
quite old and you have to fit the new code into the holes made by
52+
removing the tape and/or the old RS232 code.
53+
Find them on my page with the <a href="kernal/index.html">new C64 kernals</a>.
54+
I hope I find the time to clean that up a bit.
55+
It includes drivers for the CBM IEEE488 interface, an UART 16550A
56+
RS232 driver, function key mapping and a DOS wedge.<br><br></li><li><strong>Burst mode</strong>
57+
:
58+
To use the burst mode of the VC1571 in my C128D
59+
I implemented some schematics to connect the CIA shift registers
60+
with the IEC bus. I used it in the BDOS
61+
program, that reads PC disks with the VC1571 and runs on the
62+
C64 or C128.
63+
Sorry, no schematics at this time.<br><br></li><li><strong>Modules</strong>
64+
:
65+
To be able to switch the IEEE488 ROM off when I like it,
66+
I built two switches into the C64, that could set the <code>EXROM</code>
67+
and <code>GAME</code> line to either open, GND, or the module.
68+
Sorry, no schematics at this time.<br><br></li><li><strong>CS/A65</strong>
69+
:
70+
I have built an interface for the C64 expansion port
71+
to use all the memory and I/O cards of the
72+
<a href="../csa/index.html">CS/A65</a> computer - which includes
73+
another video card, extra RAM, IEEE488 and SCSI interfaces.
74+
For the SCSI interfaces see the <a href="../scsi/index.html">SCSI-64</a>
75+
pages also.
76+
For more on the adapter see the <a href="c64csa/index.html">C64-CS/A</a> pages.<br><br></li></ul><hr><h3>VC1541 Modifications</h3>My old VC1541 (a really early one in a white case, fitting the color of
77+
the VIC20 and not the color of the C128 like later white versions)
78+
really got some history. First I had speeddos installed, later I
79+
built the IEEE488 interface into the drive. Then I experimented
80+
with a DOS-1 (670 blocks free) and a 2MHz modification.
81+
Also I disabled the original power supply and use a PC power supply.
82+
I will try to get these things out of my archives and prepare them
83+
for the web (actually now I don't even remember whether it worked at all...).
84+
<ul><li><strong>Power supply</strong>
85+
:
86+
I removed the power regulators and used a PC-style
87+
power supply instead.
88+
Sorry, no schematics at this time.<br><br></li><li><strong>&gt;Write-protect</strong>
89+
:
90+
With this switch you could remove the write
91+
protection of a protected disk. This is a fixed switch, so it has to
92+
be set back to normal when a disk is changed, to make the VC1541
93+
recognize the disk change.
94+
Sorry, no schematics at this time.<br><br></li><li><strong>LED</strong>
95+
:
96+
I removed the power LED and used a two-colored
97+
LED in the drive only to indicate power and activity (green is idle,
98+
red is active/error)
99+
Sorry, no schematics at this time.<br><br></li><li><strong>2 MHz</strong>
100+
:
101+
If you use the IEEE488 bus (and not the time-critical serial
102+
IEC bus) you can speed up the drive - I thought. I tried but yet no
103+
success.
104+
Sorry, no schematics at this time.<br><br></li><li><strong>DOS</strong>
105+
:
106+
I experimented a lot with the VC1541, but currently only
107+
the IEEE488 DOS is installed. I see whether I can get the other stuff
108+
out of the archives.
109+
<br><br></li></ul><hr><h4>Disclaimer</h4>All Copyrights are acknowledged.
110+
There is no warranty of any kind attached to the information herein.
111+
You may use this information for NON-COMMERCIAL use, unless where the
112+
GNU Public License applies. Then its conditions hold.
113+
<hr>Contents last modified 15 June 2000
114+
</body></html>

public/cbmhw/kernal/MYCOPYING.ASC

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
Copyright notice Andre Fachat
2+
-------------------------------------------------------------------------
3+
[email protected] 24.Nov.1995
4+
5+
6+
0. Scope
7+
This is the Copyright notice for the package you found this notice
8+
in. It applies to all the files and Programms in this Package. It
9+
states the conditions for copying and use of the package, as well as
10+
the warranty.
11+
You may not copy, modify, sublicense or distribute the Package except
12+
as expressly provided under this Notice.
13+
14+
The Copyright is held by
15+
Andre Fachat, Nussbaumer Winkel 22, 51467 Bergisch Gladbach, Germany.
16+
17+
18+
1. Warranty
19+
This program is licensed free of charge so far, so that there is no
20+
warranty for the program at all. The package is provided "as is", without
21+
warranty of any kind, either expressed or implied, included, but not
22+
limited to, the implied warranties of merchantability and/or fitness
23+
for a particular purpose. The entire risk is with you! Should the
24+
program prove defective, you assume the cost of all necessary
25+
servicing, repair or correction.
26+
If any damage arises from the use or inability to use the program,
27+
including, but not limited to loss of data or data being rendered
28+
inaccurate, or the failure of the program to operate with other
29+
programs, you are on your own!
30+
31+
You are warned.
32+
33+
2. Copying
34+
You may copy and distribute verbatim, unchanged copies of the Package in
35+
its whole, in any medium, provided that you conspiciously and appropriately
36+
publish on each copy an appropriate copyright notice and disclaimer
37+
of warranty.
38+
Keep intact all the notices that refer to this Copyright notice and to the
39+
absence of any warranty and give all the recipients of the Package
40+
a copy of this License along with the Package.
41+
42+
You may charge a fee for the physical act of transferring a copy.
43+
44+
3. Usage
45+
You may use this Package freely for any non-commercial use. This includes
46+
any private and scientific use, as long as you do not make money with it.
47+
48+
However, if you like this program, and use it regularly, you may want to
49+
consider sending me some amount of money, to support the development
50+
of this program in special and the idea of free software in general.
51+
Please contact me for further details.
52+
53+
If you want to make money with it, i.e. make money from pure distribution
54+
of the program, or benefit financially from the use of the program in
55+
any kind, please contact me for regulation of license fees.
56+
57+
4. Epilogue
58+
If you are interested in additional documentation/source code/new versions,
59+
or you want to distribute changed versions, use it commercially or want
60+
something else not allowed with this notice, feel free to contact me
61+
(Address see above).
62+
63+
Bugreports and -fixes are welcome!
64+
65+

public/cbmhw/kernal/bs-l.s07

626 Bytes
Binary file not shown.

public/cbmhw/kernal/bs-l.s07.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
10000 sys7*4096:.OPT OO
2+
10005 *=$33C:Z0 =$FC:Z1 =$FE
3+
10010 LDY #0:STY Z0:LDX #$20
4+
10020 LDA #$E0:STA Z0+1
5+
10040 L1 LDA (Z0),Y:STA (Z0),Y
6+
10050 INY:BNE L1:INC Z0+1
7+
10060 DEX:BNE L1
8+
10070 LDA #$A0:STA Z0+1:LDX #$20
9+
10080 L2 LDA (Z0),Y:STA (Z0),Y
10+
10090 INY:BNE L2:INC Z0+1
11+
10092 DEX:BNE L2:RTS
12+
10099 .end
13+
10100 sys828:clr:rem CLR LABELS
14+
10105 rem ****************************
15+
10110 sys7*4096:.OPT OO,P
16+
11000 *=$E4B7
17+
11010 LTEXT LDX #0
18+
11020 L0 LDA TEXT,X
19+
11030 STA $0277,X
20+
11040 INX
21+
11050 TAY
22+
11060 BNE L0
23+
11070 STX $C6
24+
11080 RTS
25+
11100 TEXT .BYT "L","<shift-o>",34,"B","*",13
26+
11110 .BYT "R","<shift-u>",13,0
27+
12000 *=$FF7D ; RESET ROUTINE to BOOT
28+
12010 JMP LTEXT
29+
19000 *=$E1D9; defAULT load/save ADDRESS
30+
19010 LDX #8
31+
20000 .end

public/cbmhw/kernal/c64bs2.lzh

56.9 KB
Binary file not shown.

0 commit comments

Comments
 (0)