This repository has been archived by the owner on Feb 10, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 10
/
CONTRIBUTORS
157 lines (133 loc) · 8.36 KB
/
CONTRIBUTORS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
Credits and contributors in alphabetical order, by last name. If you prefer a
pseudonym, that's OK too:
Brinkhoff, Lars
Provided .gitattributes for proper Github metrics reporting.
Falvo, Samuel A. II
Project founder and current visionary.
Ford, Scott
Designed a really awesome image of a Kestrel's head for use as a logo in
print and promotional material. Thanks so much! You can find his online
presence at http://haliaeetus123.deviantart.com/ .
FORTH, Inc. (esp. Leon Wagner)
This excellent company allowed me to rely on the source code to their
commercial product, SwiftForth 3.6.2, for inspiration and study when I
was having problems implementing the MARKER word in the Forth interpreter.
Please extend a hand to Leon Wagner, and support FORTH, Inc. in any way
you can. It's the least that we can do to say thank you for their
contribution. http://www.forth.com
Hintjens, Pieter
While Pieter did not contribute code to the project, Pieter did introduce
me to the C4 process that currently governs how software contributions from
others are managed. He also convinced me that I should make a separate
Github organization for the Kestrel Project. It took a while, but he was
right; making a separate organization was instrumental in gaining exposure
in the open-source community. Many thanks to Pieter for his experience and
guidance in how to engage with the community!
Neuschäfer, Jonathan
Provided Travis-CI support and improved usability through changes to
the e emulator's command-line interface. Thanks!!
Stevenson, Scot
Brought his TASM6502 project to my attention, and let me base vasm on his
efforts. Also, let me relicense the work to be compatible with the rest
of the Kestrel project. Although eventually superceded with the Python-
version of the 2-pass assembler, the latter couldn't have existed without
the former to serve as a reference implementation.
And many, many more whom I've forgotten over the years, because I didn't think
to create this file earlier. If you wish to be listed and remember your
contribution, please get in touch with me, so I can give due credit!
Products used in the construction of the Kestrel Computer Project include, but
may not be limited to, the following:
Digilent Nexys 2
When I was working on the Kestrel-2, the Nexys-2 was my work-horse platform
for getting hardware working. It offers a capability to price ratio
sweet-spot: other FPGA boards either have too little capability for a cheap
price, or are way too expensive for only a modest upgrade relative to the
Nexys-2's capabilities. Still others are virtually PC motherboards sans
CPU, and priced accordingly. It's a shame that the Nexys-2 is no longer
being manufactured. Still, the first generation Kestrel-3 will be
synthesized for this platform, simply because it's what I currently have.
I'll work to port to a different FPGA board only after I get the K3 working
on a board I know and trust.
You can find out the complete catalog of Digilent's products at
http://http://store.digilentinc.com/fpga-programmable-logic/ .
GCC
The GNU Compiler Collection is used to build the e emulator. This emulator
allows me to develop the system firmware and initial software for the
Kestrel Project long before actually having a tangible piece of hardware to
play with. It also allows those who cannot afford to play with the Kestrel
in an FPGA form to contribute to the project as well. Find out more at
https://www.gnu.org/software/gcc
GForth
GForth is currently used for a number of relatively small tasks in the
construction of the Kestrel artifacts. It was used to write the BSPL
compiler, which supported the RISC-V port of the Kestrel-2's STS operating
system. It's currently also being used for the SDB ROM compiler.
Check it out at https://www.gnu.org/software/gforth
Github
Github serves as the hosting provider for the Git repositories for the
Kestrel Computer Project. You can find our family of repositories at
https://github.com/kestrelcomputer . Or, check Github itself out at
https://github.com .
Leanpub
I use Leanpub to host my Kestrel 3 User's Guide online. They take my
Markdown files comprising a collection of chapters, and their related
assets, and typesets them into a book that is very close to perfect. There
are some features which I wish they'd support, but honestly, I can't
complain too much here. My mind is blown with what they're able to do with
minimally enhanced, plain-text files containing Markdown. Check them out
at https://www.leanpub.com . And while you're at it, you can read the
Kestrel-3 User's Guide at https://www.leanpub.com/k3ug .
Oh, almost forgot -- you can also purchase my Kestrel-3 User's Guide in
PDF, EPub, and Kindle e-Reader formats.
LibSDL 2.x
This library provides me, ostensibly, access to a virtualized frame buffer.
I say ostensibly because it's no longer true; it now provides me with a set
of APIs intended to better model how contemporary graphics cards mitigate
access to the frame buffer. Holy cow, that's a lot of words, and it's a
whole lot more complex to use. I'm rather surprised it all works at all.
That said, it offers reasonable performance for what I need, and despite a
rather steep learning curve (as distinct from the trivial nature of libSDL
1.2) at first, it's been working pretty well since initial setup. Find out
more at https://www.libsdl.org
RapidIO
I'm not, at present, using RapidIO in the Kestrel-3. However, I have
future plans to do so, particularly when I get around to building my own
motherboard. This is many years in the future though. So why is it listed
now? RapidIO has influenced my thinking about how to lay out the memory
map for the Kestrel-3 in anticipation for future I/O expansion
opportunities. Also, I've given several presentations on my own personal
adaptations of RapidIO that aim to avoid the costly membership fees for the
SIG, and instead of slapping me down, RapidIO has supported me every step
of the way. I encourage people to learn more and support them in any way
they can by visiting http://www.rapidio.org
Redo
Redo is a top-down build system intended to replace Make. I chose this
tool over Make because it was faster and easier to get things moving with.
Find out more at https://github.com/apenwarr/redo .
RISC-V Instruction Set Architecture
The RISC-V Instruction Set Architecture was graciously opened to the public
thanks to many professors and students at the University of California,
Berkeley. It's since become something of a hot topic in the open hardware
community, and I'm happy to have found out about it when I did. Prior to
RISC-V, I wanted to widen the S16X4 to 32- or even 64-bits, but doing so
would have resulted in a lot of wasted space in memory (lots of unused bits
due to frequently occurring small constants), or if I wanted to avoid this,
significantly more complicated instruction decoding logic (on par with a
CISC). The RISC-V ISA provides software that is more or less as performant
as the S16X4 was with 16-bit code, and which has comparable instruction
density for 32-bit and 64-bit code. A net win all 'round. Combine that
with the opportunity for future expansion, including products like LowRISC
CPUs, Cray-style vector processing instruction set extensions, effective
16-bit compressed instructions, and more, and the Kestrel is well poised to
exploit a growing ecosystem of open hardware processors! You can learn
more about RISC-V at http://risc-v.org
Scribus
A desktop publishing package for Linux which, despite having annoying user
experience bugs, was solid enough to render both my poster for the RISC-V
Workshop poster session and the front cover of the Kestrel 3 User's Guide.
In fact, the cover design is basically just a tweaked version of the
template included for a playbill. I couldn't figure out how to resize the
layout for an 8.5x11" page, so I just exported as a PNG with a high-enough
resolution that LeanPub was happy using it for the front cover of the book.
It came to something like 435 DPI or some such. Looks VERY nice.
Check them out at https://www.scribus.net .