Releases: joncampbell123/doslib
Sound Blaster update and early alpha of a game
doslib-20201013-2322 more
VGA capture now with BDA
TMODESET updated to capture BDA (BIOS data area) per video mode snapshot.
MCGACAPM updated to capture BDA (BIOS data area) per video mode snapshot.
New improved VGA/MCGA capture and test
Test program TEST-FW/VIDEO/PC/TEST and HW/VGA/TMODESET now captures INT 1Dh CGA/MDA compatible video parameter block, and EGA/VGA/MCGA video parameter block via BIOS 40:A8
VGA2 library, minimal detection routines and minimal alphanumeric memory layout code.
VGA2 test program to set up stride or display width on MDA/CGA/PCjr/Tandy/MCGA/EGA/VGA, experimental
Fun with 86Duino, VGA, and PC-98 Sound Blaster
- 86Duino library, to talk to the GPIO and A/D pins on an 86Duino educake
- VGA library fixups and the beginning of a VGA2 library
- Sound Blaster library and test program now available for IBM PC and PC-98
- Adlib library support (not test program YET) for IBM PC and PC-98
- DOSAMP timer fixes
- DOSAMP now available for IBM PC and PC-98
Periodic release
More PC speaker tests
Fun with the PC speaker
- hw/8254 PC speaker test programs
Occasional release: 16-bit DOS linker work
Linker:
- 32-bit offset fixups
- Error condition removed if mixing use16 and use32 segments across OBJ files
- Fix COM/COMREL entry point JMP instruction to choose correct form (2-byte or 3-byte) depending on distance to entry point
- Fix COM/COMREL entry point JMP bug where offset 0x80-0xFF is still encoded as 2-byte JMP and therefore jumps to the wrong offset and crashes (intel x86 JMP short opcode encodes signed 8-bit offset)
- Fix COM/COMREL entry point JMP bug where offset decision is chosen incorrectly before segment layout
Removal of error on mixed use16/use32 and 32-bit offset addition is intended to mirror Open Watcom linker (which also allows it) and to permit possible COM/EXE mixed 16/32-bit code scenarios such as programs that create and maintain their own 16/32-bit mixed protected mode environment atop DOS.
Occasional release: 16-bit DOS linker work
Linker work:
- Linker now differentiates between local and global symbols (per OBJ)
- Test example to ensure the linker links local symbols properly
- Refinements to linker MAP file
Occasional release: 16-bit DOS linker work
Linker:
- MS-DOS device driver output format, flat (SYS) and segmented (EXE)
- MS-DOS device driver flat format (SYS) with relocation table (like COM) and entry point replacement
- FIXUPP 16-bit seg:off support added
- MS-DOS device driver examples for tiny, small, compact, medium, large targets
- More cleanup
Occasional release: 16-bit DOS linker work
LNKDOS16:
- COM and EXE targets
- COMREL target, in which absolute segment references are allowed through the linker appending a relocation table + fixup code to the end of the .COM file during linking
- COM option now supports 0 and 100h as well as any arbitrary offset
- Segments are now sorted by group, then class
- BSS and STACK are automatically moved to the end of the image
- COMREL now allows the OBJ file to determine the placement of the relocation table and fixup code by defining the __COMREL segments itself
- Fixed linker not to allow self-relative offset FIXUPP records that refer to another segment if the other segment has a different segment base