Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Freedos package #15

Open
stuaxo opened this issue Oct 22, 2015 · 24 comments
Open

Freedos package #15

stuaxo opened this issue Oct 22, 2015 · 24 comments

Comments

@stuaxo
Copy link

stuaxo commented Oct 22, 2015

Any chance of a freedo package ?

http://fdnpkg.sourceforge.net/

Just realised the license is bsd, so they would probably have one if it existed

@BriSeven
Copy link

BriSeven commented May 5, 2017

I have no idea how I would do that. who maintains freedos packages?

@stuaxo
Copy link
Author

stuaxo commented May 6, 2017

It's basically a zip file with the format mentioned here

http://wiki.freedos.org/wiki/index.php/Package

I think usually the authors maintain the packages, I guess once it works it may be worth announcing it on one of the freedos mailing lists.

@stuaxo
Copy link
Author

stuaxo commented May 8, 2017

With some info from Matseuz Viste I've started experimenting with this + made a bash script that creates a package ANIMATOR.ZIP -

https://github.com/stuaxo/animatorpro-fdpkg

fdpkg has the idea of shortcuts to executables, since V CROP and PLAY might be the same as many other things, I've mapped them as ANIMATOR ANIMCROP ANIMPLAY.

@BriSeven
Copy link

cool. i'll have to work out how to run freedos to test it out

@stuaxo
Copy link
Author

stuaxo commented May 11, 2017

To test it in any DOS you just need fdinst.exe from fdpkg and set DOSDIR to point at a real directory somewhere.

There's a copy of ANIMATOR.zip here https://www.dropbox.com/sh/u85evagxfjz7dv5/AADbIUConZFD1ZtzGBpSabtUa?dl=0

Which I generated using the scripts I linked above.

@lifelike
Copy link

lifelike commented Feb 4, 2023

The packaged version looks like the original? What about a PRO package? Maybe it makes more sense to only provide a package for the PRO version, that I assume is better in every way? Or have two packages or include both in the same package maybe?

@stuaxo
Copy link
Author

stuaxo commented Feb 4, 2023

Oh wow, good sleuthing - and thanks past-me for grabbing that.

I think (may be wrong) - but all these names, are just the same thing, with AnimatorPro being the current name, Auto desk animator, from when it was licensed to them, and V from before (see the different names in the README https://github.com/AnimatorPro/Animator-Pro).

It might be worth seeing how well this works, I seem to recall issues with it - especially around the shortcuts that fdpkg installed that are supposed to launch bits, but maybe it''s fine.

It maybe worth checking out The fork @kattkieru has too - though I don't know if that still runs in DOS or is only for modern systems
https://github.com/kattkieru/Animator-Pro

@stuaxo
Copy link
Author

stuaxo commented May 8, 2024

The Cmake file looks like it only has been built for IOS and MacOS. In theory you should be able to build it by checking it out then in the project folder and running:

$ mkdir build
$ cd build
$ cmake ..
$ make

I'm not sure what you end up with.

@lifelike
Copy link

lifelike commented May 8, 2024

From a quick search it looks like cmake can be used to cross-compile to DOS, but I never tried that and have no idea how to set that up, and it is not likely to support Turbo C anyway. I think someone would have to make sure the application can be built with a more modern compiler first (gcc-ia16 maybe, as that is already included in FreeDOS?).

That fork contains updates that break DOS compatibility. There might be some bugfixes worth importing, but most of it looks like changes to make it build on other platforms, so not useful for making a FreeDOS package unfortunately.

@lifelike
Copy link

lifelike commented May 8, 2024

Guess if issue #27 is solved then it will be easy to make a FreeDOS package?

@stuaxo did you manage to build using OpenWatcom?

@stuaxo
Copy link
Author

stuaxo commented May 8, 2024

I have not tried that, though I have - at some point in the last year got OpenWatcom setup[1], so maybe I should try it.

[1]
I ported some of setup-openwatcom to bash:
https://gist.github.com/stuaxo/c140314d7ea07b32865df354a67ef188

And you can use it to install openwatcom in linux (only 1.9), as another way of installing it (though there are definitely more comprehensive ways of doing this).

@kattkieru
Copy link

I wouldn't bother with the main branch of my fork; all the work is currently in feature/poco. The TLDR is I got an M3 Max laptop, and the entire program breaks on Apple Silicon, so that put a damper on my plans and it's taken some time to get to a point where things aren't crashing.

Current status is that it builds and runs fine on macOS, but a lot doesn't work: Loading and saving files is broken, and many menu items still crash the app. Poco is a mess. I have most of the VM working (apart from variadic functions), but I have to integrate it into the main app now; it's not at all properly connected. Also haven't sorted how to remove the Poco menu when building -DWITH_POCO=off...

It will probably build on modern Windows? I haven't tried. It's on the list after proper undo and the iPad port, which are the only things that I personally care about. I'm deliberately using portable libraries to make this work, and everything is vendored in, so you don't need to download any extra dependencies.

You are free of course to use my CMakeLists.txt to bootstrap an OpenWatcom build, although I have no idea how that would work. I have zero interest in building for DOS and don't really understand why anyone else wants to. That said, the pristine pro folders are what you'd want, not the stuff I have in my fork because I'm slowly removing code that makes DOS / Amiga assumptions and replacing it with more portable stuff (see: how Poco called compiled functions with assembly; god-tier hack for the 90's).

