<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on ZXjogv</title><link>https://jogv.es/posts/</link><description>Recent content in Posts on ZXjogv</description><generator>Hugo</generator><language>en</language><lastBuildDate>Sun, 01 Mar 2026 17:53:34 +0100</lastBuildDate><atom:link href="https://jogv.es/posts/feed.xml" rel="self" type="application/rss+xml"/><item><title>My AI Companion</title><link>https://jogv.es/posts/2026/03/01/my-ai-companion/</link><pubDate>Sun, 01 Mar 2026 17:53:34 +0100</pubDate><guid>https://jogv.es/posts/2026/03/01/my-ai-companion/</guid><description>&lt;p&gt;AI evolution during the last months has been accelerating at a tremendous
rate.&lt;/p&gt;</description></item><item><title>A tool for creating Spectrum +3 game disks</title><link>https://jogv.es/posts/2024/04/12/dsktool/</link><pubDate>Fri, 12 Apr 2024 18:34:21 +0200</pubDate><guid>https://jogv.es/posts/2024/04/12/dsktool/</guid><description>&lt;p&gt;This article describes DSKTOOL, a tool for creating ZX Spectrum +3 game
disks in VTAPE format.&lt;/p&gt;</description></item><item><title>SP1 Multiscroll: Map Management</title><link>https://jogv.es/posts/2023/07/14/sp1_scrolling_multi_map_management/</link><pubDate>Fri, 14 Jul 2023 16:49:17 +0200</pubDate><guid>https://jogv.es/posts/2023/07/14/sp1_scrolling_multi_map_management/</guid><description>&lt;p&gt;&lt;em&gt;You can find a demo of the map scrolling system described below in the &lt;code&gt;src/sp1-multi-map&lt;/code&gt; folder or you can download &lt;a href="https://jogv.es/zx/multi-scroll-map-debug.tap"&gt;the TAP file&lt;/a&gt;. I encourage you to download the TAP file and play with it while reading the article; It will help you a lot to understand the algorithms described here.&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SP1 Multiscroll: Performance Baseline</title><link>https://jogv.es/posts/2023/07/09/sp1_scrolling_multi_baselines/</link><pubDate>Sun, 09 Jul 2023 15:47:33 +0200</pubDate><guid>https://jogv.es/posts/2023/07/09/sp1_scrolling_multi_baselines/</guid><description>&lt;p&gt;We can&amp;rsquo;t optimize what we can&amp;rsquo;t measure, so my first step at multiscrolling is to do some Proof of Concept routines and establish a code harness where I can run some accounting in the background, and run any routine I want while measuring its performance. Of course this harness is also a testbed to debug the scrolling routines during its development.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Multiple Directions</title><link>https://jogv.es/posts/2023/07/08/sp1_scrolling_multi_map/</link><pubDate>Sat, 08 Jul 2023 18:46:59 +0200</pubDate><guid>https://jogv.es/posts/2023/07/08/sp1_scrolling_multi_map/</guid><description>&lt;p&gt;&lt;em&gt;I finished one of my last posts &lt;a href="https://jogv.es/posts/2023/06/12/sp1_scrolling_updated_performance"&gt;&amp;ldquo;SP1 Scrolling: Updated Performance Review&amp;rdquo;&lt;/a&gt; saying that my next scrolling experiments would not be SP1 related. But then I had some new ideas about how to do multidirectional scrolling&amp;hellip; so I set myself for a new article series :-)&lt;/em&gt;&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Video Tutorial</title><link>https://jogv.es/posts/2023/06/18/sp1_scrolling_video/</link><pubDate>Sun, 18 Jun 2023 16:46:59 +0200</pubDate><guid>https://jogv.es/posts/2023/06/18/sp1_scrolling_video/</guid><description>&lt;p&gt;Following Derek Fountain&amp;rsquo;s suggestion, I have prepared a video presentation on my previous SP1 Scrolling articles. Some SP1 background and detailed explanations on how the examples work are included; they are also shown running:&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Updated Performance Review</title><link>https://jogv.es/posts/2023/06/12/sp1_scrolling_updated_performance/</link><pubDate>Mon, 12 Jun 2023 09:46:40 +0200</pubDate><guid>https://jogv.es/posts/2023/06/12/sp1_scrolling_updated_performance/</guid><description>&lt;p&gt;I have reconfigured all tests to use a 16x24-cell scrolling zone, which is a more realistic size for a scrolling game on the ZX. The results are proportionally similar to the previous ones, but with bigger differences between the baseline measurements and the optimized ones in Test 3 and Test 4.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Performance Review</title><link>https://jogv.es/posts/2023/06/11/sp1_scrolling_performance/</link><pubDate>Sun, 11 Jun 2023 14:24:23 +0200</pubDate><guid>https://jogv.es/posts/2023/06/11/sp1_scrolling_performance/</guid><description>&lt;p&gt;In this section I have compiled the performance characteristics for all the previous tests. For this, I have needed to normalize the code so that comparison between measurements are meaninful.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Tests 5 and 6</title><link>https://jogv.es/posts/2023/06/09/sp1_scrolling_test_5_6/</link><pubDate>Fri, 09 Jun 2023 19:04:06 +0200</pubDate><guid>https://jogv.es/posts/2023/06/09/sp1_scrolling_test_5_6/</guid><description>&lt;p&gt;I have decided not to explore the mentioned Test 5 case (partial column scroll), since again we will have the degenerated case of having to scroll most of the column most of the time, and also the scrolling is not the most time-consuming operation which is being executed.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Test 4</title><link>https://jogv.es/posts/2023/05/15/sp1_scrolling_test_4/</link><pubDate>Mon, 15 May 2023 23:50:51 +0200</pubDate><guid>https://jogv.es/posts/2023/05/15/sp1_scrolling_test_4/</guid><description>&lt;p&gt;It can be found in the &lt;code&gt;src/sp1-partial-inv-2&lt;/code&gt; directory. Based on Test 3, but changing the algorithm which keeps track of the cells to invalidate. Conceptually, this method keeps track of the position of each and every tile which is seen on screen, and periodically adjusts the cells that it invalidates in lockstep with the scrolling routine.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Test 3</title><link>https://jogv.es/posts/2023/05/12/sp1_scrolling_test_3/</link><pubDate>Fri, 12 May 2023 22:33:19 +0200</pubDate><guid>https://jogv.es/posts/2023/05/12/sp1_scrolling_test_3/</guid><description>&lt;p&gt;It can be found in the &lt;code&gt;src/sp1-partial-inv-1&lt;/code&gt; directory. Based on Test 2, but this one keeps track of the tiles that are present on each column, and only invalidates the cells that are affected by them. It also keeps track of how the tiles walk down the screen, and propery moves the cells to invalidate.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Test 2</title><link>https://jogv.es/posts/2023/05/06/sp1_scrolling_test_2/</link><pubDate>Sat, 06 May 2023 14:59:50 +0200</pubDate><guid>https://jogv.es/posts/2023/05/06/sp1_scrolling_test_2/</guid><description>&lt;p&gt;It can be found in the &lt;code&gt;src/sp1-sprites&lt;/code&gt; directory. It&amp;rsquo;s the previous Test 1 real scroller, but this time with sprites running all over the place, while the background is scrolling down.&lt;/p&gt;</description></item><item><title>SP1 Scrolling: Test 1</title><link>https://jogv.es/posts/2023/05/04/sp1_scrolling_test_1/</link><pubDate>Thu, 04 May 2023 10:30:04 +0200</pubDate><guid>https://jogv.es/posts/2023/05/04/sp1_scrolling_test_1/</guid><description>&lt;p&gt;It can be found in the &lt;code&gt;src/sp1-randomtiles&lt;/code&gt; directory. This is a real scrol|ler, using the workflow that would be used for a real game: tiles are drawn on some non-visible top rows and are brought into view by the scrolling process. In this example, the logic for printing tiles on the top is trivial, but in a real game those would come from a map.&lt;/p&gt;</description></item><item><title>Using SP1 for Scroller Games</title><link>https://jogv.es/posts/2023/05/02/sp1_for_scroller_games/</link><pubDate>Tue, 02 May 2023 14:25:26 +0200</pubDate><guid>https://jogv.es/posts/2023/05/02/sp1_for_scroller_games/</guid><description>&lt;p&gt;&lt;em&gt;(This is the first in a series of articles about developing scrolling games on the ZX Spectrum using Z88DK toolchain and the SP1 Sprite Library by Alvin Albrecht. All mentioned code and also draft versions of these articles can be found at &lt;a href="https://github.com/jorgegv/spectrum-vertical-scroller/"&gt;the GitHub repo&lt;/a&gt; )&lt;/em&gt;&lt;/p&gt;</description></item><item><title>RAGE1 version 0.5.0 is out!</title><link>https://jogv.es/posts/2022/12/11/rage1_0.5.0/</link><pubDate>Sun, 11 Dec 2022 19:20:30 +0100</pubDate><guid>https://jogv.es/posts/2022/12/11/rage1_0.5.0/</guid><description>&lt;p&gt;Hey friends: I have released RAGE1 0.5.0 after more than a year of
development, with loads of new features, such as 128K music with
integrated Arkos2 tracker, automatic map generation and many gameplay
improvements.&lt;/p&gt;</description></item><item><title>RAGE1 version 0.4.0 released!</title><link>https://jogv.es/posts/2021/10/02/rage1_0.4.0/</link><pubDate>Sat, 02 Oct 2021 19:00:35 +0200</pubDate><guid>https://jogv.es/posts/2021/10/02/rage1_0.4.0/</guid><description>&lt;p&gt;Hi people:&lt;/p&gt;
&lt;p&gt;The new release 0.4.0 of my RAGE1 Retro Game Adventure Engine is out, and it
comes with a huge improvement: automatic compilation of games for 128K
Spectrum!&lt;/p&gt;</description></item><item><title>RAGE1 version 0.2.0 released!</title><link>https://jogv.es/posts/2021/04/27/rage1_0.2.0/</link><pubDate>Tue, 27 Apr 2021 10:27:22 +0200</pubDate><guid>https://jogv.es/posts/2021/04/27/rage1_0.2.0/</guid><description>&lt;p&gt;I have released version 0.2.0 of my RAGE1 Adventure Game Engine for the ZX
Spectrum!&lt;/p&gt;</description></item><item><title>RAGE1 Library for ZX Spectrum</title><link>https://jogv.es/posts/2020/12/12/spectrum-rage1/</link><pubDate>Sat, 12 Dec 2020 14:19:25 +0200</pubDate><guid>https://jogv.es/posts/2020/12/12/spectrum-rage1/</guid><description>&lt;p&gt;Once upon a time&amp;hellip;I owned a ZX Spectrum Plus computer. I was 14 then, and
I have very good memories of this machine. When years ago emulator software
started getting popular, I was really excited to play some old games and get
in touch again with my old Speccy.&lt;/p&gt;</description></item></channel></rss>