Discussion:
[N8VEM: 18506] UNA CP/M 2014-08-01 release
William R Sowerbutts
2014-08-01 23:18:38 UTC
Permalink
Hello

My congratulations to John on the release of UNA BIOS version 1.0!

The latest release of UNA CP/M, a CP/M 2.2 for UNA BIOS systems, can be found
here:

http://sowerbutts.com/8bit/unacpm-2014-08-01.zip

This includes ROM images, compiled utilities, source code and documentation.
The source code is GPL licensed.

It was a challenge to write a CP/M to match the runtime reconfigurability of
UNA BIOS. UNA CP/M allows the user to choose any drive mapping they wish, and
later modify it with the included REMAP program. For example the command line
"REMAP RAM0 ROM0 IDE0 SD0.3" would map the RAM disk as A:, ROM disk as B:,
slice 0 on the first IDE disk as C:, and slice 3 on the first SD card as D:

UNA CP/M is structured as a two-stage program. The first stage handles the
initialisation of the system and constructs the second (residual) stage in
memory. When the initialisation code has finished it is discarded, with
control passing to the residual second stage which implements CP/M. This
division allows the size of the residual CP/M to be minimised and the
initialisation code to be written in C.

The size of the transient program area is adjusted according to number and
size of the mapped drives by relocating the residual CP/M to run at different
addresses in memory.

UNA CP/M's residual CBIOS is based in part on the RomWBW CBIOS by Wayne
Warthen, Andrew Lynch and other contributors to the N8VEM project.

UNA CP/M currently builds under Linux using the SDCC tools.

The 512K ROM image included in the release ("512K-ROM.bin") is made by
concatenating UNA BIOS 1.0, UNA CP/M 2014-08-01, John's reflash utility, and
a ROM disk image with some utilities:

$ cat UNA-bios.bin cpm.rom fsfat.bin rom384.cpmfs > 512K-ROM.bin

"UNA-bios.bin" and "fsfat.bin" are from UNA BIOS.
"cpm.rom" is from UNA CP/M.
"rom384.cpmfs" is a CP/M ROM filesystem image.

The cpmtools disk definition for the 384KB ROM disk is as follows:

# 384KB ROM disk
diskdef n8vem_rom384
seclen 512
tracks 12
sectrk 64
blocksize 2048
maxdir 256
skew 0
boottrk 0
os 2.2
end

Feedback is welcomed.

Thanks

Will

_________________________________________________________________________
William R Sowerbutts will-***@public.gmane.org
"Carpe post meridiem" http://sowerbutts.com
main(){char*s=">#=0> ^#X@#@^7=",c=0,m;for(;c<15;c++)for
(m=-1;m<7;putchar(m++/6&c%3/2?10:s[c]-31&1<<m?42:32));}

Loading...