Andrew Bird
6092afc74d
Build: Country submodule now has production target
...
When country was converted to a submodule (by me) the production
installation target was hacked onto the kernel subdirectory Makefile
which wasn't ideal. Introduce a production target into the country
Makefile that does the installation. Since we want the submodule to be
buildable standalone, we can't include the variable definitions from the
upper level, such as $(DIRSEP) and $(CP), so the caller has to pass those
in at build time if using the production target.
Tested on Linux (GCC + Watcom) and DOS (Watcom)
2024-02-24 17:38:14 +00:00
Andrew Bird
3c97674cbf
Country: Update submodule
2024-02-24 17:38:13 +00:00
Andrew Bird
4c58d4c7e2
CI: Add DOS builds
...
1/ Watcom 1.9
a) Kernel and other directories building fine
b) Share doesn't support Watcom for TSR.
2/ Turbo C 2.01
a) Kernel build needs some functions that are missing.
b) Sys not building for the same reason,
c) Share building nicely.
d) Need to figure out how to get tc201 compiler to Github Actions
3/ IA16-GCC
a) not currently supported by build.bat so commented out
2024-02-24 17:37:41 +00:00
Andrew Bird
be11b50252
Share: Update submodule
2024-02-23 15:00:48 +00:00
E. C. Masloch
8552d833bb
boot: fix boot loader assembly listing files [ fixes #97 ]
2024-02-18 14:20:56 -05:00
E. C. Masloch
1cd4a75e98
sys: fix, allow odd magic offsets to work as expected
...
Created using this scriptlet:
sed -i -re 's/\(\(int \*\)newboot\)\[([0-9A-Fa-fxX]+)\/sizeof\(int\)\]/\*\(int \*\)\(\&newboot\[\1\]\)/g' sys/sys.c
2024-02-18 14:20:56 -05:00
E. C. Masloch
fc3032deb7
oemboot: use magic offsets macro
2024-02-18 14:20:56 -05:00
E. C. Masloch
19058ff1bf
sys: correct a magic offset (problem: odd offsets won't work)
2024-02-18 14:20:56 -05:00
E. C. Masloch
9783ac97e0
boot32, boot32lb: mark magic offsets with macro
2024-02-18 14:20:56 -05:00
E. C. Masloch
d9b0615ad5
magic: prepare for FAT32 use
2024-02-18 14:20:56 -05:00
E. C. Masloch
5a6d3a449f
makefile: list magic.mac for boot
2024-02-18 14:20:56 -05:00
E. C. Masloch
bcf3c1701a
magic.mac: extract from boot.asm
2024-02-18 14:20:56 -05:00
E. C. Masloch
4ae6f22249
sys, boot: mark additional magic offsets
2024-02-18 14:20:56 -05:00
E. C. Masloch
eb75bea6c1
boot: display new magic offset in hexadecimal
2024-02-18 14:20:56 -05:00
E. C. Masloch
4d30378bb6
boot: extract magicoffset macro
2024-02-18 14:20:56 -05:00
E. C. Masloch
b5414153c6
boot: display new magic offset (but in decimal)
2024-02-18 14:20:56 -05:00
E. C. Masloch
f036741b6b
sys: update magic offset of OEM FAT12 jmp offset
2024-02-18 14:20:56 -05:00
E. C. Masloch
55f2a81406
sys: check default content of all magic offset patchsites
2024-02-18 14:20:56 -05:00
E. C. Masloch
0776645017
boot: move READBUF and READADDR_OFF/SEG to allow 8 KiB sector size
2024-02-18 14:20:56 -05:00
E. C. Masloch
5cbe1ffcf0
boot: fix and update memory layout map
2024-02-18 14:20:56 -05:00
E. C. Masloch
ef10fa11e3
boot32, boot32lb: fix and update memory layout maps
2024-02-18 14:20:56 -05:00
E. C. Masloch
2aa51a1992
boot: move cluster list to 1FE0h:2200h (128 KiB file, up to /L 0x200)
...
1FE0h:2200h happens to be linear 22000h. Like the memory map
update to the FAT32 loaders for #127 this allows to load a
file of up to 128 KiB (rounded to cluster size) with an /L
parameter for SYS of up to 0x200.
2024-02-18 14:20:56 -05:00
E. C. Masloch
4682e23b57
boot: rename FATBUF to CLUSTLIST to better reflect use (oemboot pick)
2024-02-18 14:20:56 -05:00
E. C. Masloch
9ac407ae63
boot32, boot32lb: avoid big file overlap with FAT sector [ fixes #127 ]
2024-02-18 14:20:56 -05:00
Kenneth J Davis
edd0732433
move FAR item to own line
2024-02-11 08:59:32 -05:00
Kenneth J Davis
a593799eb0
add some comments regarding relocation of kernel during configuration
2024-02-10 17:38:19 -05:00
Kenneth J Davis
114236da17
allow selection of COM port for debug prints easily overridden during compile, e.g. build.bat /D DEBUG_PRINT_COMPORT /V 2
2024-02-10 17:36:33 -05:00
Kenneth J Davis
716f732e3a
rework to make handling flags simpler, from ecm
2024-02-10 17:34:00 -05:00
Kenneth J Davis
7a73120228
copy over debug print to COM ports from UNSTABLE branch
2024-02-10 17:27:23 -05:00
Kenneth J Davis
795c1df742
prevent possible hang on loading device driver, from ecm
2024-02-08 19:24:55 -05:00
Andrew Bird
db949bf0b2
Merge pull request #136 from andrewbird/ci-update
...
CI: Update github actions and runner versions
2024-02-07 12:46:05 +00:00
Andrew Bird
c0467ef7e3
CI: Update github actions and runner versions
2024-02-07 12:35:27 +00:00
Kenneth J Davis
6a94489230
handle wmake and gmake differences
...
wmake requires changing into directory as ignores -C option, gmake ignores cd into directory so requires -C subdir option
2024-02-06 18:26:26 -05:00
Kenneth J Davis
19c35ee574
use tab not spaces for Makefile
2024-02-06 16:36:15 -05:00
Bocke
9b6a8579d1
Make build work on DOS
...
Double ampersands are not supported by DOS command line interpreters. The previous would work only on (modern-ish) Windows.
2024-02-05 10:47:59 -05:00
Bernd Boeckmann
093dea9a7b
initdisk.c: format specifier fixes 2
2024-02-04 20:44:19 -05:00
Kenneth J Davis
4ffc5c10a5
fix bug#121 don't look for 123? unless still looking for verb at start of line
...
allows correctly parsing lines like SHELL=4DOS.COM which otherwise strips 4 leading to looking for shell of "DOS.COM"
2024-02-04 20:37:43 -05:00
Kenneth J Davis
f7bf549544
correct xor to test not clear value, invert test so 808x is 0 and NEC is 1 matching returned value
2024-02-04 19:43:09 -05:00
Kenneth J Davis
07155e6184
fix bug#123, detect NEC V20/V30 as 186 instead of only 8086/8088, based on ecm-pushbx ldebug
...
see https://hg.pushbx.org/ecm/ldebug/file/7f3440d5824d/source/init.asm#l3071
(cherry picked from commit 5fdcc1d214b821fde33a5bd92ea7d7c0134a2056)
2024-02-04 19:43:09 -05:00
Kenneth J Davis
431be02b0a
rework update_dcb() to avoid potential access uninitialized memory
2024-02-03 22:00:17 -05:00
C. Masloch
1c2f541689
intr: avoid random trace in (init_)call_intr
2024-02-03 21:04:11 -05:00
C. Masloch
3ef6d61609
main: fix, only init env once in PSPInit, do not set cmdline tail
2024-02-03 21:01:17 -05:00
C. Masloch
ab3cac6d0c
allow gcc build to succeed with -DWIN31SUPPORT
2024-02-03 20:59:11 -05:00
E. C. Masloch
42d3ae6aac
boot32, boot32lb: fix EDR-DOS incompatibility [ fixes #119 ]
2024-02-03 20:55:57 -05:00
E. C. Masloch
53d3fd556b
boot32: display an error indicator instead of silently waiting
2024-02-03 20:55:57 -05:00
E. C. Masloch
a189ceb650
boot32: comment out unused print function
2024-02-03 20:55:57 -05:00
E. C. Masloch
630735e14a
boot32: save another byte, use loop instruction
2024-02-03 20:55:57 -05:00
E. C. Masloch
3415ad93c9
boot32: fix very old bug, init high byte of fat_secshift
...
It turned out that this loader was severely broken for many years,
at least since 2012 (the git repo's creation). This variable was
read as a word to set cx for a loop, but only the low byte had
been written. The high byte happened to be 0EEh so cn_loop would
always zero out the FAT sector to read.
This _happened_ to work if the first root directory cluster and
all the kernel file clusters were all referenced in the first
sector of the FAT. Otherwise it would blow up.
2024-02-03 20:55:57 -05:00
E. C. Masloch
52136b27d6
boot32: optimise read sector increment to prepare for DL patch
2024-02-03 20:55:57 -05:00
Bernd Boeckmann
9a7d22701d
initdisk.c: fix wrong printf format specifiers, fixes #122
2024-02-03 20:52:42 -05:00