Farbfeld Utilities

You can talk about almost anything that you want to on this board.

Moderator: Moderators

Post Reply
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Farbfeld Utilities

Post by zzo38 »

Farbfeld is a new picture format invented this year. I did not invent the format, but I did write many utility programs for use with it.

This includes a program that can read/write tile sets in PC format ("B") as well as NES/Famicom format ("F8") and GameBoy format ("F"), and others. There are also other programs for converting to/from PNG and other more modern formats too (even Netpbm formats). If there are other formats used by old computers you can suggest them here and/or on the Fossil repository.

Download latest version: http://zzo38computer.org/prog/farbfeld.zip
Fossil repository: http://zzo38computer.org/fossil/farbfeld.ui/
Last edited by zzo38 on Sun Nov 26, 2017 10:45 am, edited 1 time in total.
(Free Hero Mesh - FOSS puzzle game engine)
lidnariq
Posts: 11429
Joined: Sun Apr 13, 2008 11:12 am

Re: Farbfeld Utilities

Post by lidnariq »

... So, it's NetPBM, without the advantages of NetPBM, written by a guy who has a bee in his bonnet about NetPBM... probably from the dozens of people previously asking him the exact same thing I just said.

NetPBM would strongly benefit from an included-alpha format, though.
The question you have to ask yourself is: Can I read in a format without consulting the manpages? If your answer is yes, then the format is simple enough. In this regard, NetPBM can be considered to be a failed format.
Someone never actually looked at the NetPBM file format if he thought he had to consult the manpage.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Farbfeld Utilities

Post by zzo38 »

NetPBM formats do have some stupid things such as using ASCII numbers even for binary formats, using gamma correction, and having to use varying depths. However, NetPBM also supports multiple pages, which is useful for "dvipbm" and "foo2zjs" (I wrote dvipbm myself, so that I could rasterize typeset documents to use on a host-based printer). This and other features may sometimes be good thing and make it suitable for some purposes, but in general I think farbfeld is just a simpler and better format for processing. My utilities do currently include conversion from Farbfeld to NetPBM (all six formats), although the other way around is not yet written (I will do so; I just didn't do it at first as reading NetPBM formats can be a bit complicated).

Farbfeld and NetPBM each have their own advantages (even the features I listed above as "stupid" are sometimes an advantage, but usually they are stupid), but Farbfeld is better in general in my opinion, as it is far simpler (perhaps look at some of my codes you can see how much simpler it really is). I do agree that NetPBM would benefit to have a alpha format too though, perhaps P7 for text and P8 for binary. This could be told to whoever make NetPBM, and once they do then I will also add it into my program to convert Farbfeld to NetPBM and also the reverse way.

Note also that I use Farbfeld only for processing and never actually save a file in Farbfeld format to disk, so in this way it is used only as a protocol (none of my programs require the input or output to be seekable, and note that you can use the <() feature of the shell for programs that require multiple inputs), although you can also use it for storage too.
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
Myask
Posts: 965
Joined: Sat Jul 12, 2014 3:04 pm

Re: Farbfeld Utilities

Post by Myask »

lidnariq wrote:NetPBM would strongly benefit from an included-alpha format, though.
And NetPAM isn't it?
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Farbfeld Utilities

Post by zzo38 »

Now it is possible to use "ffbit" program you can make output in NES/Famicom format. I don't know if it might be useful to anyone else but here it is. The "ff-strip" program might also be useful for dealing with tiles as it allows you to slice up the tiles into the correct order (bitff and ffbit require the tiles in a single vertical strip; ff-strip can reslice them into different orders).
(Free Hero Mesh - FOSS puzzle game engine)
calima
Posts: 1745
Joined: Tue Oct 06, 2015 10:16 am

Re: Farbfeld Utilities

Post by calima »

I also question the point in this. Both me and others have tools to convert from normal image formats to NES and back, such as PNG, editable with most existing programs.
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Farbfeld Utilities

Post by zzo38 »

calima wrote:I also question the point in this. Both me and others have tools to convert from normal image formats to NES and back, such as PNG, editable with most existing programs.
I do also have pngff/ffpng to convert from/to PNG, which you can use with pipes; as far as I am concerned it should be unlikely to ever store farbfeld pictures on disk.

But, of course you are not required to use my software, but it is available as a collection of programs that may find useful (there is also reduction to a specified palette (up to 1024 colours, and many methods are available including hold-and-modify), flip/rotate, conversion to Netpbm formats, convolution matrix, join pictures together, gamma correction, cropping, gradients, etc), and these can be combined when any other program anyone else writes that can use farbfeld format.

There are some people who like farbfeld and people who hate it. I happen to like it but doesn't need to store on disk. I also like UNIX-style command-line program, making every program a filter, making each program to do one thing well, etc; it is good ideas!
(Free Hero Mesh - FOSS puzzle game engine)
User avatar
bazza
Posts: 94
Joined: Fri Nov 24, 2017 1:36 pm
Location: Argentina
Contact:

Re: Farbfeld Utilities

Post by bazza »

zzo38 wrote:Farbfeld is a new picture format invented this year. I did not invent the format, but I did write many utility programs for use with it.

This includes a program that can read tile sets in PC format ("B") as well as NES/Famicom format ("F8") and GameBoy format ("F"). If there are other formats used by old computers you can suggest them here and/or on the Fossil repository. Currently it does not have the capability to write such formats, but only to read; I do intend to add the ability to write such formats too, so that it could be used to create tilesets for NES/Famicom games and for other purposes.

Download latest version: http://zzo38computer.org/prog/farbfeld.zip
Fossil repository: http://zzo38computer.org/fossil/farbfeld.ui/
Your have a documentation?
zzo38
Posts: 1096
Joined: Mon Feb 07, 2011 12:46 pm

Re: Farbfeld Utilities

Post by zzo38 »

bazza wrote:Your have a documentation?
See http://zzo38computer.org/fossil/farbfel ... umentation for documentation. Not all of the documentation is written yet, but it is a public writable wiki (you must login, but you can do so anonymously and do not need an account) to add what is missing. Since all source code is also available, that can also be used in addition to the documentation to figure out how it is working.
(Free Hero Mesh - FOSS puzzle game engine)
Post Reply