Share Your Software

I'll start. Use my post as a general template. Provide as much or as little information as you like about your software. Only share your software if FreeBSD is among the supported platforms, otherwise this would be regarded as "too far off-topic". Cross-platform software is fine. But the focus of this forum is on FreeBSD, thus make sure anything you post here is only shared because FreeBSD is among the supported platforms, whether by the source code or in binary form if closed-source.

One software per post. No users should post twice in a row without letting others get a chance to share.

Name: panoview
Interface: GUI/CLI
Broad Category: Image Viewer
Original/Primary Author or Just a Contributor?: the former
Narrow Category: 360 Degree Cylindrical Panoramic Image Viewer
Supported Formats (where applicable, or N/A): *.PNG
Has Linking Exception In License: No
Permissive License: Yes
Commercial: No
If Commercial, Demo Available: N/A
Credit Author(s) Required: "Samuel Venable" copyright holder mention is optional in code comments, other authors required to stay in-tact.
Commercial Use Allowed: Allowed in all circumstances legal where you live
Redistribution Allowed: Yes
License: MIT, license changes permissible for derivative works, with the exception of "Unlicense"
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): FreeBSD 13.0-RELEASE-pX
Other Platforms Tested/Supported: Windows 10, macOS Big Sur, Ubuntu 20.04 LTS Focal Fossa, Raspberry Pi OS 10 Buster, DragonFly BSD 6.0.0-RELEASE-pX
CLI Usage (or N/A if not applicable): panoview [your-panorama.png-or-directory-containing-png's] [your-cursor.png]

Short description:
360 degree cylindrical panorama viewer - can be used graphically or from the command line

Long Description:

My panorama viewer has always supported viewing static panoramas in png format. I also used to support webm videos for animation and audio support. Writing the webm support though turned out a super problem when it came to attempting to loop the video, even super short two second loops took long enough to load into memory each time a loop starts there would be a noticeable pause that would almost every single time cause the window to turn black because pixels were still being loaded into memory.

The video was not being streamed and the API my code was based on had no obvious loop feature, so that effectively left me with the need to wait until the video reach its duration in code, stop it when that point in time is triggered, delete the video object, then reload the same video file originally loaded back into memory from scratch and play it again, and that's what happened under the hood every time the video looped, which is what caused the lag/black window.

As a workaround to these issues, i decided to drop audio support and replace the webm animation with playback of a sequence of png images. This can be done one of two ways; double click the app in your file manager app or from your desktop depending on where it is. Then simply select more than one PNG image from the open file dialog, as multi-select is now enabled unlike before this update. It will playback one image each frame per second, ordering them alphabetically, so for animation to display properly, make sure your frames are have filenames that match that order accordingly.

The other option is running the panorama viewer from the command line. In order to play animated png sequences by this means, you must pass a folder that contains multiple png files, instead of passing a single png. When passing a folder, it will auto-detect all of the png files contained in the folder you passed non-recursively, and like when done graphically, from the command line it will also order the playback one image each frame per second alphabetically. Make sure the folder only contains the desired files.

Available for Windows, macOS, Linux, FreeBSD, and DragonFly BSD. There are demo executables with install instructions and binary compatibility listed on the System Requirements from the Official GitHub Releases page. If there is a version of Operating System you would like to test on that doesn't meet the System Requirements listed for the demo executable downloads, be sure to try building from source code, and in most cases it should work "just work" provided you aren't using an OS that's too outdated.

Download Source Code / Binary Link (post malware and prepare to be reported/banned): https://github.com/time-killer-games/panoview

Screenshots:

68747470733a2f2f692e696d6775722e636f6d2f52706c376a49732e706e67


68747470733a2f2f692e696d6775722e636f6d2f70475a7345744e2e706e67
 
Name: v1541commander
Interface: GUI
Broad Category: archiver, emulators [port categories]
Original/Primary Author or Just a Contributor?: the former
Narrow Category: Floppy Disk Image Editor for the Commodore 1541 drive, used with the C64
Supported Formats (where applicable, or N/A): *.D64, *.LNX, *.PRG
Has Linking Exception In License: No
Permissive License: Yes
Commercial: No
If Commercial, Demo Available: N/A
Credit Author(s) Required: "Excess" (my C64 cracking group)
Commercial Use Allowed: Allowed in all circumstances legal where you live
Redistribution Allowed: Yes
License: BSD 2-clause
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): FreeBSD 12 and 13 (so far)
Other Platforms Tested/Supported: Windows (XP and newer), Linux. Other platforms likely, but untested (Qt5 required)
CLI Usage (or N/A if not applicable): N/A (so far, CLI tool is planned)

