Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Taking NUFLI one step further
2024-11-10 22:46
cobbpg

Registered: Jan 2022
Posts: 36
Taking NUFLI one step further

I'm working on a new converter for creating images the C64 can display with as much freedom as possible: NUFLI Studio preview video.

The images are NUFLI with the sprite colour limitations lifted: all sprite colours outside the FLI bug area can potentially change in every row. While this is impossible in general due to CPU time limitations, the solution is to generate the speedcode that updates the registers ahead of time. The code generator can make informed decisions about dropping the least impactful register changes to fit everything into the available budget. In practice, most pictures don't require all the 10 possible colour updates on every scanline, far from it.

Another big innovation compared to Mufflon is the improvement in conversion speed. Lifting the sprite colour change limitations makes it easy to fully parallelise the brute force colour search step for each 48x2 pixel area (or 24x2 pixels over the FLI bug), and this allowed me to implement it as a compute shader. The whole process takes about 0.25 seconds on my three-year-old gaming laptop. Besides, when using the internal editor, only the affected areas are recomputed, and they can be previewed in VICE right away (note that the video shows some lag that's probably introduced by OBS somehow; it doesn't happen outside recording).

My hope is that making the feedback practically instantaneous (even when using an external image editor) opens the door for pixel artists to develop a much better intuition about this image format. Also, removing the limitation of only changing sprite colours every second row should make it a lot less frustrating to work with.

I'm not sure what to call this image format. This is 95% NUFLI, the only real difference is that the speedcode is also generated ahead of time (when run on NTSC, there's a patching step done by the displayer routine to make it work), so the files are 4096 bytes bigger (they load from $1000 instead of $2000, the rest of the structure is almost identical). I'm leaning towards "NUFLI2" to make it somewhat search engine friendly, but I'm open to ideas.

At the moment I'm in the process of writing a manual for the tool and a deep-dive article about the technical details. Hopefully neither of those will take too long!
 
... 76 posts hidden. Click here to view all posts....
 
2024-12-09 16:49
Oswald

Registered: Apr 2002
Posts: 5095
@cobbpg

I am on a 1366x768, and the nuflix window tries to resize itself to this, it seems it resizes all elements inside the window and I get horrible artefacts on the preview window, every 32 or 64 pixel sized quare block the pixels are doubled or not doubled.

Somehow you should tell the gui to never resize the preview windows, make it always 320x200 or double, etc.

also when I try to resize the window it always just wants to stay fullscreen.
2024-12-09 19:31
cobbpg

Registered: Jan 2022
Posts: 36
Thanks for the report, I'll look into that too for the next version. I set the default window size to 1600x900, and that might be part of the problem. As for the preview images, I can change the logic to ensure that they are only scaled by integer factors.
2024-12-09 19:51
Cybortech

Registered: Jan 2009
Posts: 16
@Digger: Yes! : )
2024-12-09 19:51
The Sarge

Registered: Aug 2002
Posts: 49
I really appreciate you making the effort coding this! Great work.

But after some testing I dont think I will ever be able to use this though. Its too unpredictable for my liking. Too much trial and error to make it work.

However some advice if you want to upgrade it.

- Zoom with scroll wheel on mouse.
- Pan by holding space key+left click on mouse to drag canvas around. Could also be scroll wheel click and hold to pan.
- Primary and secondary colour on left and right mouse buttons.
- A color picker tool. ALT+ left click on a color to set this colour as your primary color, ALT+right click to set secondary.
- Pixcen or Pepto palette. The one in the tool right now has very weird colours.
- Bucket Fill tool.
2024-12-09 21:33
cobbpg

Registered: Jan 2022
Posts: 36
Quoting The Sarge
I really appreciate you making the effort coding this! Great work.

But after some testing I dont think I will ever be able to use this though. Its too unpredictable for my liking. Too much trial and error to make it work.

No problem, thanks for checking it out!