As for my fork, I'll get around to Windows at some point but as nothing is super usable now, if you want to use the app your best bet is just using the zip of the original version with FreeDOS and not worrying about any new additions.

@dreamyshorpy
Copy link

Someone is helping me bring the MacOS fork to Windows and Linux. There'll be a PR for that sometime in the coming days.

In the meantime, is there a compiled version of PJ that I can use? I'm not very experienced with DOS so I was unable to get it building myself yesterday.

@lifelike
Copy link

lifelike commented May 9, 2024

"zero interest in building for DOS and don't really understand why anyone else wants to"

@kattkieru I am not here to argue or to convince anyone else, but FYI my reason for wanting to keep DOS support is that Dosbox is such an amazingly portable and STABLE virtual machine. If future versions of mainline Animator Pro keeps compiling for Dos(box) it will keep running everywhere, with no worries about some new Apple hardware etc (as long as someone, somewhere, can port one of the many Dosbox forks). I can even use Animator to doodle on my Android phone thanks to Dosbox. And any work going into improving the DOS version is extremely unlikely to be wasted, since the platform is 100% stable and will remain so.

Also, thanks to forks like Dosbox-X, there is HD (up to at least 1920x1200) support for DOS applications, so if a future version of Animator can have optional support for running in higher modes it would be a bit more modern. Might be a bit more work since that might require adding support for VESA2.

DOS support is really the only reason I can think of to want to use Animator over something like Aseprite or other modern software to be honest. There are some fun features, sure, but it is the portability that comes from being able to run in Dosbox that is the reason I am here at all. Personally I have no interest in forks that abandon DOS support.

@kattkieru
Copy link

kattkieru commented May 9, 2024

That actually makes a lot of sense.

On the other side of it, for me, I’m aware that HD and some of the things I want to do in Animator Pro in the long run will require hardware acceleration to make useful. Also, the porting work I’m doing would also be a good base for Android if someone (not me) wanted to put in that effort at some point.

Anyway, I wish you luck. Pristine Pro should still be buildable with Watcom; it’s just a matter of sorting out their build scripts.

As for patches, @dreamyshorpy if you meant against my fork I’d prefer to do the windows port myself and don’t have an environment to test Linux. Please feel free to fork my fork, though.

@dreamyshorpy
Copy link

dreamyshorpy commented May 12, 2024

I'd again like to ask if anyone has gotten PJ (Animator Pro) to build, even if it's with proprietary Watcom.

Never mind, I found one.

@dreamyshorpy
Copy link

dreamyshorpy commented May 14, 2024

@stuaxo @BriSeven Do either of you have emails or anything else you can be reached at?

@BriSeven
Copy link

BriSeven commented May 15, 2024

everything in this thread gets forwarded to my email. I am sorry that i have been a little absent from this project. At the point of @kattkieru’s fork split off, wangds had done a lot work to port the assembler files to c, thus reducing the project’s dependence on a very difficult to obtain assembler called Pharlap with its own weird dialect; designed to work with its particular dos extender and REX system (relocatable executable- a pre windows DLL -like system)

after porting, wangds wrote presumably working compilation instructions in a readme that i never had the time to test. if you can find that state of the repo, you can test it. I need to set aside some time myself to do work i have always intended to do: snow that animator pro is set up as an organisation I’d like to split this repo out into multiple repos for different things, so conversations like this can be a little less confusing and muddled

@dreamyshorpy
Copy link

dreamyshorpy commented May 15, 2024 via email

@stuaxo
Copy link
Author

stuaxo commented May 15, 2024

Real life keeps interfering and then I forget there was a conversation on here until I scroll down enough on my GH.

I have built AnimatorPro and managed to run it, a long time ago - but can't say I know the codebase.

@kattkieru
Copy link

@BriSeven Do you mean that wangds managed DOS compiles without assembly, with working poco and rex? That would be amazing.

If folks really want to go down the DOS road, I'd recommend commenting rex and poco out to start. My feature/poco branch has a WITH_POCO define that shows (I think) all of the spots. That will simplify things and should make the app work with other DOS extenders. I'd recommend attempting with Watcom 10.6 / dos4gw or djgpp / causeway. If rex really, really, really is needed (and I'd question that), Pharlap is on the Internet Archive.

That said, I still think the best path forward for everyone is to use more portable code and compile for target machines. The feature/poco branch uses libffi to get around the need for esoteric assembly, allowing the project to target almost any compiler / os / arch combo out there. I have the poco interpreter working; it's just functions with variadic calls that are an issue at the moment (stuff like printf(const char* msg, ...) <-- the ... bit is causing me guff).

Also, with portable code rex problems go away. We could use dlopen / LoadLibrary to directly open modern shared libs on all platforms. The way both poco and libffi work would help with this.

@dreamyshorpy If you want to configure the app for a single use, your best bet (currently) is to make a Poco script and ship that script in a bundle with the original DOS build. The UI is kind of hard coded, and until it's replaced with more flexible code, reconfiguring it will be a pain.

In terms of community, @BriSeven how would you feel about starting a Discord?

@dreamyshorpy
Copy link

dreamyshorpy commented May 15, 2024 via email

@dreamyshorpy
Copy link

I've went ahead and made an unofficial one for the time being. https://discord.gg/jPemwfXF If anyone in charge wants me to transfer ownership so that it can be official, I'll happily oblige.

@kattkieru
Copy link

@dreamyshorpy Possibly if you activate the tool. I haven’t written an involved poco script since 1997. 🤣

I joined the discord. Chat you there.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants