Posted By
 Mad on 2025-05-04 12:35:02
| DOS SpritePaint program
Hi everyone,
Here is a new sprite paint tool.
I've been struggling with Windows stuttering, boot issues, and other problems for a long time. I just wanted to do some programming again and came across FreeDos. It's basically a new "MS-Dos." You can easily create a bootable USB drive with https://rufus.ie. Rufus simply creates a USB stick to boot FreeDos. The system files are written to the stick (they're hidden in Windows Explorer). And if you have a computer with a legacy or CSM boot, the stick boots directly from the BIOS boot menu.
I just wrote a sprite painting program for DOS using PMode/W (uses up to 256 MB). It's quite slow, as I only emulated OpenGL for ImGui. Nevertheless, the program runs quite well on my circa-2010 desktop.
I'll continue to improve the program. It's funny how quickly it boots and how quickly you can draw sprites after pressing the power button. A basic tutorial can be found in the repository. It's compiled with WatcomC++. All you really need is the _sprite.exe.
All the best, and here's the repository. (Requires Vesa640x480x32 and a 16:9 monitor and a fairly fast CPU).
https://github.com/kosmonautdnb/SpritePaint_Dos
 |
|
Posted By
 Litwr on 2025-05-04 11:41:32
| Re: DOS SpritePaint program
Is this somehow relating to the +4? |
|
Posted By
 Mad on 2025-05-04 14:12:35
| Re: DOS SpritePaint program
Yes. Thanks for your comment.
It has a double pixel mode. If you want to paint sprites for your +4 game there aren't much alternatives. At least for our games I had to use photoshop and alikes. Some of these games had over 1000-2000 individual sprites. Topic is placed in "general" tab.
Just needed to explain how to get this tool running. Maybe too much explanations.
A little video: https://www.youtube.com/watch?v=1TvwSr7-zCg |
|
Posted By
 Litwr on 2025-05-05 03:58:47
| Re: DOS SpritePaint program
Thanks. Is it possible to download the built executables somewhere? Sorry I am a bit disoriented in your repository files. |
|
|
Posted By
 Litwr on 2025-05-05 14:25:02
| Re: DOS SpritePaint program
Thank you. It seems I've become more stupid than I could have imagined. I missed EXE-files in your repo! However, IMHO it is rather unusual to put EXE-files there. I was able to run the program under MS-DOS 8 using Virtualbox under Debian Linux. I have used FTP to move files to DOS. I don't use EMM386. It seems that the mouse does not work well for me. Maybe I should use a different mouse driver. Anyway, it seems I still miss the idea of how to use this program. IMHO it would be good if you provide example files. If I understand correctly, DESC.PNG is just a screenshot, and PAL.PNG is the +4 PAL palette. And no other demo files. |
|
Posted By
 Mad on 2025-05-06 08:30:16
| Re: DOS SpritePaint program
I made an "in-depth" video for the usage. It's around 25 minutes, maybe it helps..
On the top right of the screen you can find "FPS/.." if this number is below 8 in your Dosbox the program maybe not really usable. Maybe your mouse driver is well and the program is too slow.
I also added some test files to the repository. Lykia.ss is a sprite sheet.
Here the tutorial video:
https://www.youtube.com/watch?v=8JZ11G1h4Mw |
|
Posted By
 Litwr on 2025-05-06 02:31:26
| Re: DOS SpritePaint program
Thank you very much. The animations work! My system (VirtualBox 7.0) shows 11-12 FPS, while your YT video shows 3-4. How could you work? I slightly adjusted my mouse driver (set 2:2 resolution instead of automatic) and it became much better. And, of course, DosBox is too slow for this sprite editor. |
|
Posted By
 Mad on 2025-05-06 08:29:44
| Re: DOS SpritePaint program
Cool, thank you. I misstakenly did "read" DosBox. Seems like virtualbox does the trick. 12/13 FPS is also my current setup. The mouse sensitivity can be changed by a slider in the program. At least it works.
Currently I keep updating the program. |
|
Posted By
 SukkoPera on 2025-05-06 09:24:38
| Re: DOS SpritePaint program
Why go back to MS-DOS? Do you have a Linux build of this? |
|
Posted By
 Mad on 2025-05-06 11:50:09
