• Please review our updated Terms and Rules here

XCOM vintage gui system

xdotcom

Member
Joined
Dec 3, 2022
Messages
19
XCOM (for DOS)

Xcom (GUI system) has released for DOS. Xcom is a multi-windowed desktop environment with a file manager - it allows you to browse, copy, view and manage your files, start and stop programs, watch and listen basic media content and music. Unlike other windowing systems and protocols, it integrates the basic functionality as a monolithic, cohesive program.

vLR5PIg.png



Xcom is a free of charge program. This software is still in pre-alpha stage, but its already functional.
Xcom can run on 386DX based computers (SX is maybe supported as well).
It requires 16 MByte (virtual) memory to run smoothly.

PLEASE NOTE: This is a public pre-alpha test-version.
Use at your own risk. Beware of bugs (there will be).
4NpBxKQ.png


It should work on DOS and DOS clones, it offers a better alternative against Windows 3.1 on retro machines.
Features:

-Taskbar
-Start menu and right click menus
-File management
-Fast start and boot
-Sound Blaster compatbility for sound
-SVGA (VESA VBE) for high-color and true-color display output
-Keyboard and mouse support
-Viewing and editing text files
-Viewing pictures and listening to audio
-AVI support (YUV)
Features for retro computers:
-Can force-copy files with bad sectors
-Compiled with FPU emulation (untested, needs more testing)
-Can run simple (16 bit) DOS programs and games
-Can exit to dos
-Starts and stops within seconds

Website: xcom.infora.hu/index.html
Download: xcom.infora.hu/xcom.zip
 
Last edited by a moderator:
Thankyou. I am working on this gui system for about 2-3 years. It has older code refactored from far older projects of mine, so i was able to develop it relatively quickly. I release 2-3 updates per year, which all containing bugfixes and new features.
 
I remember when you first posted you were doing this project, Well done for following through with it :)
 
Last edited:
2023, jan 25. - Compression, decompression, bugfix

-Added support for file compression
-Added support for file decompression
-Currently, 7z, zip, arj, rar is supported.
-You must download and install the compressor program separately, as Xcom doesn't have the compressor built in.
Be sure to insert the compressor and decompressor programs in the PATH.
Infozip (zip232x.zip) and unz552x3 are tested and recommended as a compression/decompression program.
-Switching the drive letter now works properly in the terminal.
-Fixed a graphics glitch when opening the exit menu from the start menu.
-File finder now opens properly from the start menu.
-Removed non-working legacy elements from the menu.
-Changed the width of the right-click menu.
-Upper-case dos style CD command now works in the terminal.
 
This is pretty cool! I have a few suggestions:

1. Plain VGA uses monochrome mode, I guess this is by design? But you could use 16 colors.
2. IMO mono mode would look better if there wasn't dithering for the GUI elements (except maybe button shading)
3. When you run an exe from the file explorer, it should change the DOS directory to match the current folder. That way the exe can find the files it expects.

You should also consider changing the name. XCOM is a popular video game series and it is also trademarked by XCOM Labs.
 
This is pretty cool! I have a few suggestions:

1. Plain VGA uses monochrome mode, I guess this is by design? But you could use 16 colors.
2. IMO mono mode would look better if there wasn't dithering for the GUI elements (except maybe button shading)
3. When you run an exe from the file explorer, it should change the DOS directory to match the current folder. That way the exe can find the files it expects.

You should also consider changing the name. XCOM is a popular video game series and it is also trademarked by XCOM Labs.

Thankyou for the feedback, i knew about the third problem, but i simply forgot to fix it in this release, even if i planned to do so, because am an idiot.
Unfortunately i dont have a PC right now for approx week, so i cant do a hotfix for this bug right now. I already ordered the missing parts, but they was not yet delivered to me. If someone feels an urge to send me a donation so i can continue to work on the project more faster, then the crypto addresses are on the website :D

The first point: i can only do linear frame buffers for now, 16 bit VGA video mode is not linear, therefore, 16 color is not supported. I can alternatively suggest to try 320x200 x 8 bit, which going to work with a standard vga adapter. However, the colors are a bit broken there, because none of the 30 year old tutorial code which took me 6 hours of googling actually ever worked properly, due to palette issues, for that few days of attempts i have spent for it, so i dont know if regular vga adapters will work properly beyond monochrome colors, therefore i decided to go with the mono route instead. 16 bit and 32 bit SVGA (vbe) modes should work far better, so if its important for you to use the system with colors, then i suggest you to get a video card with at least 1 mbyte of video ram, and a vesa driver if the ROM doesnt supports it out of the box.

Second: i was fine tuning (and will continue later) the colors on the gui, to look better in monochrome. Without it, nothing would be visible Unfortunately the dithering happens in the final phase of the draw, the rendering is always 32 bit, and scaled down when displaying the picture. This means i cant simply decide what to dither and what not to dither. Unless i am fine tuning the colors specially for mono modes, which i mostly already did. I was very excited about testing the mono modes on a real hardware to check how it looks like, unfortunately, the video card i have dumpster dived for this reason, almost catched fire when i powered it up for the first time due to possibly a faulty capacitor, so this is another upgrade for an unspecified later time in the future.
 
