home.social

Search

60 results for “sijnstra”

  1. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  2. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  3. Time for another image viewer for - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. source code and binary is at:
    github.com/sijnstra/agon-proje

  4. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  5. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  6. Another fine #z80 machine is the Tiki-100, hailing from Norway and running an OS that was compatible with #cp/m 2.2, called TIKO. This one has a pixel-based display which is rendered by the character out BDOS calls, making it a little slow, but still a lot of fun to work with. The boot disks and emulator are all Norwegian which was a fun challenge. The testing process also uncovered that the emulator has a timer bug, so the timing is different to that on real hardware. In the end, it all worked rather well. I ended up using the one colour highlight available to simulate bold text, bringing my #Infocom #Inform #Z-machine interpreter #Vezza to yet another machine. Download the binary from gitlab.com/sijnstra1/vezza

  7. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  8. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  9. I recently took advantage of some temporary discounts and acquired the by Heber. It's a focused package of the , complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software.
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  10. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  11. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  12. Time for another programming option for the #AgonLight family... #Pascal! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets #z80 machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr #retrocomputing

  13. Time for another programming option for the #AgonLight family... #Pascal! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets #z80 machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr #retrocomputing

  14. Time for another programming option for the family... ! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr

  15. Time for another programming option for the #AgonLight family... #Pascal! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets #z80 machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr #retrocomputing

  16. Time for another programming option for the #AgonLight family... #Pascal! I've re-targeted PASTA/80, an open source Turbo Pascal 3 compatible cross-compiler that targets #z80 machines. It's still early days, so expect a lot of weirdness and issues, and things that can be improved. It has a dependency on sjasm+, so there are a few quirks in how I've had to pull together the Agon libraries. You also need a Pascal compiler to compile the compiler. All the instructions, source and some examples are on the github repo: github.com/sijnstra/pasta80/tr #retrocomputing

  17. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  18. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  19. I wanted to use more graphics on my and the best project that came to mind was to display .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  20. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  21. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  22. The Grundy #NewBrain was an interesting #z80 based machine from 1982. One of its more remarkable features was a built-in single line display in addition to the video out, allowing for some portable use. The machine was targeted at business use and didn't get a large amount of platform specific software. It ran a version of #CP/M 2.2 with an efficient implementation giving it a large TPA. The platform also supports inverse characters, although without a specific control code to toggle so I need to manually track reverse character mode and toggle the top bit accordingly. With some gymnastics in memory management, a 50Hz timer is available, allowing me to count the ticks for the 10Hz timer expected by a full featured #Zmachine
    Now that it's properly tested and running, you can download the latest addition to the #Vezza family from gitlab.com/sijnstra1/vezza and if you are curious about the NewBrain you can get the emulator and other info from newbrainemu.eu/new/

    I've attached screenshots of the Bomber game in action, as well as the #Infocom classic A Mind Forever Voyaging.

  23. While porting #Vezza for another #z80 platform (the Grundy #NewBrain), I noticed that there was an issue with the timer routine for the #MSX version. It turns out that the code was in there for the MSX version was using the MSX clock, however, it was not calculating the time properly, The MSX has a fine-grained timer which allows me to measure the time to the nearest 0.1 second as required for the #Zmachine standard. This makes the MSX version one of the few that I have written which supports the full fine-grained time requirement.

    While for normal text adventures, this timer resolution might not make much difference, some of the fun post-#Infocom games, this distinction is used. One of the games that I've tested which works properly now is the `bomber.z5`, a real time game where you need to drop bombs from the plane to create a flat landing for your plane. Check the screenshot below for the action! Download the latest from sijnstra.itch.io/vezza
    #retrogaming #retrocomputing

  24. Back to fun platforms to port my #Vezza #Infocom #Zmachine interpreter - this time it's the Enterprise 128. A 4MHz #z80 machine from the mid 80s, it has a great emulator, and a bespoke DOS known as IS-DOS, with a lot of compatibility with both CP/M 2.2 and #MSXDOS. While it needed quite some tweaking, a lot of the heavy lifting was done with my original #MSX version before it was optimised. As I understand, the #Enterprise128 didn't have a great library of games for it, so hoping this helps! Get it while it's hot at gitlab.com/sijnstra1/vezza Screenshots are the IS-DOS 1.0 version running Border Zone, and the IS-DOS 1.1a version running Beyond #Zork.

  25. Another wet weekend, another #Vezza release! I was asked to adapt my #Infocom interpreter to another platform - this time the #SinclarQL. An interesting request as it uses a #Motorola 68008 CPU, however, it does have the ability to emulate a #z80 on #CP/M. I was given some pointers on which versions worked to some extent, along with some documentation. Fast forward a few days and I had adapted one of the VT52 versions crossed with other features, and now #Sinclair QL users can enjoy in CP/M mode their #Inform #ZMachine adventures. Yes, there's a native terp as well, however, this was only a few days worth of massaging to get it to work on the SUCCESS CP/M Emulator - the proof is in the screen shots. You can download the executable here gitlab.com/sijnstra1/vezza/ #retrocomputing #retrogaming

  26. After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

    The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

    To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

    What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!

    More details in the devlog and downloads can be found at:
    #TRS80 versions sijnstra.itch.io/m4zvm
    #CPM #CPM80 versions sijnstra.itch.io/vezza

  27. After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

    The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

    To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

    What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!

    More details in the devlog and downloads can be found at:
    #TRS80 versions sijnstra.itch.io/m4zvm
    #CPM #CPM80 versions sijnstra.itch.io/vezza

  28. After much testing and code comparison, the new Feb 2025 Release of - my high speed is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

    The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for and . Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

    To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

    What this all means is that your favourite and other text adventures will all play on your favourite z80 platforms even faster than before!

    More details in the devlog and downloads can be found at:
    versions sijnstra.itch.io/m4zvm
    versions sijnstra.itch.io/vezza

  29. After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

    The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

    To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

    What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!

    More details in the devlog and downloads can be found at:
    #TRS80 versions sijnstra.itch.io/m4zvm
    #CPM #CPM80 versions sijnstra.itch.io/vezza

  30. After much testing and code comparison, the new Feb 2025 Release of #Vezza - my #z80 high speed #zmachine is ready! Took way longer than expected to synchronize across all of the code bases, particularly making sure that all optimizations made it across all platforms - TRS-80 model 1, TRS-80 model 3, TRS-80 model 4, the CP/M versions (~18 platforms), the embedded versions (Spectrum tape, TEC-1G), and slowly pushing into the Agon Light version (which has even more updates still in progress). Lots of individual tweaks, and some major rethinks and rewrites have come together to accelerate game play.

    The hardest part of rewriting in this update involved rewriting the dictionary search code. I ended up going back to the original jzip interpreter, written in C for Unix waaay back when. Jzip provided much of the logic that went into ZXZVM, which provided the base for #M4ZVM #M3ZVM and #Vezza. Going back to Jzip made sense as Jzip has an even longer history; and is highly tested and stable and still maintained. This research gave me the confidence that the streamlining and changes I was making to such a fundamental part of the game would work, making all inputted dictionary searching more efficient.

    To work around how CP/M stores executable files I spent a lot of time re-organising the memory map to make the executable smaller. This involved rearranging where the initialization code was stored inside the increasingly complex layout. Support across multiple versions means I needed to break up variable sized code and strings to sit inside variable sized gaps, while still compiling all the CP/M versions from the same interconnected set of source files. It needed quite a few manual checks to ensure that it all worked.

    What this all means is that your favourite #infocom #punyinform and other text adventures will all play on your favourite z80 #retrocomputing platforms even faster than before!

    More details in the devlog and downloads can be found at:
    #TRS80 versions sijnstra.itch.io/m4zvm
    #CPM #CPM80 versions sijnstra.itch.io/vezza