| Re: DOS SpritePaint program
Currently no Linux version planned... I don't use Linux for myself.
|
|
Posted By
 Litwr on 2025-05-06 12:56:58
| Re: DOS SpritePaint program
Out of curiosity, I ran the program under MS-DOS 8 booted on bare metal. I used GRUB multiboot software and a 2 GB partition. I only got 12-13 FPS. So modern virtual machines are fantastic software. They don't slow down the CPU, but they can slow down other hardware components. @SukkoPera DOS is free like Linux. If you like retro-technologies DOS is the top on the list. However I am sure that under Linux I get less problems with the mouse. |
|
Posted By
 SukkoPera on 2025-05-06 13:21:09
| Re: DOS SpritePaint program
FreeDOS Is free like Linux (GPL), not DOS in general. But anyway this is not an ideology issue, it's just a practical matter, as I really wouldn't won't to boot a different ancient, non-multitasking, operating system (not even in a window), just for using a single program.
But even more than that, it might just be a cool challenge to get this working on Linux, I'll see what I can do!  |
|
Posted By
 Mad on 2025-05-06 15:02:27
| Re: DOS SpritePaint program
Thanks for your comments.
I plan to develop more programs in DOS. Maybe even all the Plus/4 stuff in DOS. (dasm.exe works already)
It's a shame it's no multitasking environment. Maybe libraries for Watcom C++ will be released soon that enable multitasking. I think it's not the operating system, but the computer itself. Direct ASM is finally back. Pthreads seem to work for DJGPP (DOS GNU C++). I only need simple threads, no malloc, etc.
When I want to program or do anything else, I just boot my stuff from the USB stick (in seconds).
For normal things like browsing the web, etc., a full-fledged operating system is obviously better.
I've created a commit that might be easier to port. You might use real OpenGL and ImGui (v1.43).
The slow frame rate (12FPS) is due to everything being software rendered with a full-fledged C++ 3D engine that uses polygons, ZBuffer, etc. Performance is not my problem, yet.
If someone tries to port it, that should really be fun. However I for myself don't do that currently. I even don't want to do a Windows version currently.
DOS is for me just some kilobytes that got load into memory. Not a several Gigabytes big OS. |
|
Posted By
 SukkoPera on 2025-05-06 18:28:22
| Re: DOS SpritePaint program
I'll see what I can do. I have already got the whole thing to build but now comes the hard part, as I have to implement all the graphics stuff and I really don't know anything about graphics...
Suggestion: don't copy the ImGui files in the source tree, add the ImGui repo as a git submodule.
UPDATE: Well, for someone who has no clue what he's doing, I got pretty far already! ;)
 1 |
|
Posted By
 Mad on 2025-05-06 20:47:57
| Re: DOS SpritePaint program
Wow, great. |
|
Posted By
 Litwr on 2025-05-07 03:49:04
| Re: DOS SpritePaint program
@Mad Why don't you boot from your hard disk? Actually DOS has ability to use multitasking, it is well known TSR together with the proper interrupt handling. @SukkoPera DR-DOS 7 and 8 are freely available. You can get MS-DOS 8 from your old XP distribution. PTS-DOS has a free variant with only one annoying thing, it waits 1 min during booting. There are even new DOS distributions, e.g. http://svardos.org/?p=repo And actually when you are running DOS in a virtual machine window under your host OS it gives you a little difference from your native programs. But, of course, the native programs are more convinient to use. BTW "ancient, non-multitasking, operating system" - is it about Commodore OS? Anyway multi-tasking is rather irrelevant for our task to edit sprite. |
|
Posted By
 Haegar on 2025-05-07 04:06:23
| Re: DOS SpritePaint program
The program looks very interesting. Maybe I'll get a chance to take a look at the editor one of these days. How are the sprites export work?
I'm currently working on my first game for the Colecovision (similar to the MSX standard) and therefore I'm dealing with real sprites for the first time. I'm currently looking for a good program for creating sprites and animations. |
|
Posted By
 SukkoPera on 2025-05-07 04:46:23