2023, feb 01. - Hotfix release

-When running programs from file browser, the system will properly change the working directory
according to the path of the executable file. (Bug reported by Plasma.)
-Fine-tuned the ALU and FPU benchmarking in the Infoformation panel, which will be more accurate from now on.
-Fixed a bug when pressing buttons on a minimized window - button push events will not be sent.
 
2023, march 01. - Big updates

-Left side panel with directory tree structure is now finally implemented and working.
-The GUI system displays the changes in real time, when moving, copying, deleting files and directories around.
-Fixed a bug resulting crash, when pressing cursor keys when the software was loading.
-Image preview sizes are now limited by the RAM size.
-Fixed a bug when pressing cursor keys when the software was loading.
-Fixed a bug when displaying long files names with international letters.
-Directory side panel can be toggled on and off.
-Disk drives can be unmounted and ejected (not in the DOS version).
-Fixed missing icon styles when browsing My Computer.
-Fixed several bugs resulting accidental directory selection.
-Fixed a bug that resulted the file explorer to update even when it shouldn't.
-Fixed a performance related bug when reading large directories from DVD drives. The system now stays more responsive than before.
-The system will now poll for new drives less frequently.
-The preview engine will not engage until a copy to the given directory finishes.
-Added support to detach and eject the disks (not under DOS).
-Fixed a bug causing the preview engine to accidentally activate when selecting files.
-When reading or writing to floppy disk, the system will use smaller data chunks.
-Better detection of auto-opening files with known extensions.
-The program will automatically ask for a program to open files with unknown extensions.
-Directory display area resizer now reacts faster.

2cUdw0e.jpg
 
2023, sept 01. - Translations and bugfixes

-10% faster rendering speed
-Added new EGA and Hercules code
-Clearing tree information from memory when explorer process exits.
-Fixed stability issues when reading ini file at start
-GUI password protection is implemented, and can be enabled.
-Multi-language update: translations are now possible. Error message translation system is not yet added - it will be added later.
-Added Hungarian language.
-Added a new wallpaper (public domain).
-Fixed the hang of wallpaper slideshow if bad image file was opened.
-Fixed the hang of slideshow in image viewer, if bad image file was opened.
-Open Recent menu is fixed and working.
-Terminal will remember old commands (left cursor key).
-Per-application level sond volume control bugs fixed.
-Screen locking functionality was missing in start menu.
-Fixed a bug causing crash when opening blank file in file browser.
-Ethernet and wifi management implemented (dusabled under DOS)
-Missing escape key functionality implemented in file browser.
-System configuration applet was missing from start menu.
-Performance is increased, when files are ordered by name.
-Bug fixed: file dates in a specific line were flickering in the file explorer sometimes.
-Auto-reordering implemented, when clicking on a window that has an active file browser subwindow.
-File browser implemented for directories.
-Fixed some memory garbage when saving configuration ini file in DOS mode.
 
Where in the world are you that it is already the 1st of September for you? :D

Anyway, very nice work.

I was two days ahead of my bug checklist, due to the weather forced me to work on this software on my laptop (random power and internet outages).
 
2023, sept 08. - Hotfix release

-Enabled system realloc to be fully utilized
-Fixed icons in Tools and System menu.
-New game icon added for file types (d64, t64, nes, prg, nds, iso, and so on)
-Fixed C and H file icons
-Added experimental support for PIF and LNK files.
-Fixed icons for MP4, WMV, VMA, MPEG and MKV files.
-Fixed missing CRTL+A hotkey functionality for file browser
-Fixed missing CRTL+ALT+PGUP and PGDOWN functionality for text editor and file browser.
-Fixed missing DOS binding for Shift+UP/LEFT/RIGHT/DOWN hotkeys.
-Added hourglass animation when loading text files.
-Fixed a sound memory size bug causing crash in some cases (reported by analog_programmer).
-Shift+Escape will bring the start menu up (requested by appiah4).
-Fixed garbled ini file when saving sound settings.
-Fixed a crash when pressing CRTL+A in terminal.
-Fixed a bug when saving extension assignations.
-AVI file format is now properly detected before attempting to play it with the internal video player
-Several DOS key bindings were fixed.
 
I am more and more impressed by the work that you have completed. For DOS TCP/IP support, have you considered integrating either http://www.watt-32.net/ or https://www.brutman.com/mTCP/ ? That would be the icing on the cake, from the DOS side.

I believe that both of those support DJGPP, which, I believe, is the compiler that you are using.

- Alex

I am glad you enjoy it. Yes, the application is compiled with DJGPP. Thankyou for recommending these libraries. I was aware of the watt32 library, i found the libraries for it a couple of weeks ago. I haven't checked or researched it deeply yet. If it will be as simple as including the headers, then it will be an easy task (besides possibly adding a few ifdefs), as the network code is implemented - but disabled - inside.
 
Back
Top