<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Thomas on Steckschwein</title><link>https://www.steckschwein.de/authors/thomas/</link><description>Recent content in Thomas on Steckschwein</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 03 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.steckschwein.de/authors/thomas/index.xml" rel="self" type="application/rss+xml"/><item><title>Software</title><link>https://www.steckschwein.de/software/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/software/</guid><description>&lt;h1 id="bios"&gt;BIOS&lt;/h1&gt;
&lt;p&gt;&lt;img src="https://www.steckschwein.de/images/bios.png" alt="bios startup message"&gt;&lt;/p&gt;
&lt;p&gt;At initial boot time, the ROM bank containing the BIOS is banked in. The BIOS initializes the hardware, such as the UART and the video chip, and tries to load the steckOS loader executable (usually LOADER.PRG) from SD card and executes it. If that fails, the BIOS expects a PRG binary uploaded via XMODEM.
UART baud rate and the name of the steckOS loader executable can be configured and are stored in the RTC&amp;rsquo;s NVRAM.&lt;/p&gt;</description></item><item><title>VCFe25.0</title><link>https://www.steckschwein.de/post/2026/05/vcfe25.0/</link><pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2026/05/vcfe25.0/</guid><description>&lt;p&gt;VCFe25.0 has been awesome, as always. This time, all the talks have been recorded and will be available soon.&lt;/p&gt;
&lt;p&gt;The slides for our talk about our ATF150x toolchain are available &lt;a href="https://www.steckschwein.de/slides/vcfe25/Programmierbare_Logik_fuer_geizige_Menschen.pdf"&gt;here&lt;/a&gt;&lt;/p&gt;</description></item><item><title>UART: Double Trouble</title><link>https://www.steckschwein.de/post/2026/02/double-trouble/</link><pubDate>Mon, 23 Feb 2026 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2026/02/double-trouble/</guid><description>&lt;p&gt;The DUART TL16c2752 is supposed to be a rather big upgrade to the Steckschwein &amp;ldquo;core&amp;rdquo;. Now two serial interfaces, with 64 byte FIFOs each, instead of only one interface with 16 byte FIFOs. Oh, the possibilities. Using one line to explore UART interrupt handling while still having another one to upload code. Cool!&lt;/p&gt;
&lt;p&gt;With the 16C2752 being a part of the 16C550 family, we did expect it to be a simple drop in replacement for the latter one. As we all know, happiness is reality minus expectation, and oh boy did things get dreadful!&lt;/p&gt;</description></item><item><title>Prototype with ATF1508 on Breadboard [UPDATE II]</title><link>https://www.steckschwein.de/post/2025/08/atf1508-prototype/</link><pubDate>Thu, 14 Aug 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/08/atf1508-prototype/</guid><description>&lt;p&gt;We are going back to breadboarding for designing what will be the base for the new Steckschwein computer core. By &amp;ldquo;core&amp;rdquo; we mean CPU, RAM, ROM and the glue logic which will be accommodated in the ATF1508 CPLD. In order to communicate with the outside word, we also count the 16C550 UART as part of the core.&lt;/p&gt;
&lt;h2 id="design-goals"&gt;Design goals&lt;/h2&gt;
&lt;p&gt;Our main design goals are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Integrate SPI into the CPLD&lt;/strong&gt; -&amp;gt; DONE&lt;br&gt;
Using a hardware based SPI implementation similiar to &lt;a href="https://sbc.rictor.org/65spi2.html"&gt;Daryl Rictor&amp;rsquo;s SPI65&lt;/a&gt;, but tightly integrated into the CPLD will be an efficient use of the CPLD resources and will provide a much more performant SPI bus as opposed to the current semi-bit-banged solution. This way, it will be much more performant to add more SPI based components such as USB host or networking (see below). &lt;br&gt;
&lt;strong&gt;Update:&lt;/strong&gt; Done! We decided to use Andre Fachat&amp;rsquo;s SPI implementation from his &lt;a href="https://github.com/fachat/MicroPET/tree/main/CPLD"&gt;MicroPET&lt;/a&gt;. The main advantage over rolling our own is - it&amp;rsquo;s already there. Another main advantage over other existing Implementation is that the MicroPET one is pretty small, which is important when CPLD resources are at a premium.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Implement a priorising vectorising interrupt controller&lt;/strong&gt; &lt;br&gt;
This will improve interrupt handling by assigning a dedicated ISR routine per interrupt source instead of one system ISR. &lt;br&gt;
&lt;strong&gt;Update:&lt;/strong&gt; We are already scratching the limit of the ATF1508. The PLCC84 version we use in our prototype can not handle more pins, so we are unable to add the inputs needed for all the interrupt sources we need. While this is unfortunate, we have not scrapped the idea of an interrupt controller. We might move to the TQFP-100 version at some point, which obviously has more pins.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DUART instead of UART&lt;/strong&gt; &lt;br&gt;
Replacing our trusty 16C550 with a 16C2752 DUART will provide two serial interfaces without increasing the chip count. &lt;br&gt;
With two serial ports, we will be able to upload programs on one serial port, while observing the output on the other one. Also, a separate upload interface will allow us to explore UART interrupts on the other.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="other-changesoptimizations"&gt;Other changes/optimizations&lt;/h2&gt;
&lt;p&gt;Other things that will be optimized are:&lt;/p&gt;</description></item><item><title>CPLD Upgrade and new Toolchain</title><link>https://www.steckschwein.de/post/2025/07/cpld-upgrade-new-toolchain/</link><pubDate>Sat, 19 Jul 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/07/cpld-upgrade-new-toolchain/</guid><description>&lt;p&gt;Since we introduced our new banking logic to access 512k RAM, our glue logic is being accommodated by a Xilinx XC9572 (without XL) CPLD. This component has long been deprecated when we started using it. We chose it because it was what we had available. The upgrade path would be the successor family XC95..XL. Those have been rather expensive lately, and finally AMD/Xilinx axed their whole CPLD line in 2024, leaving us at a dead end. Where do we go from here? The market for CPLDs is not exactly growing. Only a few manufacturers are still actively producing them.&lt;/p&gt;</description></item><item><title>Golem.de Podcast featuring Steckschwein</title><link>https://www.steckschwein.de/post/2025/06/besser-wissen-podcast/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/06/besser-wissen-podcast/</guid><description>&lt;p&gt;We talked to Martin Wolf from &lt;a href="https://www.golem.de/"&gt;Golem.de&lt;/a&gt; about our Project, how it came to be, and of course about our version of Pacman.&lt;/p&gt;
&lt;p&gt;Listen to our Episode (in German) &lt;a href="https://www.golem.de/news/podcast-besser-wissen-das-8-bit-steckschwein-mit-pacman-2506-196861.html"&gt;here&lt;/a&gt;!&lt;/p&gt;</description></item><item><title>Finished moving to codeberg.org</title><link>https://www.steckschwein.de/post/2025/05/move-complete/</link><pubDate>Thu, 08 May 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/05/move-complete/</guid><description>&lt;p&gt;After we moved this website to &lt;a href="https://codeberg.page/"&gt;Codeberg Pages&lt;/a&gt;, we now finished moving our Repositories to &lt;a href="https://www.codeberg.org"&gt;www.codeberg.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://www.steckschwein.de/resources/"&gt;resources page&lt;/a&gt; has been updated with the new URLs.&lt;/p&gt;
&lt;p&gt;Our repositories on GitHub will remain available as push mirrors, but may vanish at some point.&lt;/p&gt;
&lt;p&gt;Codeberg is a non-profit, community-led effort that provides Git hosting and other services for free and open source projects.&lt;/p&gt;</description></item><item><title>Our talk at VCFe 24.0</title><link>https://www.steckschwein.de/post/2025/05/our-talk-at-vcfe24/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/05/our-talk-at-vcfe24/</guid><description>&lt;p&gt;At this year&amp;rsquo;s installment of the &lt;a href="https://www.vcfe.org"&gt;Vintage Computer Festival Europa&lt;/a&gt; we talked about how the Steckschwein came to be in its current incarnation. Marko presented his feature complete implementation of Pacman - the only one for 6502 based systems that replicates the look and the behaviour (including bugs) of the original arcade almost completely.&lt;/p&gt;
&lt;p&gt;In case you could not attend our talk or even VCFe, you still can download the &lt;a href="https://www.steckschwein.de/slides/vcfe24/DasSteckschwein.pdf"&gt;Steckschwein slides&lt;/a&gt; and the &lt;a href="https://www.steckschwein.de/slides/vcfe24/6502_Pacman_2025.pdf"&gt;Pacman slides&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Save the date - VCFe 24.0</title><link>https://www.steckschwein.de/post/2025/04/vcfe24/</link><pubDate>Wed, 16 Apr 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/04/vcfe24/</guid><description>&lt;p&gt;This year&amp;rsquo;s installment of the &lt;a href="https://www.vcfe.org"&gt;Vintage Computer Festival Europa&lt;/a&gt; is - again - a special one for us: VCFe 24.0 will be focused around &amp;ldquo;50 years of 6502&amp;rdquo;!&lt;/p&gt;
&lt;p&gt;So be prepared for lots of 6502 related and also unrelated exhibitions and talks!&lt;/p&gt;
&lt;p&gt;We will of course be there, too, presenting Marko&amp;rsquo;s Pacman implementation - the only one for 6502 based systems that replicates the look and the behaviour (including bugs) of the original arcade almost completely.&lt;/p&gt;</description></item><item><title>We have moved (again)</title><link>https://www.steckschwein.de/post/2025/04/moved/</link><pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/04/moved/</guid><description>&lt;p&gt;We have indeed moved again. As of now, our homepage at &lt;a href="https://www.steckschwein,de"&gt;www.steckschwein.de&lt;/a&gt; is no longer being hosted by Github Pages. Instead, we are now being hosted by &lt;a href="https://www.codeberg.org"&gt;www.codeberg.org&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Codeberg is a non-profit, community-led effort that provides Git hosting and other services for free and open source projects. We believe that a non-profit organization is a much better home for our project than a multi-billion-dollar multinational corporation based in the US.&lt;/p&gt;
&lt;p&gt;Our plan is to move all our repositories from GitHub to codeberg.org.&lt;/p&gt;</description></item><item><title>Flash - Master of the Universe</title><link>https://www.steckschwein.de/post/2025/02/flash/</link><pubDate>Tue, 04 Feb 2025 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2025/02/flash/</guid><description>&lt;p&gt;The &lt;strong&gt;28C256 EEPROM&lt;/strong&gt;, which holds the BIOS, has been our go-to choice since the early breadboard days. Before that, we relied on &lt;strong&gt;EPROMs&lt;/strong&gt;, which required UV erasure before every upgrade—a time-consuming and inconvenient process. Switching to an EEPROM significantly improved our workflow, reducing turnaround time.&lt;/p&gt;
&lt;p&gt;However, the &lt;strong&gt;28C256&lt;/strong&gt; has a couple of drawbacks:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;It cannot be written in-circuit&lt;/strong&gt; since it requires a 12V programming voltage, which the Steckschwein does not provide.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It is slow&lt;/strong&gt;, with an access time of &lt;strong&gt;150ns&lt;/strong&gt;, forcing us to introduce wait states to slow down the CPU when accessing the BIOS.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Because of these limitations, using ROM routines isn&amp;rsquo;t ideal from a performance standpoint. As a result, the BIOS&amp;rsquo;s sole function is to load the steckOS bootloader from an SD card into &lt;strong&gt;RAM&lt;/strong&gt; and start it.&lt;/p&gt;</description></item><item><title>Brainfck</title><link>https://www.steckschwein.de/post/2024/10/brainfck/</link><pubDate>Tue, 08 Oct 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/10/brainfck/</guid><description>&lt;p&gt;After introducing BASIC and Forth as interpreted languages on the Steckschwein, it&amp;rsquo;s time to add another unique and productive language—Brainf*ck.&lt;/p&gt;
&lt;p&gt;For those unfamiliar, Brainf*ck (or Brainf**k) is an &amp;ldquo;esoteric&amp;rdquo; programming language created in 1993 by Urban Müller, the founder of Aminet. You can read more about it on &lt;a href="https://en.wikipedia.org/wiki/Brainfuck"&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;A compact Brainfck interpreter can be found &lt;a href="https://github.com/Michaelangel007/brainfuck6502/"&gt;here&lt;/a&gt;, originally developed for the Apple ][. This version served as the foundation for the Steckschwein adaptation. The Apple ][ ROM calls were replaced with custom code, and the interpreter loop was optimized using 65C02-specific instructions, making it smaller and faster. Although performance gains in Brainf*ck aren&amp;rsquo;t critical, the improvements are noteworthy.&lt;/p&gt;</description></item><item><title>VCFe 23.0 - It's been great - as always</title><link>https://www.steckschwein.de/post/2024/09/vcfe-23.0-over/</link><pubDate>Mon, 09 Sep 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/09/vcfe-23.0-over/</guid><description>&lt;p&gt;We are reflecting on a very special VCFe, as it marked the 10th (or 10 1/2th) birthday of the Steckschwein.&lt;/p&gt;
&lt;p&gt;&lt;img src="../team_nop_cake.png" alt="Marko and Thomas presenting our 12 cycle muffin NOPslide"&gt;&lt;/p&gt;
&lt;p&gt;Reconnecting with old friends, making new friends, and celebrating and eating our 12 cycle muffin NOPslide together were all incredibly enjoyable experiences.&lt;/p&gt;
&lt;p&gt;Additionally, Marko allowed an exciting sneak peek into his nearly complete Pacman implementation, the first ever on a 6502 that closely replicates the behavior of the original Namco Pacman Arcade.&lt;/p&gt;</description></item><item><title>VCFe 23.0 - The wait is finally over</title><link>https://www.steckschwein.de/post/2024/09/vcfe-23.0/</link><pubDate>Mon, 02 Sep 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/09/vcfe-23.0/</guid><description>&lt;p&gt;The 23th annual European Vintage Computer Festival will take place on 7./8. September 2024!&lt;/p&gt;
&lt;p&gt;The special focus of this year&amp;rsquo;s VCFe is _50 years of 8080 and 6800 with a lot of exhibitions and talks around those CPUs.&lt;/p&gt;
&lt;p&gt;Also, the Steckschwein will celebrate it&amp;rsquo;s 10 year anniversary (more like 10 1/2 now) with you!&lt;/p&gt;
&lt;p&gt;We will be showing all Steckschwein incarnations from its humble and nameless beginnings on a breadboard to the current 512k SBC version!
Also, we will host a talk about the most important milestones and challenges in the last 10 years, and of course we&amp;rsquo;d like to celebrate!&lt;/p&gt;</description></item><item><title>Generating QR Codes</title><link>https://www.steckschwein.de/post/2024/04/generating-qrcodes/</link><pubDate>Wed, 24 Apr 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/04/generating-qrcodes/</guid><description>&lt;p&gt;In order to generate our own QR codes natively on the Steckschwein, we drew a lot of inspiration from this article &lt;a href="https://8bitworkshop.com/docs/posts/2022/8bit-qr-code.html"&gt;https://8bitworkshop.com/docs/posts/2022/8bit-qr-code.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It even points to an adapted version of the &lt;a href="https://github.com/danielgjackson/qrtiny"&gt;qrtiny library&lt;/a&gt;, that has been made to compile with cc65, &lt;a href="https://github.com/sehugg/qrcode_cc65"&gt;including a demo for the Apple ][&lt;/a&gt;, using cc65&amp;rsquo;s own &lt;a href="https://cc65.github.io/doc/tgi.html"&gt;Tiny Graphics Interface (TGI)&lt;/a&gt;. Which is very nice, because all the hard work has already been done.&lt;/p&gt;
&lt;p&gt;We have not implemented TGI (yet?), but we do have our rudimentary BGI (Borland Graphics Interface), which is similar.
So all that&amp;rsquo;s left to do is porting the code to BGI, which has proved to be fairly trivial:&lt;/p&gt;</description></item><item><title>VCFe 23.0 - UPDATE</title><link>https://www.steckschwein.de/post/2024/04/vcfe-23/</link><pubDate>Thu, 18 Apr 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/04/vcfe-23/</guid><description>&lt;h1 id="update"&gt;Update&lt;/h1&gt;
&lt;p&gt;VCFe 23.0 has been postponed until September 7th due to issues with the building.&lt;/p&gt;
&lt;p&gt;Save the date! The 23th annual European Vintage Computer Festival will take place on 7./8. September 2024 !&lt;/p&gt;
&lt;p&gt;And of course there can be no VCFe without Steckschwein. This time is special, as we first presented the humble beginnings of our (then nameless) favourite homebrew computer at VCF 15.0 in 2014.
So this year not only marks the 10th anniversary of the Steckschwein, but also the 10th anniversary of the VCFe being &amp;ldquo;home&amp;rdquo; of the Steckschwein.&lt;/p&gt;</description></item><item><title>Sorting Demo</title><link>https://www.steckschwein.de/post/2024/04/sorting/</link><pubDate>Wed, 17 Apr 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/2024/04/sorting/</guid><description>&lt;p&gt;To share my fascination for the numerous sorting algorithm videos on youtube, I took some sorting algorithm examples in C from &lt;a href="https://www.geeksforgeeks.org/sorting"&gt;https://www.geeksforgeeks.org/sorting&lt;/a&gt; and visualized them using our BGI compatible C graphics library (more about that later).&lt;/p&gt;
&lt;p&gt;The algorithms shown are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bubble Sort&lt;/li&gt;
&lt;li&gt;Cocktail shaker Sort&lt;/li&gt;
&lt;li&gt;Gnome Sort&lt;/li&gt;
&lt;li&gt;Insertion Sort&lt;/li&gt;
&lt;li&gt;Comb Sort&lt;/li&gt;
&lt;li&gt;Heap Sort&lt;/li&gt;
&lt;li&gt;Shell Sort&lt;/li&gt;
&lt;li&gt;Selection Sort&lt;/li&gt;
&lt;li&gt;Quick Sort&lt;/li&gt;
&lt;li&gt;Merge Sort&lt;/li&gt;
&lt;li&gt;Radix Sort&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The code examples from &lt;a href="https://www.geeksforgeeks.org/sorting"&gt;https://www.geeksforgeeks.org/sorting&lt;/a&gt; are only slightly adapted and could be compiled with cc65 almost instantly. The trick was only to find the places in the code where the interesting search array accesses happen.&lt;/p&gt;</description></item><item><title>Niklaus Wirth 15.2.1934 – 1.1.2024</title><link>https://www.steckschwein.de/post/rip-niklaus-wirth/</link><pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/rip-niklaus-wirth/</guid><description>&lt;p&gt;Niklaus Wirth has died on 1.1.2024 at the age of 89.
Known to most as the creator of the programming language Pascal, Wirth was also primary designer of the programming languages Euler, PL360, ALGOL W, Modula, Modula-2 and Oberon,
heavily influencing coming languages and the paradigm of object oriented programming, and programming methodology altogether.
Furthermore, he led the team designing the &lt;a href="https://en.wikipedia.org/wiki/Lilith_(computer)"&gt;Lilith workstation&lt;/a&gt;, a graphical workstation with a bitmapped graphical display,
heavily influenced by the Xerox Alto.&lt;/p&gt;</description></item><item><title>10 Years</title><link>https://www.steckschwein.de/post/10-years/</link><pubDate>Tue, 26 Dec 2023 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/10-years/</guid><description>&lt;p&gt;In order to fill the void in the days between Christmas and New Year&amp;rsquo;s Eve 2013, we began experimenting with a 65C02 on a breadboard. This little experiment would later evolve into an actually working 8bit computer.
10 years and some significant amount of focus creep later we had build this cool little 8bit machine with the specifications found &lt;a href="https://www.steckschwein.de/hardware/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The amount of new stuff to learn to design a new computer out of &amp;ldquo;old&amp;rdquo; or &amp;ldquo;retro&amp;rdquo; components was massive. We went about it as rather electronics noobs who only had basic knowledge about anything. We did not have a lot of experience with circuit board design. We did some assembly coding on the C64, but nothing as big and complex as a FAT32 filesystem, let alone some sort of an operating system, albeit a rudimentary one.&lt;/p&gt;</description></item><item><title>Saving ASCII sources in EhBasic</title><link>https://www.steckschwein.de/post/ascii_save_ehbasic/</link><pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/ascii_save_ehbasic/</guid><description>&lt;p&gt;Our FAT32 driver now supports byte-wise writing of a file. Reason enough to continue reworking the file handling of our EhBasic port that we started &lt;a href="https://www.steckschwein.de/post/ascii_ehbasic/"&gt;here&lt;/a&gt; to finally having the SAVE command write ASCII source files.&lt;/p&gt;
&lt;p&gt;The basic idea is to open a file, redirect the EhBasic output vector to our new kernel call &amp;ldquo;krn_write_byte&amp;rdquo;, then trigger the LIST command internally. The listing being output by LIST will then be written to the opened file instead the screen. Finally, once LIST is done writing, close the file and return.&lt;/p&gt;</description></item><item><title>It's a Long Way to the Memory Top, Part II</title><link>https://www.steckschwein.de/post/its-a-long-way-to-the-memory-top-ii/</link><pubDate>Wed, 26 Oct 2022 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/its-a-long-way-to-the-memory-top-ii/</guid><description>&lt;p&gt;This one really is a tough one to debug. At first, we suspected the VHDL code for the CPLD as the main error source, as VHDL is not our strongest suit. In fact, the decoder/banking logic is the first thing we ever really did in VHDL (apart from a few simple decoder equations the first days we were playing with GALs).&lt;/p&gt;
&lt;p&gt;As it turned out, the VHDL was not the main problem. It sure was quite buggy and the RDY-generator had problems, but overall it was not too far off.
Marko even managed to run a memory check over the entire 512k RAM, proving that even the banking logic works. Furthermore, he was able to clock the new board at 16MHz, which is another breakthrough, as a bonus.&lt;/p&gt;</description></item><item><title>Loading ASCII sources in EhBasic</title><link>https://www.steckschwein.de/post/ascii_ehbasic/</link><pubDate>Thu, 23 Sep 2021 00:00:00 +0000</pubDate><guid>https://www.steckschwein.de/post/ascii_ehbasic/</guid><description>&lt;p&gt;Since our implementation of FAT32 now supports reading a file byte for byte, a little rework of the file handling in our version of EhBasic is in order.&lt;/p&gt;
&lt;p&gt;In the past, we only could read or write a file as a whole, relative to the location in memory where the according pointer pointed to. We used this in EhBasic to save and load BASIC programs by dumping and reloading it’s binary representation from memory. While this works well, this approach has the major disadvantage that the saved program will be incompatible with other versions of EhBasic or even with our own when the token list is changed, which happens when adding new commands.&lt;/p&gt;</description></item></channel></rss>