Inércia 2023 Party Report


After the first demo party after the successful revival of “Associação Inércia” , the 2023 edition was held from December 1st to December 3rd .

The Associação Inércia was also able to get support from the Almada City Hall, which in turn allows us Associação Inércia to get access to a better location.

This year it was decided to use the term “Festival” to better describe the demo party, since it’s easier to explain to newcomers what the event is about.

A small disclaimer : This year I was more involved with the organization of this year’s edition , from helping with the party setup , design and printing of the trophies, event photos and info desk duty. And the content on this partyreport is my own personal opinion.

Continue reading “Inércia 2023 Party Report”

Voron 2.4 Build Post Mortem

3D printing is a rabbit hole. In one hand, it is an extremely flexible tool. The possibility to quickly go from a drawing, from an idea to a physical object, at an affordable price, is simply amazing. In other hand, depending on the person (if one likes to thinker), it becomes a hobby in itself.

When engaging a new tool, a new hobby I usually start with a cheaper tool, and then decide if I should pursue the hobby further should I outgrow the tool. This is where I am at with my ender 3 V2.

Continue reading “Voron 2.4 Build Post Mortem”

Inércia 2022 Party Report


Inércia Demoparty 2022 was the 1st Demoparty of the revived “Associação Inércia”, since 2006.

From 2002 to 2006 Inercia demoparty was held by the previous Inercia association. From 2006 to 2021 the organization fell back to psenough and jeenio, depending on the edition.

Inercia demoparty is the only regularly held demoscene event in Portugal.

So as far as I am concerned this demo party represents a new stage for the Portuguese demoscene. We may be few, but the Portuguese scene is still alive and well.

A small disclaimer : I’ve been involved only in designing and making the trophies for the Inercia Demoparty 2022. And this report is not meant to be a comprehensive report on every event at the party. And that this party report is my own personal opinion.

Continue reading “Inércia 2022 Party Report”

Inercia Demoparty 2022 Trophy post mortem

Trophies under post delivery inspection after unpacking.

Context : Revival of the Inercia Association

As far as I am concerned, Jeenio’s initiative of reviving Inercia association, and thus ensuring continuation of Inercia Demoparty, was a very important milestone on the portuguese demoscene.

And, as such, I wanted to find a way to contribute to Inércia demoparty. One of the organizers, psenough, asked for someone to print the trophies for the compos , and it seemed to be a good synergy between what I like to do and what contribution would be useful to the party.

How it began

Work on the trophies for the Inercia Demoparty 2022 began on April of 2022, using harvestpt Inercia designs as basis.
I was given free reign on the design and materials to use.

The community on scenePT discord was consulted and regularly informed of the progress of the work on the trophy design as it happened.


The major goal was to have a custom designed trophy – I did not want to just get a trophy from thingiverse and stick a inercia logo on it.

The trophies were designed on blender, sliced on Cura and printed on a Ender 3V2.

Continue reading “Inercia Demoparty 2022 Trophy post mortem”

Getting started on SEGA saturn development – Part 2

After the Hello World

After writing a simple hello world, 2 things are needed before proceeding :

  • Get the execution time, (and in turn, frame times) in order to properly write time based animations
  • How to get simple primitives drawn on the screen

Getting execution time

libyaul supplies following function

static uint16_t cpu_frt_count_get(void);

However the return type is a problem : it quickly overflows.
After some digging on discord, as well as examples provided with libyaul:

#include <yaul.h>

#include <stdio.h>
#include <stdlib.h>

uint32_t elapsed_time = 0;
static void _frt_ovi_handler(void);
static uint16_t _frt_overflow_count = 0;

void main(void)
    //initialize dbgio


    uint32_t frame_time = 0 ;
    uint32_t frame_start = 0 ;
    uint32_t frame_end = 0 ;



    /* Reset overflow counter after setting the FRT count to zero in case
     * there's an FRT overflow interrupt */
    _frt_overflow_count = 0;

        elapsed_time += frame_time;
        frame_start = ((65536 * _frt_overflow_count) + (uint32_t) cpu_frt_count_get()) / CPU_FRT_PAL_320_32_COUNT_1MS;
        dbgio_printf("Elapsed time :\t %u
        \nFrame_time :\t %u
        \nFrame Start :\t %u
        \nFrame End :\t %u
        \noverflow cnt :\t %u\n", 
        (unsigned int) elapsed_time,
        (unsigned int) frame_time, 
        (unsigned int) frame_start,
        (unsigned int) frame_end,
        (unsigned int) _frt_overflow_count);

        frame_end = ((65536 * _frt_overflow_count) + (uint32_t) cpu_frt_count_get()) / CPU_FRT_PAL_320_32_COUNT_1MS;
        frame_time = (frame_end - frame_start) ; // get tick count at start 

static void _frt_ovi_handler(void)

Now I’m able to measure the render time and also have the elapsed time.

Getting started on SEGA Saturn development – Part 1

A hello world on libyaul.

Nothing better than a simple hello world to get the feet wet on a new hardware.

My goal, as of April 2021, is to get a simple demo (as in demoscene demo) done by October, for Inercia Demoparty , for the sega saturn.

I’ve already had a USB dev cart for the sega saturn that I’ve brought from cafe-alpha, but had been gathering dust for several years.


As toolchains for the sega saturn I’ve found :

  • Libyaul : available for windows and linux. Tools such as emulators to test the code are already included.
  • Saturn SDK : SDK, libs and documentation.
  • Jo Engine : an open source 2d and 3d engine.

The list is not complete.
I´ve decided to stick to libyaul. On windows it was simple to setup, examples could be easy compiled out of the box, and it has a helpful and active community on discord , where the author of libyaul is also part of.

