Greetings from Denmark!
Posted: Wed Apr 29, 2020 1:35 pm
Looks like we're quite a few people here from Denmark ?
My name is Michael Jørgensen, and I started programming when I was 12 years
old, first on the Sinclair ZX80 and then ZX81. I quickly learned BASIC, and
started looking into Z80 assembly.
But my first true love ❤️ was the Commodore 64, which I had from the age of 15.
I had a printer too, but not a disk drive, so all my programs were stored on
cassette tape. I learned 6502 assembly on the C64, and made my own Turbo
Loader. Most of my learning came from manually disassembling other programs
(typically games), and trying to figure out how the game behaviour correlated
with the disassembly.
I also mod'ed my C64 with an additional 8 kB of static RAM. This was connected
to a separate battery, and could therefore keep the contents even when the C64
was powered off. The RAM functioned like a cartridge (except it was writeable),
and the C64 would boot up from it. The RAM contained a welcome greeting and my
Turbo Loader program. That was so much fun, and gave me a real sense of success!
In high school I teamed up with my classmate Morten who had a Z80-based
Memotech MTX 512, We studied the disassembly of the builtin ROMs of both our
machines and were frustrated over how slow the BASIC interpreters were.
Together, we built a BASIC+KERNEL from scratch: our own TOS (= Tape Operating
System), ported to both machines. Morten did most of the BASIC interpreter,
while I did the floating point arithmetic and graphic routines. We never did
finish the project past the prototype level, but we had a lot of fun.
I've submitted a Pull Request for the X16 ROM with some faster floating point
arithmetic, based on my ideas from back then.
At university (Master in Electrical Engeering) I learned myself to program in
C, mainly small programs doing numerical simulations for my thesis. I
completed a PhD in mathematics, and a PostDoc in quantum mechanics, but finally
gave up on the academic career path and went to work in industry as a software
developer, despite no formal education in computer science.
Most of my professional work has been developing drivers in small embedded
systems using C++. I initially found the language hard to learn; the compiler
errors were particularly obfuscated as well as learning the more high-level
programming paradigm. But now I'm very comfortable with C++.
Later in my professional life I got a chance to work with developing FPGAs,
i.e. designing chips, and I've been doing that ever since! Most of the work
has centered around squeezing out every ounce of performance from the largest
FPGAs. I really enjoy the fun challenge of optimizations: pushing against the
limits of speed and size.
I had a brief period of 8 years as a high school teacher, teaching math and
physics, and programming. I enjoyed it very much, but it was way too much work ?
I have an FPGA board at home for my own personal projects. Initially I only made
were simple stuff, but then a few years ago I saw a video series by Ben Eater
about how he made his own 8-bit computer on a breadboard. I got super excited
and decided to re-implement his project on my FPGA board. Once that was done, I
got all ambitious and wanted to make a re-implementation of the complete
Commodore 64 on an FPGA, but then found out that the guys behind the MIST
project had already done that!
Nevertheless I began designing my own 8-bit FPGA computer based on the 6502
processor, and I even wrote a tutorial about it
(https://github.com/MJoergen/nexys4ddr/tree/master/dyoc). I wanted to write a
complete operating system, but the project lost steam once the hardware was
complete; I couldn't decide on what I wanted to make.
That's when I saw David's video about his dream computer. I resonate with
David's ideas about the X16, and am very eager to help out as best I can.
So far I've written a tutorial on making games in assembly for the X16
(https://github.com/MJoergen/x16-assembly-tutorial).
On a side note, I'm working on making my own clone of the X16 on my FPGA
development board, but that is all still Work In Progres, and not publicly
available.
I really like this project and being part of this amazing community!
facebook : https://www.facebook.com/michael.finn.jorgensen/
linkedin : https://www.linkedin.com/in/michaeljoergensen/
github : https://www.github.com/MJoergen/