Content Type
Profiles
Forums
Events
Everything posted by CamTron
-
I just use a simple FTP server app on my phone and connect to it wirelessly from pretty much any PC. FTP is widely supported from Windows 95 to Windows 11 and Linux and shows up just like a folder in Explorer. MTP is an absolute pain to get working unless you're on Windows 7 or above (even Linux has trouble supporting it) so I don't use that.
-
Surprised nobody mentioned Visual Basic 6.0 yet. Back in the day, that's what coding beginners used to make simple apps, and it's an easy language to learn. Delphi is another great option, though Object Pascal language isn't used much outside of Delphi these days. If you want to get serious with programming, you should eventually learn C and C++. The Windows API is a C API, but it's quite low level, so not recommended for beginners. Microsoft created a few wrapper APIs like MFC and WTL to make things simpler, though. Believe it or not, the latest Visual Studio still supports writing C# apps that target .NET 2.0 and will run on Windows 98. However, running such an app on 98 requires installing the massive .NET framework which is annoying if all you need it for is a simple program.
-
KernelEx 2022 (Kex22) Test Versions (4.22.26.2)
CamTron replied to jumper's topic in Windows 9x Member Projects
@jumper Is the source code for these newer versions available? It's been over a year. KernelEx is supposed to be an open source project, and having the source is crucial to continue development. -
I'd have to agree. I played around with KernelEx years ago trying to see what software I could run, and finding all the DLL tweaks and kext configurations is exhausting. The information on this is scattered across a bunch of very long forum threads, and it's difficult to wade through. It would be great if someone could consolidate it on a wiki.
-
Seeking Privacy Disk Software for Windows 9x
CamTron replied to FantasyAcquiesce's topic in Windows 9x/ME
For wiping free space, there's the classic trick of creating a large junk file, copying it over and over until your entire hard disk is filled up, then deleting all of those copies. This effectively overwrites any leftover data in free space with junk. -
KernelEx 2022 (Kex22) Test Versions (4.22.26.2)
CamTron replied to jumper's topic in Windows 9x Member Projects
Is the source code for these KernelEx updates available? It would be nice to be able to continue adding functions even if this project goes dead. -
Is there a way to install a driver from a batch file in Windows 9x without going through Device Manager?
-
What Windows version is that on? Is it reproducible (happens even after a restart)?
-
I'm pleased to announce that this driver is approaching a usable state. Here is my new version with many of the aforementioned problems now fixed. Please keep in mind that this is still pre-release alpha software, and is rife with bugs. For testing purposes only. vboxdisp.7z Known bugs in this release: 16-color mode is broken and will result in an unreadable display. Only use this driver with 256 or more colors. Though in reality, you probably want more than 16 colors anyway. Resolutions above 1152x882 may cause the system to crash. Changing color depth in the Display Properties does not take effect unless the machine is restarted. You may occasionally get a message saying "Invalid VxD dynamic link call to device number 3, service B." when rebooting the machine. Switching in and out of full-screen DOS prompts too quickly may visually corrupt some characters. Going into a full-screen DOS prompt while other DOS prompts are on the screen may result in graphical glitches in the full-screen DOS prompt.
-
I managed to solve a few more issues! As of my latest code changes, DOS prompts now switch in and out of fullscreen mode correctly (which is something that even VBEMP has trouble doing), the graphical glitches are gone (caused by stack corruption in one of my functions), and the stability has improved dramatically. I've run into one case where the DDK documentation is WRONG! According to the 95 DDK (and the 98 DDK), the signature for the ValidateMode is: UINT WINAPI ValidateMode(DISPLAYINFO FAR *lpValMode); but in reality, it should be UINT WINAPI ValidateMode(DISPVALMODE FAR *lpValMode); It has this incorrect information in multiple places. While similar in name, the DISPLAYINFO and DISPVALMODE structures have very different layouts, and mixing them up will cause your code not to work as intended. Only by examining the sample code did I figure out that the struct pointer passed in should be DISPVALMODE.
-
Unable to upload any files (Error code: -200)
CamTron replied to CamTron's topic in Site & Forum Issues
I was able to attach a file yesterday, so maybe this is fixed now? -
Good news is I finally solved the freezing issue by adding BANKEDSCAN to the deFlags member of PDEVICE. I'm not entirely sure what caused it, but I suspect it has to do with a string instruction in DIB_BitBlt triggering an endless loop of page faults when trying to copy between video memory banks, since both the source and destination addresses of a string instruction must be mapped at the same time. Anyway, adding a few flags causes the DIB engine to work around the issue. I might switch to using the graphics adapter's linear framebuffer mode in the future.
-
I now have a partially functional graphics driver! Source code is included along with a floppy image (install.img) that can be installed in a VM. Please note that this is only compatible with VirtualBox and will not install on any other virtual machine software. Issues: Attempting to open a DOS prompt on Windows 95 will cause a BSOD. It seems to work okay in 98, except for full screen mode not being implemented yet. Hovering over menu items in Windows 95 is glitchy. Attempting to drag a window left or up, or attempting to scroll anything will completely lock up the system. No 2D acceleration yet, so everything is slow. This driver is highly unstable. Expect many random freezes, crashes, and BSODs. The Display properties dialog passes in garbage to my ValidateMode function when trying to determine valid resolutions and bit depths. I've hardcoded 640x480 32-bit color for now. The third bullet point is the most annoying one, and I'm at a roadblock as to figuring out what's causing it. Dragging a window to the left or up immediately hangs the machine. The mouse cursor can move, but nothing can be clicked on or interacted with. SoftICE isn't helping, either. It can detect faults and crashes, but has no way of isolating a freeze. vboxdisp.7z
-
Is there a way to automatically install a driver (such as through a batch file)? I'd like to automate the process instead of having to go through Device Manager every time I make a change to my code.
-
Oddly enough, I never seem to get that crash in Windows 95. It only happens in 98. My driver is based on the Windows 95 DDK framebuf sample, so maybe something was changed in Windows 98. I'm currently rewriting it to make the code easier to follow and removing the unused code for old graphics cards like Video7 and ATI Wonder.
-
If you're looking for a fully integrated OS like Windows, I think you'll be disappointed in most Linux distros. The big distros like Ubuntu, Mint, and Fedora come close, but I still have to do more troubleshooting (sound and wireless networking is a hot mess on Linux) than on Windows 10. However, it may be a solution to some of these people complaining about the telemetry, lack of customization, high system requirements, and UI changes in Windows 10, as long as you're willing to deal with a steep learning curve.
-
I set up a 98FE virtual machine, converted dibeng.sym to dibeng.nms, and loaded those symbols into SoftICE. However, the stack trace (STACK command) is still just giving me a generic "=> DIBENG(03) at 0367:0FC4 [?]" instead of telling me the actual function name. I'm also unsure of how Windows determines which segment (or selector) a DLL gets mapped to. The crash is happening in segment 0367, but the MOD command shows dibeng.dll loaded at segment 0337. A DLL normally has multiple segments for code and data, as well.
-
What is the difference between the debug and release versions of Windows? I played around with a debug build of Windows 95 once and aside from the build number being displayed on the desktop, I didn't notice any difference.
-
7-zip says it's not a valid archive. Interestingly, I get a different file if I set the Wayback machine to 2000 vs 2008, however, both versions just crash with an invalid instruction when run. I'll just set up a Windows 98 FE VM. It's simpler than tracking down some 20 year old files on the internet.
-
The Windows 98 DDK (despite MDGX saying "SE") appears to only have symbols for Windows 98 First Edition. I tried downloading the "Windows 98 Second Edition Retail Symbols" from here (link from the MDGX page), and I get a Win98SE.exe file (which appears to be a DOS program). Running it results in an invalid instruction operation, and it does nothing. I can install First Edition in my VM, but I'd like to get symbols for Second Edition, as that's what I have set up right now.
-
I guess I'll give my opinion on this. The OS that I think is the most fun to use would be Windows 2000. The UI was a result of many well-done studies by Microsoft in the 90s, and provides an interface that's efficient and intuitive. The control panel is very organized with config dialogs that are simple, but not dumbed down. However, the OS is old and not very usable as a daily driver due to lack of hardware and software support. There are a handful of improvements I've seen since 2000 then like the taskbar grouping in XP, the searchable Start menu in Vista, and the Aero Snap feature in 7, but most of the changes were unnecessary cruft just to make it look shiny and different or to catch onto design fads. Linux by far provides the most functionality of any OS I've used. Want to make a ramdisk, create and edit disk images, completely change the look of your desktop, and take total control over what your computer does? Linux can do that with no problem. However, being such a hodgepodge of software from various developers, the user experience and consistency between applications in Linux is not great. Many programs can do a lot, but require reading pages and pages of documentation to understand how to use them and figure out what all the command-line switches and configuration files do. I'm personally a Linux user now, but finding one's balance between user experience and functionality can be difficult.
-
Is there any place I can download debugging symbols for Windows 98 SE, specifically for DIBENG.DLL? Opening certain dialog boxes makes DIBENG.DLL crash at this line of code, and if I knew what function it was crashing in, I may be able to figure out why.
-
What Is The Best Linux Distro In 2021?
CamTron replied to legacyfan's topic in Other Operating Systems
I also use Linux Mint. I chose the Xfce version because in my experience, I've had fewer bugs and problems with it. Mint is a nice, fully featured Linux distro for a desktop or laptop, and your computer is more than powerful enough to run it. -
Yes, that's basically what I figured out. I'm using Linux, and my script creates a virtual null modem. I have the Windows 98 VM running in VirtualBox, which is connected to one end of the null modem, and I'm running the SERIAL.EXE program in DOSEmu (a DOS emulator for Linux), which is connected to the other end of the null modem and allows me to view and control SoftICE. The virtual serial connection is a bit slow, but at least now I can see and control the debugger without its output getting messed up by my WIP graphics driver.