Hello World


The make file was just a modified makefile already available from the exemples provided with libyaul.


#include <yaul.h>

#include <stdio.h>
#include <stdlib.h>

void main(void)
    //init the subsystem to print debug text to the screen

    //enable vdp2
        dbgio_printf("\x1b[H\x1b[2J");  // clears the screen
        dbgio_printf("Hello World\n");  // actual text
        dbgio_flush();                  // flush 
        vdp_sync();                     // required at the end of each frame

Measure Light – The quest for a light meter for analogue photography – Part One

Light Meter
Light meter with a FTDI USB – Serial Interface for sw development

I love analogue photography, even more when it’s with fully mechanical medium format cameras, such as the Flexaret Automat VII, and the Hasselblad 500c.

However, where are some situations where the correct exposure is difficult to determine. On such cases, one could use a second camera for TTL metering (such as DSLR), a phone app…or a light meter.

On my location, an new sektronick light meter price varies from 109 € to 600 € depending on the model. On ebay you could get an used, cheaper , vintage light meter, but your mileage might vary.

So since the price and availability of light meters were not to my liking, I’ve decided to build my own from scratch, based on an arduino board, with some help of Pedro Virtebo, at Maquinas de Outros Tempos.

Bear in mind this is not the first or last time anyone has done something similar, a simple google search show a ton of similar projects, with different levels of polish. But just implementing these would not give me enough understanding of how a light meter works.

Continue reading “Measure Light – The quest for a light meter for analogue photography – Part One”

SEGA Naomi UNIVERSAL Arcade Cabinet

As someone who likes to collect video games, including arcade hardware, I was looking for a replacent for my current arcade cabinet (a wood cabinet with a 20″ Hantarex 15Khz monitor that I was still reparing).

After scouting the local used market, I came across a Naomi Universal Cabinet, with a sega Naomi board with Virtua Tennis (Power Smash).

The Naomi Universal Cabinet

The Cabinet

The Naomi Universal Cabinet is a Sega Cabinet with a 29″ 31Khz monitor, and JVS wiring released in 1999.
This cab was usually fitted with a sega Naomi Board
And it weights…..117Kgs.

Continue reading “SEGA Naomi UNIVERSAL Arcade Cabinet”

My next step into Analogue Photography : My Darkroom – Part 2

Although the darkroom was functional, there were some issues when using it :

  • The chemicals and trays were not stored near the darkroom desk (and therefore increases the setup time before I can do a single enlargement).
  • Spills would go strait into the wood bench, and the workbench was not waterproof.
  • Safe light position was sub optimal : it did not illuminate the trays properly, since the LED strip was laid on top of the workbench.


My (late 2018) darkroom prior to renovation.
Darkroom after renovation
Darkroom after renovation

Darkroom after renovation , with the safe light on.
Continue reading “My next step into Analogue Photography : My Darkroom – Part 2”

My next step into Analogue Photography : My Darkroom – Part 1


My current (late 2018) darkroom.

3 years ago, on 2015,  I’ve decided to experiment with analogue photography after I got comfortable with digital photography. And I had a simple plan, although without an explicit timeline :

  1. Get into a pin hole photography workshop to see if I really liked the analogue process, before committing more resources into it.
  2. Get started into B&W photography. I chose medium format because I liked the negative size (6×6).
  3. Learn how to develop my own B&W film at home.

Note that in processes that require some investment in tools or equipment such as developer tanks, trays, chemicals, enlargers, etc  I prefer to take a workshop first before buying any equipment, should I decide that my time and resources should be spent elsewhere.

However, after becoming comfortable with developing my own B&W film, it only became obvious what the next step should be : printing.

After taking a workshop on B&W printing, I’ve decided to setup my own darkroom.

My Darkroom

Darkroom, right before use, with the chemicals already on the trays

After deciding to make my own darkroom, several questions had to be answered before investing time and money (and its nothing new for someone who is looking into building one):

  • Location
    • Must be easy to be made light tight
    • Must have room for the enlarger to be permanently assembled
    • Must have room to have 3 trays + assorted materials for enlargements
  • Equipment (Bare minimum)
    • An enlarger
      • capable of handling 6×6 negatives
      • capable of handling contrast filters
    • Safe light
    • 3 Trays
    • Bottles to keep the prepared solutions ready for use.

Thankfully, my garage workshop had the space and was easy to be made light tight without much effort (only 1 small window, a vent and a door), with enough room to spare.


Materials / Tools

Supplies used. Unfortunately I was unable to obtain them locally.

Some of the equipment, such as the trays and RC paper, I’ve already had from my pinhole experiments.

However, the enlarger had to be sourced from a store 50 Kms away – I was unable to source it locally.
The multigrade filters was also purchased from the same store.

I was able to source an Meopta Opemus 6 enlarger, with an 80mm lens.
The Enlarger was in a very good state (it was brought a trusty store). With a bit of maintenance, it got even better.

Opemus 6 (minus the head) under maintenance : the condenser was disassembled for cleaning. Metal rails were cleaned and lubricated.

As for the safe light, I sourced a RGB Led strip locally. So far, when set to red, no fogging was observed on the enlargements.

RGB led strip being used as a safe light.  

I’m still lacking some equipment, that although it is not crucial, it will make my life easier :

  • An easel.
  • A focus finder.
  • An timer for the enlarger (probably going to build my own).

For the time being, for the first darkroom, although usable, there is still some more work such as :

  • Better separation between the dark and wet areas.
  • The enlarger should be enclosed, probable with a curtain
  • Forced ventilation must be implemented. 

To be continued…..