| Re: DOS SpritePaint program
@Litwr Those DOS are free as in free beer, but I always prefer stuff that is free as in free speech, basically meaning that sources are available under a reasonable license and they can be studied and modified. Only FreeDOS meets that.
Anyway, while I would understand having DOS as a target for us retro aficionados, I really don't understand why you would use it for actual development. I feel the better quality of today's retro releases is at least partly due to much better development tools and to how easy they can be integrated: you can draw graphics in some paint program, make music in a tracker, code into an editor and assemble all the stuff together with some build system. You can switch among them as necessary, share files, keep everything under version control, etc. On DOS tools are poor, you can only run one at a time (TSRs are a very limited example of multitasking!), you are forced to 8+3 filenames, there are no git/svn as far as I know, etc... To me it only sounds like you really hate yourself and want to make your development experience as hard as possible .
But that said, to each their own: if Mad is happy working under DOS, then be it! However I think this program has potential and could be much more useful if it also ran under modern OSs. |
|
Posted By
 Litwr on 2025-05-07 10:34:26
| Re: DOS SpritePaint program
@SukkoPera I agree that open source software is generally better, but for particular cases we can't assume this. Open sources are better for further development, but if the size of the sources is big enough, you need professionals to work with them. For ordinary users, this is rather irrelevant. How can access to the Linus sources improve my software for the +4? Actually I haven't booted DOS for many months. I just take the opportunity with this sprite editor. And if I would need this software, the operating system would be of minor importance. For a DOS program, I just run it in a window and easily import/export data from there to my host OS. This gives me a little more retro experience at very little cost. You don't have to use all your development tools in one OS like in the old days.  BTW if you need "true" DOS multitasking just run several virtual machines and build a network between them.  --The philosophical offtop about the hate-- I hate a lot of things in and around me. This is because a lot of these things are just very stupid, and this stupidity has traits of dark necessity about it. C'est la vie. However my connections to any OS are irrelevant here. --The end of offtop-- |
|
Posted By
 Mad on 2025-05-07 11:30:35
| Re: DOS SpritePaint program
@Haegar You have several options to export sprites. Most of them png files. Separate pngs with a counter, all in one big textures, single ones. Cool to hear that you do MSX like stuff.
@Litwr DOS needs FAT32 and max 32GB. I found no solution to split my partition or boot from different sources.
@SukkoPera I don't hate myself. It's just that Windows got unusable for me. Maybe I was an AI target or got some not findable RootKit. My source files changed on a day to day basis and I got !different! virus warnings directly after compiling my own programs. Several compilers broke. (CLion,gcc,VisualC,clang) The compiler only compiled some files every Nth click and so on and so on. Besides this Windows boot takes around 5-10 Minutes here. The malicious "stuff" started after I was expelled from my workplace but maybe that was a coincidence.
I coded in Linux at my work at TomTom and before, too. But I never got to the point of actually liking it. For work it's ok, though.
With DOS I was able to code again. Without malicious stuff.
OFFOFFTopic: I invented a new FeatureTracker at work and told everyone about it there was also a patentation process started at TomTom for it: https://www.youtube.com/watch?v=x2p36hzi4ow
-- offstopic also off --
I do a Windows port now.. |
|
Posted By
 SukkoPera on 2025-05-07 12:05:04
| Re: DOS SpritePaint program
@Litwr: It's just a matter of personal idealism: I am all for open stuff (I hope this was clear from all my releases!), and I go for it every time I can. If I have to use FreeDOS I will do it, if I have to use MS-DOS I will try to find a free and open alternative.
@Mad: You don't have to provide a justification, if that's what you like, then be it. I just find it a very odd choice, even more now that I know that you are well acquainted with Linux, and I fear it could hinder the adoption of the program, which in my opinion could be useful to more people than those who are ready to go through the DOS hassle. |
|
Posted By
 Mad on 2025-05-07 19:00:19
| Re: DOS SpritePaint program
@SukkoPera I just found out that there is a very old main.cpp in the project left. _sprite.cpp is the right "main.cpp".. I am currently cleaning up the code on Windows. So far no warnings here anymore. It already compiles on Windows but no linking, yet.. Maybe just take this source for Linux? I think I don't change the program much from here.
It runs now completely on windows. The conversion files are in a zip in the repository. _winsprite.exe is also added.
https://github.com/kosmonautdnb/SpritePaint_Dos
The DOS version seems to feel a lot "cooler" to the Win64 port.
edit: i forgot the timing of animations.. |
|