Short description:
Commodore 1541 disk image editor

Long Description:
This tool allows creating and editing Commodore 1541 disk images using the original Commodore DOS as well as the formats of 40-track "speeder" DOS variants DolphinDOS, SpeedDOS and ProLogicDOS. I started implementing it because the "de facto standard" tool (DirMaster) is "Windows only". It's still far from all the features DirMaster provides, but we will see! Notable extra features so far are support for DiskZip and Lynx archives. The source can be found here: https://github.com/excess-c64/v1541commander

Screenshots:
v1541commander-1.1.jpg
187433.png
 
Name: Homura
Interface: GUI and half CLI
Category: Games
Original/Primary Author or Just a Contributor?: Original/Primary Author
Permissive License: Yes
Commercial: No
Credit Author(s) Required: Copyright holder mention is optional in code comments, other authors required to stay in-tact
Redistribution Allowed: Yes
License: BSD 2
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): 12, 13
Other Platforms Tested/Supported: No
CLI Usage (or N/A if not applicable): Homura Install "Application", Homura Launch "Application" etc...

Short description:
Wine-based Game Launcher for FreeBSD

Long Description:

Launcher that makes it easy to run Windows games/launcher easily on FreeBSD by providing/applying the required fixes and workarounds.

When I started using FreeBSD there was no manager for wine stuff so i started to try to create one myself.

Download Source Code / Binary Link (post malware and prepare to be reported/banned): https://codeberg.org/Alexander88207/Homura

Screenshots:

1628975989772.png
1628976040820.png
 
Name: sysutils/libg15, sysutils/libg15render and sysutils/g15daemon (for now)
Interface: CLI
Category: sysutils
Original/Primary Author or Just a Contributor?: Adopter
Permissive License: No
Commercial: No
Credit Author(s) Required: I keep the old authors there
Redistribution Allowed: Yes
License: GPL-2
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): 12, 13
Other Platforms Tested/Supported: Artix Linux, Gentoo Linux, Arch Linux (would work in any distribution, it doesn't have too hard deps)
CLI Usage (or N/A if not applicable): Usually not necessary (it'll save your layout in /usr/local/etc)

Short description:
Logitech G15 keyboard and similar devices support daemon and libs.

Long Description:

Provides support for Logitech G15 keyboards and similar devices (Extra keys and LCD). Right now support the following devices:
  • G15 keyboard v1 (blue backlight, 18 'G' keys, LCD)
  • G15 keyboard v2 (amber backlight, 6 'G' keys, LCD)
  • G510 keyboard v1 (without USB audio)
  • G510 keyboard v2 (with USB audio)
  • G11 keyboard
  • Z10 speakers
  • Gamepanel available on some laptops
Download Source Code / Binary Link (post malware and prepare to be reported/banned):

https://gitlab.com/menelkir/libg15
https://gitlab.com/menelkir/libg15render
https://gitlab.com/menelkir/g15daemon

Those are WIP for FreeBSD, I'm work on it:
https://gitlab.com/menelkir/g15stats Works as expected, but have some minimal bugs, the PR is here.
https://gitlab.com/menelkir/g15message Works as expected, needs more tests.
https://gitlab.com/menelkir/g15composer Works as expected, needs more tests.
https://gitlab.com/menelkir/g15mpd Works as expected, a bit unstable on FreeBSD.
 
It was originally a facebook status update I Iater modified into this topic. I just fixed the link so it's direct and doesn't forward you to it. Although, not sure what difference that makes.
 
It was originally a facebook status update I Iater modified into this topic. I just fixed the link so it's direct and doesn't forward you to it. Although, not sure what difference that makes.

Thanks Samuel.

At my work, facebook is blocked. Period.

At home, I always use a script blocker (noscript et al) and this also blocks facebook. There's no need for it when the forum software makes perfectly useful links.

I am not lambasting you for this, it's obviously an oversight. I am just reporting it.
 
Name: games/dMagnetic
Interface: CLI
Category: games
Original/Primary Author or Just a Contributor?: Original
Permissive License: Yes
Commercial: No
Credit Author(s) Required: dettus.net
Redistribution Allowed: Yes
License: BSD 2-clause
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): 12, 13
Other Platforms Tested/Supported: IRIX, Solaris 10, OpenBSD, NetBSD, Debian, SUSE, Ubuntu, Gentoo, Windows 10, Arduino
CLI Usage (or N/A if not applicable): Fully playable

Short description:
A Magnetic Scrolls Interpreter

Long Description:

dMagnetic allows you to play the following classic text adventures:
  • The Pawn
  • The Guild of Thieves
  • Jinxter
  • Fish!
  • Corruption
  • Myth
  • Wonderland
It can load binaries from various sources:
  • Magnetic Scrolls Memorial .mag/.gfx files
  • D64 images from the Commodore 64 releases
  • MS-DOS binaries
  • Apple II .woz files
  • AtariXL
  • Spectrum DSK files
  • Acron Archimedes
  • Magnetic Windows Resource files


Download Source Code / Binary Link (post malware and prepare to be reported/banned):
https://www.dettus.net/dMagnetic
https://www.freshports.org/games/dMagnetic
https://repology.org/project/dmagnetic/versions



Screenshots:


shots023_pawn.png
shots023_jinxter.png

thepawn_photo4.jpg
shots024_d64_pawn.png
montage_modes.png
 
Name: games/dMagnetic
Interface: CLI
Category: games
Original/Primary Author or Just a Contributor?: Original
Permissive License: Yes
Commercial: No
Credit Author(s) Required: dettus.net
Redistribution Allowed: Yes
License: BSD 2-clause
Patent-Related issues with software: No
Officially Tested FreeBSD Version Supported (this field is required by topic): 12, 13
Other Platforms Tested/Supported: IRIX, Solaris 10, OpenBSD, NetBSD, Debian, SUSE, Ubuntu, Gentoo, Windows 10, Arduino
CLI Usage (or N/A if not applicable): Fully playable

Short description:
A Magnetic Scrolls Interpreter

Long Description:

dMagnetic allows you to play the following classic text adventures:
  • The Pawn
  • The Guild of Thieves
  • Jinxter
  • Fish!
  • Corruption
  • Myth
  • Wonderland
It can load binaries from various sources:
  • Magnetic Scrolls Memorial .mag/.gfx files
  • D64 images from the Commodore 64 releases
  • MS-DOS binaries
  • Apple II .woz files
  • AtariXL
  • Spectrum DSK files
  • Archimeds
  • Magnetic Windows Resource files


Download Source Code / Binary Link (post malware and prepare to be reported/banned):
https://www.dettus.net/dMagnetic
https://www.freshports.org/games/dMagnetic
https://repology.org/project/dmagnetic/versions



Screenshots:


shots023_pawn.png
shots023_jinxter.png

thepawn_photo4.jpg
shots024_d64_pawn.png
montage_modes.png
Oh, this kind of adventure is really awesome. I've used to play a lot of these kind of games on MSX and later on PC (Zork anyone?).
 
D64 images from the Commodore 64 releases
Just out of curiosity, did you implement the D64 format manually or use a library? Just asking because for my tool mentioned above, I tried to put all the functionality in a C library called lib1541img and I hope to find the time to further improve it in the future ;)
 
