ecm's webbed site

2020 by C. Masloch. Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument. DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.

This document has been compiled on 2021-08-15.

News

2021-08-15 Aug Sun
lDebug release 3
2021-05-17 May Mon
Moved from ulukai.org to pushbx.org domain
2021-05-05 May Wed
lDebug release 2
2021-04-07 Apr Wed
The lDebug manual had a News chapter added
2021-02-18 Feb Thu
What is "pushbx"?
2021-02-15 Feb Mon
lDebug release 1

Projects

lDebug debugger

lDebug is a 86-DOS debugger based on the MS-DOS Debug clone FreeDOS Debug. It features DPMI client support for 32-bit and 16-bit segments, a 686-level assembler and disassembler, an expression evaluator, an InDOS and a bootloaded mode, script file reading, serial port I/O, permanent breakpoints, conditional tracing, buffered tracing, and auto-repetition of some commands. There is also a symbolic debugging branch being developed.

The manual (text, PDF) is available online. The repo is hosted at https://hg.pushbx.org/ecm/ldebug/ and releases are available at https://pushbx.org/ecm/download/ldebug/

TracList - Trace debugging output in listing files

A companion application to lDebug, connecting to the debugger's serial I/O. It traces execution through NASM format listing files. The manual (text, PDF) is available online. The repo is hosted at https://hg.pushbx.org/ecm/tractest/

RxDOS 7.2x kernel

RxDOS is an alternative DOS kernel. It is not yet ready for general use. Unlike the FreeDOS kernel, its source is entirely in assembly language. (As of RxDOS 7.20N the source has been ported from MASM to NASM.) Unlike DR-DOS, MS-DOS, and PC-DOS it is (copylefted) free software. It aims to support extended features such as FAT32, LFNs, and LBA. It already supports UMBs (for DOSDATA, DOSCODE) and the HMA (for DOSCODE). Support for additional extensions is planned, such as FAT+, cluster sizes exceeding 32 KiB, sector sizes up to 8 KiB, and moving many DOS data structures into the UMA and HMA. The repo is hosted at https://hg.pushbx.org/ecm/rxdos-7.2x/

lDOS boot loaders

Advanced boot loading stages used by kernels or other bootloaded programs. The repos are hosted at https://hg.pushbx.org/ecm/ldosboot/ and https://hg.pushbx.org/ecm/ldosmbr/

86 Mode NASM macro collection

A macro collection featuring parts such as defaultable defines for conditional assembly, stack frame calculation, anonymous @@ labels, safer sectioning directives, and assisted flag bit accesses. The repo is hosted at https://hg.pushbx.org/ecm/lmacros/

NASM 2.05 based x86 Instruction Reference

An assembly language reference covering all general instructions up to a 686-level instruction set. Includes encoding schemes and some general English-language descriptions. It is available online here (text, PDF). The repo is hosted at https://hg.pushbx.org/ecm/insref/

ACEGALS - Assembly Comments Explained: Guide for Advanced Learning and Style

A reference guide for our assembly comments and formatting styles. It is available online here (text, PDF). The repo is hosted at https://hg.pushbx.org/ecm/acegals/

Boot image FAT FS formatting script

A NASM script that allows formatting an image file with FAT12, FAT16, or FAT32. The filesystem can be preloaded with files. Both diskette or harddisk images can be created. Optionally an MBR and a dosemu image header can be wrapped around the image. For FAT32 a backup boot sector copy and an FSINFO sector can be initialised. Sector sizes between 32 Bytes and 8 KiB are supported. Likewise cluster sizes between 1 to 256 sectors. (Minimum cluster size is 32 Bytes, maximum is 2 MiB.) The repo is hosted at https://hg.pushbx.org/ecm/bootimg/

Links

ecm's files
https://pushbx.org/ecm/
 
ecm's github
https://github.com/ecm-pushbx/
 
ecm's hgweb
https://hg.pushbx.org/ecm/
 
ecm's stackoverflow
https://stackoverflow.com/users/738287/ecm?tab=profile
 
ecm's NASM bug reports
https://bugzilla.nasm.us/buglist.cgi?f1=reporter&list_id=1912&o1=equals&v1=pushbx%40ulukai.org
 
BTTR Software
https://www.bttr-software.de/
 
DOS ain't dead
https://www.bttr-software.de/forum/

What is "pushbx"?

The username ‘pushbx’ originates in Eric Auer's callver (public domain). A line there reads the instruction ‘push bx’ but has a comment that also reads ‘push bx’. The reason? There's a line further down which has the instruction ‘pop ax’ with the comment ‘but pop ax’. This hints at the fact that, to a beginner, it is unusual to push then pop with two different registers as the source and destination. I've been using pushbx as a username ever since at the latest 2012 March.

Source format of this page

This page has been created using the libre Halibut documentation preparation system.

Source Control Revision ID

hg 8edc5239f27e, from commit on at 2021-08-15 13:24:54 +0200

If this is in ecm's repository, you can find it at https://hg.pushbx.org/ecm/webecm/rev/8edc5239f27e