80-Bus News


January-February 1983, Volume 2, Issue 1

Page 26 of 56


1)I have included "signon" messages and also a ‘Putvid’ type of screen printing routine. These are copied to RAM at O9000H and ‘Jumped to’ by the COLD BOOT LOADER after CPMSYS64 has been loaded. If I need routines like "cinit" or UART initialization, they can be placed in this area of memory as well. After printing the ‘signon’ messages the routine jumps to BIOS to start CP/M. Any CP/M that contains OLDBIOS, and does not have a modified COLD BOOT will skip these messages but will display its’ own messages.

2)I have modified the ‘TAB’ routine so that 16 locations are displayed on a line, in HEX and ASCII. The HEX is displayed in columns of four bytes. This mod. is really more useful with the IVC card display as there is a lot of ‘wrap around’ on the NASCOM 48 wide screen, but it can be used.

3)I have also added a few extra bytes so that I can now ‘Dump’ the ‘TAB’ output to my IMP Printer.

4)The ‘SIMON’ signon messages have been increased to show that a modified SIMON is in use. A list of Command keys is also displayed as a reminder of the commands available in SIMON.

It may be necessary in the future to add a ‘cinit’ routine, and it would also be possible to include any special initialization routines for UARTS etc. By reducing the very extensive ‘signon’ messages, or using an even larger ROM (!) there is scope for almost any addition, such as direct Memory dump to cassette/disk, and so on.

N.B. If the initialization routines in middle memory make any calls to CP/M to print messages, or to clear characters as "cinit" does, then since CP/M has at that stage NOT been started, it will be necessary to initialize the ‘ BDOS jump ‘ and IOBYTE in low memory BEFORE making any calls to BDOS otherwise the system will ‘die’.

I hope that this article has been of some help to others who, like me want to learn more about some of the less well documented features and operations of CP/M systems. ( I must apologise however, to the Authors of the various Programs for the liberties that I, an amateur ‘hacker’, have taken with their software, and hope that this will be accepted in the cause of ‘‘Learning’.)

NOTE :- My method of Booting NASSYS and CP/M from EPROM CARD is described in 8O0BUS NEWS No 1. (N.B. There is an error in the diagram on page 45 of that article. The wiper of S1A goes to pin 2 of LKS1, not to pin 3.)

we nee ee es nt en a HERE ERREE e e

Appendix 1. The Mapping of CP/M in Memory.

es sa ee as <= 0 SE SR Shh i SON Ht Se Stam SN St ee ah

Above the line, addresses refer to CP/M from MOVMODV

OOCOH O100H D800H HOOOH EEOOH PERFFH OOOOH * 01 00H * DCOOH * E400H * F200H ‘ FRFFH 1 i 1 1 1 i 1 1 1 1 CP/M Workspace TPA CCP BDOS CBIOS

Below the line, addresses refer to CP/M from MOVOLD

Figure 3. CP/M Memory Addresses for two different CBIOS’s, assuming 64K RAM.

See com cea em a ts mm rm <i mh mh inh tte te AR mR AA Se SEU SONY OS i tH Se Smt St te ar i! mame a ca

This is an OCR’d version of the scanned page and likely contains recognition errors.

Page 26 of 56