Just out of curiosity, did you implement the D64 format manually or use a library? Just asking because for my tool mentioned above, I tried to put all the functionality in a C library called lib1541img and I hope to find the time to further improve it in the future ;)
No, I did not. When I wrote my software, I was adamant to make it as portable as possible, and that meant: No dependencies on other libraries.
What I did was to read about as much as possible about the D64 format, and extract the necessary data from there. I documented everything, you can have a look, if you like:
https://dettus.net/dMagnetic/dMagnetic_datastructures.pdf Chapter 7, starting at page 33 is completely devoted to that particular format.

Fair warning: I wrote it mostly for my benefit. Sorry....
 
What about what language(s) it's written in? Maybe going forward.

Also, this thread seems to be on-topic, because it's specifically for FreeBSD. If it doesn't fit userland programming, or something better, here is good.
 
No, I did not. When I wrote my software, I was adamant to make it as portable as possible, and that meant: No dependencies on other libraries.
Well, the reason I'm asking is mostly curiosity about possible use cases for my library :) one of the design goals for it was zero dependencies and portability. But thanks for these interesting docs:
What I did was to read about as much as possible about the D64 format, and extract the necessary data from there. I documented everything, you can have a look, if you like:
https://dettus.net/dMagnetic/dMagnetic_datastructures.pdf Chapter 7, starting at page 33 is completely devoted to that particular format.
They reveal these games use their own custom on-disk format, instead of CBM DOS (or an extension of it), so my library would have been of very little use anyways: the physical layout of the disk is by far the smallest part of the lib.

I could have guessed that, fully custom formats were quite common on the C64 because of the many shortcomings of CBM DOS :cool:.

BTW great work to document everything that detailed! I should probably try to have similar docs for some of my own projects…
 
Back
Top