Quoting The Sarge
- Zoom with scroll wheel on mouse.
- Pan by holding space key+left click on mouse to drag canvas around. Could also be scroll wheel click and hold to pan.
- Primary and secondary colour on left and right mouse buttons.
- A color picker tool. ALT+ left click on a color to set this colour as your primary color, ALT+right click to set secondary.
- Pixcen or Pepto palette. The one in the tool right now has very weird colours.

Yep, these features are all coming in some shape or form in the next version. I'm still thinking about how to make palette management convenient.

Quoting The Sarge
- Bucket Fill tool.

This is something I'm not so sure about. My current thinking is that this tool is primarily for adding the last touches where you really need full control, and you'd do most of the work in your preferred editor prior to that. I'd really want to avoid expanding it into a full-fledged drawing application, since there are so many alternatives already.

You can set up NUFLIX Studio to act as a simple pipe that processes your freely drawn image and sends it to VICE without requiring any interaction other than pressing save in your editor. A composable building block you can add to your workflow, if you will. Whether this workflow is actually viable remains to be seen, and it depends on how much feel you can get for the limitations. Having a single sprite colour affect a 48-pixel wide area can certainly be an annoyance...
2024-12-21 17:03
cobbpg

Registered: Jan 2022
Posts: 36
I'm happy to announce the release of NUFLIX Studio v1.1 just before the holiday season! ;)

The most important change since the previous version is that the exporter will always include all the necessary sprite moves to be able to display the full picture, no matter how many register updates the picture requires. Other than that, the editor was extended with some features requested by various people. For further details, check the full changelog.
2024-12-21 17:25
Jetboy

Registered: Jul 2006
Posts: 338
Awesome!
Sadly i won't find the time to play with it before christmas :( But then... :)
2024-12-25 15:23
CopAss

Registered: Sep 2004
Posts: 22
Quote: I'm happy to announce the release of NUFLIX Studio v1.1 just before the holiday season! ;)

The most important change since the previous version is that the exporter will always include all the necessary sprite moves to be able to display the full picture, no matter how many register updates the picture requires. Other than that, the editor was extended with some features requested by various people. For further details, check the full changelog.


cool!
2024-12-25 22:00
Monte Carlos

Registered: Jun 2004
Posts: 363
I appreciate your work too, but I'm missing a description what the new format enables one to do compared to the nufli reference. Is it just that the sprite positions are customizable or is it about the colors or both?
2024-12-25 22:42
cobbpg

Registered: Jan 2022
Posts: 36
For the time being only the ability to change the underlay colours outside the bug area in every scanline. Changing the sprite configuration is a possible future improvement, but it would require a rewrite from the ground up.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
MCM/ONSLAUGHT
goto80/HT
Tomxx/KAplus
et1999cc/HF/MS
Pajda/Faith Design
t0m3000/hf^boom!^ibx
zscs
Bob/Censor Design
FRaNKy/Smash Designs
Guests online: 133
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.6)
4 Coma Light 13  (9.6)
5 The Demo Coder  (9.6)
6 Edge of Disgrace  (9.6)
7 What Is The Matrix 2  (9.6)
8 Sprite Bukkake 2  (9.6)
9 Uncensored  (9.6)
10 Comaland 100%  (9.6)
Top onefile Demos
1 Layers  (9.7)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 Morph  (9.5)
7 Dawnfall V1.1  (9.5)
8 Libertongo  (9.5)
9 Katzen-Video.mp4  (9.5)
10 Onscreen 5k  (9.5)
Top Groups
1 Booze Design  (9.3)
2 Oxyron  (9.3)
3 Performers  (9.3)
4 Fairlight  (9.3)
5 Triad  (9.3)
Top Logo Graphicians
1 t0m3000  (10)
2 Sander  (9.8)
3 Mermaid  (9.5)
4 Shine  (9.4)
5 Pal  (9.4)

Home - Disclaimer
Copyright © No Name 2001-2025
Page generated in: 0.057 sec.