Public Discussions > General Discussion
ES/1 open source kernel
Andreas Kohl:
--- Quote from: Rick C. Hodgin on November 18, 2017, 08:20:16 pm ---
--- Quote from: Andreas Kohl on November 16, 2017, 09:43:46 pm ---So how it runs inside a VDM?
--- End quote ---
I was able to verify it runs in dosbox 0.74 for Windows. I haven't been able to figure out how to get it to use larger than an 80x25 text screen in dosbox, however, so it's limited. VESA reports no extended 132xYY text modes, so it may not be possible. The things I've been designing have been for my personal use and use 132x60 video modes. I'm working on posting some screen shots right now.
--- End quote ---
DOSbox is a special case. It doesn't offer accurate emulation of an IBM PC compatible architecture. Fortunately even under Microsoft's OS/2 derived products there is a broader choice of emulation methods. Virtual PC or Virtual Server can do the trick for a limited set of modes. VirtualBox or QEMU use the Bochs Video BIOS. And PCem https://pcem-emulator.co.uk/status.html offers support for different graphic adapters.
RickCHodgin:
--- Quote from: Andreas Kohl on November 18, 2017, 10:01:10 pm ---
--- Quote from: Rick C. Hodgin on November 18, 2017, 08:20:16 pm ---
--- Quote from: Andreas Kohl on November 16, 2017, 09:43:46 pm ---So how it runs inside a VDM?
--- End quote ---
I was able to verify it runs in dosbox 0.74 for Windows. I haven't been able to figure out how to get it to use larger than an 80x25 text screen in dosbox, however, so it's limited. VESA reports no extended 132xYY text modes, so it may not be possible. The things I've been designing have been for my personal use and use 132x60 video modes. I'm working on posting some screen shots right now.
--- End quote ---
DOSbox is a special case. It doesn't offer accurate emulation of an IBM PC compatible architecture. Fortunately even under Microsoft's OS/2 derived products there is a broader choice of emulation methods. Virtual PC or Virtual Server can do the trick for a limited set of modes. VirtualBox or QEMU use the Bochs Video BIOS. And PCem https://pcem-emulator.co.uk/status.html offers support for different graphic adapters.
--- End quote ---
I typically use VirtualBox and Bochs, but I haven't setup an IBM PC DOS 7 machine yet. But I'm sure it will work because I only use the absolute smallest set of BIOS functions, the rest is all reliant only upon the hardware itself, and should work on any compliant CPU.
ES/1 in production will probably only be an 80x25 video system like normal consoles, and I'll probably allow 80x50, and other modes via VESA calls which can enumerate their capabilities (the 3dfx Voodoo3 2000, for example, enumerates 132x25, 132x43, 132x50, and 132x60 as text modes).
And, it will be open source so people can port it to whatever they like. If the patch is good code, I'll accept it back upstream into the ES/1 mainline. :-)
I almost have the screen shot converter written. I am capturing text with attributes to a disk file, and then running it through a post-processor to generate the .BMP file, which will be converted to a .PNG file. Eventually I'll incorporate this ability in the text-based console using the iVio_screenCapture(filename); function.
RickCHodgin:
I doubt anyone cares about this project at this point, but to keep people posted here's where I am: I had to use my ES/2 fonts for generating this image, and they use my specially mapped upper ASCII characters. As such, they come through like the attached image, showing some characters incorrectly. The characters around the double-lines look correct, but the single-line borders were usurped by my own font characters, so they don't show up properly in this image.
I'll have to download the original VGA font bitmaps from the graphics card and re-generate the image.
RickCHodgin:
Updated image using the VGA 8x16 font. The original image above was with an 8x14 font.
RickCHodgin:
The two screens now rendered in an 8x14 font. The navigation from highlighted blue/cyan window to each of the other windows is with F6 and Shift-F6. Tab and Shift-Tab navigates input fields within each window. F12 saves a screenshot. Escape exits. All keys and mouse movements are routed through custom callback functions.
Other such windows can be created. A main form is created, and then windows are created and arranged within it. And then objects are added to each window allowing for inputs like labels, textboxes, editboxes, checkboxes, and other controls can be added as needed.
The source code for rendering the screenshots has been checked in. You can also see the font data extracted from the VGA card for 8x8, 8x14, and 8x16 modes.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version