mirror of https://github.com/wwarthen/RomWBW.git
1081 changed files with 0 additions and 170851 deletions
@ -1,32 +0,0 @@ |
|||
# Makefile 1/31/2013 dwg -
|
|||
|
|||
TASM := ../XSource/bin/TASM |
|||
TASMTABS := . |
|||
export TASMTABS |
|||
|
|||
ASMOPT80 := -t$(CPU) -g3 |
|||
ASMOPT85 := -t85 -g3 |
|||
|
|||
ASM80 := $(TASM) $(ASMOPT80) |
|||
ASM85 := $(TASM) $(ASMOPT85) |
|||
ASMIMG := $(TASM) $(ASMOPT80) -b -fE5 |
|||
|
|||
all: zapple.bin cpm.bin bios.bin |
|||
|
|||
tasm80.tab: bin/TASM80.TAB |
|||
cp bin/TASM80.TAB tasm80.tab |
|||
|
|||
tasm85.tab: bin/TASM85.TAB |
|||
cp bin/TASM85.TAB tasm85.tab |
|||
|
|||
cpm.bin: cpm22.asm |
|||
$(ASMIMG) $< $@ |
|||
|
|||
bios.bin: bios.asm s100iobd.inc |
|||
$(ASMIMG) bios.asm $@ |
|||
|
|||
zapple.bin: zapple.asm zapple.z80 |
|||
$(ASMIMG) zapple.asm $@ |
|||
|
|||
clean: |
|||
rm -f *.lst *.bin |
|||
File diff suppressed because it is too large
@ -1,77 +0,0 @@ |
|||
.page |
|||
;******************************************************** |
|||
; These are I/O functions for the CCS 2710 four-port |
|||
; serial I/O board. |
|||
; |
|||
; Bob Applegate, 02/16/2008 |
|||
; |
|||
SIObase .equ 0E0H |
|||
; |
|||
SIODATA .equ SIObase |
|||
SIOBAUDL .equ SIObase ;also used for baud rate |
|||
SIOINTEN .equ SIObase+1 |
|||
SIOBAUDH .equ SIObase+1 ;ditto |
|||
SIOIDENT .equ SIObase+2 |
|||
SIOLCTRL .equ SIObase+3 |
|||
SIOMDMCT .equ SIObase+4 |
|||
SIOLSTAT .equ SIObase+5 |
|||
SIOMDMST .equ SIObase+6 |
|||
BAUD03 .equ 0180H ;divisor for 300 baud |
|||
BAUD12 .equ 060H ;1200 baud |
|||
BAUD_2400 .equ 030h ;2400 baud |
|||
BAUD96 .equ 00CH ;9600 baud |
|||
DATRDY .equ 01H ;rec'd data ready |
|||
TXMTY .equ 20H ;transmitter holding reg empty |
|||
HSMSK .equ 20H |
|||
|
|||
BAUD_RATE .equ BAUD_2400 |
|||
|
|||
; |
|||
; This function initializes the main console port for the |
|||
; default baud rate. |
|||
; |
|||
initser: ld a,0fH |
|||
out (SIOMDMCT),a |
|||
ld a,083H ;enable divisor latch access |
|||
out (SIOLCTRL),a |
|||
ld a,BAUD_RATE / 256 ;get hi byte |
|||
out (SIOBAUDH),a |
|||
ld a,BAUD_RATE % 256 ;get low byte |
|||
out (SIOBAUDL),a |
|||
ld a,03H ;8 data bits, one stop bit, no parity |
|||
out (SIOLCTRL),a |
|||
xor a ;clear acc |
|||
out (SIOINTEN),a ;disable ints |
|||
out (SIOLSTAT),a ;clear status |
|||
in a,(SIODATA) ;clear out any garbage in rec'd data reg |
|||
ret |
|||
; |
|||
; TTY output of character in C. Modifies A. |
|||
; |
|||
ttyout: IN A,(SIOLSTAT) ;was A,TTS, read status port |
|||
AND TXMTY ;check buffer empty bit |
|||
JR Z,ttyout ;branch if not empty |
|||
LD A,C |
|||
OUT (SIODATA),A ;was TTO,A, send out character |
|||
RET ;thassit |
|||
; |
|||
; Check to see if a character is ready to be read from the TTY. |
|||
; Returns TRUE (0ffh) in A is there is a character waiting, or |
|||
; FALSE (0) if there is nothing. |
|||
; |
|||
ttystat: IN A,(SIOLSTAT) ;was A,TTS |
|||
AND DATRDY |
|||
LD A,TRUE ;was FALSE |
|||
RET NZ |
|||
CPL |
|||
RET |
|||
; |
|||
; This gets the next character from the TTY and returns it in A. |
|||
; This will block if there is nothing waiting. |
|||
; |
|||
ttyin: IN A,(SIOLSTAT) ;read status reg |
|||
AND DATRDY ;look for data ready |
|||
JR Z,ttyin ;wait for char |
|||
IN a,(SIODATA) ;read character |
|||
RET |
|||
.page |
|||
@ -1,71 +0,0 @@ |
|||
#!/usr/bin/python |
|||
# Written by Douglas Goodall 17:25 Wed, Jan 30, 2013 |
|||
# load cpm.bin and bios.bin then jump |
|||
|
|||
import sys |
|||
import os |
|||
import serial |
|||
|
|||
# passing in a string either "12" or "0x12" |
|||
# return value is string of hex digits only (no 0x) |
|||
def safebyte(parm): |
|||
xyz = parm |
|||
myord = ord(xyz) |
|||
hexdata = hex(myord) |
|||
newstr = hexdata |
|||
if (hexdata[0] == '0'): |
|||
if(hexdata[1] == 'x'): |
|||
newstr = hexdata[2] |
|||
if(len(hexdata)>3): |
|||
newstr = newstr + hexdata[3] |
|||
return newstr |
|||
|
|||
# passing in a string either "1234" of "0x1234" |
|||
# return value is string of hex digits only (1234) (no 0x) |
|||
def safeword(parm): |
|||
xyz = parm |
|||
myint = int(xyz) |
|||
hexdata = hex(myint) |
|||
newstr = hexdata |
|||
if (hexdata[0] == '0'): |
|||
if(hexdata[1] == 'x'): |
|||
newstr = hexdata[2] |
|||
if(len(hexdata)>3): |
|||
newstr = newstr + hexdata[3] |
|||
if(len(hexdata)>4): |
|||
newstr = newstr + hexdata[4] |
|||
if(len(hexdata)>5): |
|||
newstr = newstr + hexdata[5] |
|||
return newstr |
|||
|
|||
def loadngo(filename): |
|||
statinfo = os.stat(filename) |
|||
filelen = statinfo.st_size |
|||
infile = open(filename,'rb') |
|||
filedata = infile.read() |
|||
infile.close() |
|||
outfile = open("cpm.trans","w") |
|||
|
|||
# ser = serial.Serial('/dev/cu.PL2303-0000201D', 19200, timeout=10) |
|||
# ser.write("\n\n") |
|||
outfile.write("sa400\n") |
|||
# print ser.read(12); |
|||
for x in range(1,filelen): |
|||
outfile.write(safebyte(filedata[x-1])) |
|||
outfile.write(" ") |
|||
outfile.write("\n") |
|||
outfile.close() |
|||
# print ser.read(12) |
|||
# ser.close() |
|||
|
|||
print "*******************************************************************" |
|||
print "loadcpm.py 1/30/2013 dwg - load&go S-100 CP/M using master-yoda ROM" |
|||
print "*******************************************************************" |
|||
#loadngo("cpm.bin") |
|||
ser = serial.Serial('/dev/cu.PL2303-0000201D', 19200, timeout=1) |
|||
ser.read(128) |
|||
ser.read(128) |
|||
ser.write("\n") |
|||
ser.close() |
|||
loadngo("cpm.bin") |
|||
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
@ -1,39 +0,0 @@ |
|||
;******************************************************** |
|||
; This file contains bits of information that are common |
|||
; between the CCP, BDOS and BIOS. Since the CCP and |
|||
; BDOS are built as one unit and the BIOS as another, it |
|||
; is handy to have common things in a common file rather |
|||
; that constantly needing to keep things in sync between |
|||
; two different files. |
|||
; |
|||
; 02/16/2013 - Bob Applegate |
|||
|
|||
|
|||
; |
|||
; This is the TOTAL RAM in the system. Ie, starts at 64 |
|||
; but then gets decreased due to ROM monitors at top of |
|||
; memory. This can be set artificially low to allow |
|||
; more room for BIOS debugging code. |
|||
; |
|||
; This is the amount of contiguous RAM from 0000. |
|||
; |
|||
RAMSIZE EQU 48 ;expressed in K |
|||
|
|||
; |
|||
; Low memory locations |
|||
; |
|||
IOBYTE EQU 3 ;i/o definition byte. |
|||
TDRIVE EQU 4 ;current drive name and user number. |
|||
ENTRY EQU 5 ;entry point for the cp/m bdos. |
|||
|
|||
|
|||
|
|||
CCPSIZE EQU 0800H ;I hate hard-coding things! |
|||
BDOSSIZE EQU 0E00H |
|||
|
|||
; |
|||
; Where CP/M things are located |
|||
; |
|||
CCPBASE equ (RAMSIZE-7)*1024 |
|||
BDOSBASE equ (CCPBASE+CCPSIZE) |
|||
BIOSBASE equ (BDOSBASE+BDOSSIZE) |
|||
@ -1,69 +0,0 @@ |
|||
#!/usr/bin/python |
|||
# Written by Douglas Goodall 17:25 Wed, Jan 30, 2013 |
|||
# load cpm.bin and bios.bin then jump |
|||
|
|||
import sys |
|||
import os |
|||
import serial |
|||
|
|||
# passing in a string either "12" or "0x12" |
|||
# return value is string of hex digits only (no 0x) |
|||
def safebyte(parm): |
|||
xyz = parm |
|||
myord = ord(xyz) |
|||
hexdata = hex(myord) |
|||
newstr = hexdata |
|||
if (hexdata[0] == '0'): |
|||
if(hexdata[1] == 'x'): |
|||
newstr = hexdata[2] |
|||
if(len(hexdata)>3): |
|||
newstr = newstr + hexdata[3] |
|||
return newstr |
|||
|
|||
# passing in a string either "1234" of "0x1234" |
|||
# return value is string of hex digits only (1234) (no 0x) |
|||
def safeword(parm): |
|||
xyz = parm |
|||
myint = int(xyz) |
|||
hexdata = hex(myint) |
|||
newstr = hexdata |
|||
if (hexdata[0] == '0'): |
|||
if(hexdata[1] == 'x'): |
|||
newstr = hexdata[2] |
|||
if(len(hexdata)>3): |
|||
newstr = newstr + hexdata[3] |
|||
if(len(hexdata)>4): |
|||
newstr = newstr + hexdata[4] |
|||
if(len(hexdata)>5): |
|||
newstr = newstr + hexdata[5] |
|||
return newstr |
|||
|
|||
def loadngo(filename): |
|||
statinfo = os.stat(filename) |
|||
filelen = statinfo.st_size |
|||
infile = open(filename,'rb') |
|||
filedata = infile.read() |
|||
infile.close() |
|||
ser = serial.Serial('/dev/cu.PL2303-0000201D', 19200, timeout=10) |
|||
ser.write("\n\n") |
|||
ser.write("sa400\n") |
|||
print ser.read(12); |
|||
for x in range(1,filelen): |
|||
ser.write(safebyte(filedata[x-1])) |
|||
ser.write(" ") |
|||
print ser.read(12) |
|||
ser.write("\n") |
|||
print ser.read(12) |
|||
ser.close() |
|||
|
|||
print "*******************************************************************" |
|||
print "loadcpm.py 1/30/2013 dwg - load&go S-100 CP/M using master-yoda ROM" |
|||
print "*******************************************************************" |
|||
#loadngo("cpm.bin") |
|||
ser = serial.Serial('/dev/cu.PL2303-0000201D', 19200, timeout=1) |
|||
ser.read(128) |
|||
ser.read(128) |
|||
ser.write("\n") |
|||
ser.close() |
|||
loadngo("cpm.bin") |
|||
|
|||
@ -1,77 +0,0 @@ |
|||
.page |
|||
;******************************************************** |
|||
; These are I/O functions for the CCS 2710 four-port |
|||
; serial I/O board. |
|||
; |
|||
; Bob Applegate, 02/16/2008 |
|||
; |
|||
SIObase .equ 0E0H |
|||
; |
|||
SIODATA .equ SIObase |
|||
SIOBAUDL .equ SIObase ;also used for baud rate |
|||
SIOINTEN .equ SIObase+1 |
|||
SIOBAUDH .equ SIObase+1 ;ditto |
|||
SIOIDENT .equ SIObase+2 |
|||
SIOLCTRL .equ SIObase+3 |
|||
SIOMDMCT .equ SIObase+4 |
|||
SIOLSTAT .equ SIObase+5 |
|||
SIOMDMST .equ SIObase+6 |
|||
BAUD03 .equ 0180H ;divisor for 300 baud |
|||
BAUD12 .equ 060H ;1200 baud |
|||
BAUD_2400 .equ 030h ;2400 baud |
|||
BAUD96 .equ 00CH ;9600 baud |
|||
DATRDY .equ 01H ;rec'd data ready |
|||
TXMTY .equ 20H ;transmitter holding reg empty |
|||
HSMSK .equ 20H |
|||
|
|||
BAUD_RATE .equ BAUD_2400 |
|||
|
|||
; |
|||
; This function initializes the main console port for the |
|||
; default baud rate. |
|||
; |
|||
initser: ld a,0fH |
|||
out (SIOMDMCT),a |
|||
ld a,083H ;enable divisor latch access |
|||
out (SIOLCTRL),a |
|||
ld a,BAUD_RATE / 256 ;get hi byte |
|||
out (SIOBAUDH),a |
|||
ld a,BAUD_RATE % 256 ;get low byte |
|||
out (SIOBAUDL),a |
|||
ld a,03H ;8 data bits, one stop bit, no parity |
|||
out (SIOLCTRL),a |
|||
xor a ;clear acc |
|||
out (SIOINTEN),a ;disable ints |
|||
out (SIOLSTAT),a ;clear status |
|||
in a,(SIODATA) ;clear out any garbage in rec'd data reg |
|||
ret |
|||
; |
|||
; TTY output of character in C. Modifies A. |
|||
; |
|||
ttyout: IN A,(SIOLSTAT) ;was A,TTS, read status port |
|||
AND TXMTY ;check buffer empty bit |
|||
JR Z,ttyout ;branch if not empty |
|||
LD A,C |
|||
OUT (SIODATA),A ;was TTO,A, send out character |
|||
RET ;thassit |
|||
; |
|||
; Check to see if a character is ready to be read from the TTY. |
|||
; Returns TRUE (0ffh) in A is there is a character waiting, or |
|||
; FALSE (0) if there is nothing. |
|||
; |
|||
ttystat: IN A,(SIOLSTAT) ;was A,TTS |
|||
AND DATRDY |
|||
LD A,TRUE ;was FALSE |
|||
RET NZ |
|||
CPL |
|||
RET |
|||
; |
|||
; This gets the next character from the TTY and returns it in A. |
|||
; This will block if there is nothing waiting. |
|||
; |
|||
ttyin: IN A,(SIOLSTAT) ;read status reg |
|||
AND DATRDY ;look for data ready |
|||
JR Z,ttyin ;wait for char |
|||
IN a,(SIODATA) ;read character |
|||
RET |
|||
.page |
|||
@ -1,19 +0,0 @@ |
|||
; |
|||
; To make it easier to port code from other assemblers, |
|||
; this maps some common psuedo-ops into TASM versions. |
|||
; |
|||
#define EQU .equ |
|||
#define equ .equ |
|||
#define END .end |
|||
#define end .end |
|||
#define DEFB .db |
|||
#define DB .db |
|||
#define db .db |
|||
#define DEFW .dw |
|||
#define DW .dw |
|||
#define dw .dw |
|||
#define DS .ds |
|||
#define ds .ds |
|||
#define ORG .org |
|||
#define org .org |
|||
#define TEXT .text |
|||
@ -1,594 +0,0 @@ |
|||
"TASM Z80 Assembler. " |
|||
/**************************************************************************** |
|||
/* $Id: tasm80.tab 1.2 1998/02/28 14:31:22 toma Exp $ |
|||
/**************************************************************************** |
|||
/* This is the instruction set definition table |
|||
/* for the Z80 version of TASM. |
|||
/* Thomas N. Anderson, Speech Technology Incorporated |
|||
/* This table authored and submitted by Carl A. Wall, VE3APY. |
|||
/* |
|||
/* Class bits assigned as follows: |
|||
/* Bit-0 = Z80 (base instruction set) |
|||
/* Bit-1 = HD64180 (extended instructions) |
|||
/* See TASM manual for info on table structure. |
|||
/* |
|||
/*INSTR ARGS OP BYTES RULE CLASS SHIFT OR */ |
|||
/*-------------------------------------------*/ |
|||
|
|||
ADC A,(HL) 8E 1 NOP 1 |
|||
ADC A,(IX*) 8EDD 3 ZIX 1 |
|||
ADC A,(IY*) 8EFD 3 ZIX 1 |
|||
ADC A,A 8F 1 NOP 1 |
|||
ADC A,B 88 1 NOP 1 |
|||
ADC A,C 89 1 NOP 1 |
|||
ADC A,D 8A 1 NOP 1 |
|||
ADC A,E 8B 1 NOP 1 |
|||
ADC A,H 8C 1 NOP 1 |
|||
ADC A,L 8D 1 NOP 1 |
|||
ADC A,* CE 2 NOP 1 |
|||
ADC HL,BC 4AED 2 NOP 1 |
|||
ADC HL,DE 5AED 2 NOP 1 |
|||
ADC HL,HL 6AED 2 NOP 1 |
|||
ADC HL,SP 7AED 2 NOP 1 |
|||
|
|||
ADD A,(HL) 86 1 NOP 1 |
|||
ADD A,(IX*) 86DD 3 ZIX 1 |
|||
ADD A,(IY*) 86FD 3 ZIX 1 |
|||
ADD A,A 87 1 NOP 1 |
|||
ADD A,B 80 1 NOP 1 |
|||
ADD A,C 81 1 NOP 1 |
|||
ADD A,D 82 1 NOP 1 |
|||
ADD A,E 83 1 NOP 1 |
|||
ADD A,H 84 1 NOP 1 |
|||
ADD A,L 85 1 NOP 1 |
|||
ADD A,* C6 2 NOP 1 |
|||
ADD HL,BC 09 1 NOP 1 |
|||
ADD HL,DE 19 1 NOP 1 |
|||
ADD HL,HL 29 1 NOP 1 |
|||
ADD HL,SP 39 1 NOP 1 |
|||
ADD IX,BC 09DD 2 NOP 1 |
|||
ADD IX,DE 19DD 2 NOP 1 |
|||
ADD IX,IX 29DD 2 NOP 1 |
|||
ADD IX,SP 39DD 2 NOP 1 |
|||
ADD IY,BC 09FD 2 NOP 1 |
|||
ADD IY,DE 19FD 2 NOP 1 |
|||
ADD IY,IY 29FD 2 NOP 1 |
|||
ADD IY,SP 39FD 2 NOP 1 |
|||
|
|||
AND (HL) A6 1 NOP 1 |
|||
AND (IX*) A6DD 3 ZIX 1 |
|||
AND (IY*) A6FD 3 ZIX 1 |
|||
AND A A7 1 NOP 1 |
|||
AND B A0 1 NOP 1 |
|||
AND C A1 1 NOP 1 |
|||
AND D A2 1 NOP 1 |
|||
AND E A3 1 NOP 1 |
|||
AND H A4 1 NOP 1 |
|||
AND L A5 1 NOP 1 |
|||
AND * E6 2 NOP 1 |
|||
|
|||
BIT *,(HL) 46CB 2 ZBIT 1 |
|||
BIT *,(IX*) CBDD 4 ZBIT 1 0 4600 |
|||
BIT *,(IY*) CBFD 4 ZBIT 1 0 4600 |
|||
BIT *,A 47CB 2 ZBIT 1 |
|||
BIT *,B 40CB 2 ZBIT 1 |
|||
BIT *,C 41CB 2 ZBIT 1 |
|||
BIT *,D 42CB 2 ZBIT 1 |
|||
BIT *,E 43CB 2 ZBIT 1 |
|||
BIT *,H 44CB 2 ZBIT 1 |
|||
BIT *,L 45CB 2 ZBIT 1 |
|||
|
|||
CALL C,* DC 3 NOP 1 |
|||
CALL M,* FC 3 NOP 1 |
|||
CALL NC,* D4 3 NOP 1 |
|||
CALL NZ,* C4 3 NOP 1 |
|||
CALL P,* F4 3 NOP 1 |
|||
CALL PE,* EC 3 NOP 1 |
|||
CALL PO,* E4 3 NOP 1 |
|||
CALL Z,* CC 3 NOP 1 |
|||
CALL * CD 3 NOP 1 |
|||
|
|||
CCF "" 3F 1 NOP 1 |
|||
|
|||
CP (HL) BE 1 NOP 1 |
|||
CP (IX*) BEDD 3 ZIX 1 |
|||
CP (IY*) BEFD 3 ZIX 1 |
|||
CP A BF 1 NOP 1 |
|||
CP B B8 1 NOP 1 |
|||
CP C B9 1 NOP 1 |
|||
CP D BA 1 NOP 1 |
|||
CP E BB 1 NOP 1 |
|||
CP H BC 1 NOP 1 |
|||
CP L BD 1 NOP 1 |
|||
CP * FE 2 NOP 1 |
|||
CPD "" A9ED 2 NOP 1 |
|||
CPDR "" B9ED 2 NOP 1 |
|||
CPIR "" B1ED 2 NOP 1 |
|||
CPI "" A1ED 2 NOP 1 |
|||
CPL "" 2F 1 NOP 1 |
|||
|
|||
DAA "" 27 1 NOP 1 |
|||
|
|||
DEC (HL) 35 1 NOP 1 |
|||
DEC (IX*) 35DD 3 ZIX 1 |
|||
DEC (IY*) 35FD 3 ZIX 1 |
|||
DEC A 3D 1 NOP 1 |
|||
DEC B 05 1 NOP 1 |
|||
DEC BC 0B 1 NOP 1 |
|||
DEC C 0D 1 NOP 1 |
|||
DEC D 15 1 NOP 1 |
|||
DEC DE 1B 1 NOP 1 |
|||
DEC E 1D 1 NOP 1 |
|||
DEC H 25 1 NOP 1 |
|||
DEC HL 2B 1 NOP 1 |
|||
DEC IX 2BDD 2 NOP 1 |
|||
DEC IY 2BFD 2 NOP 1 |
|||
DEC L 2D 1 NOP 1 |
|||
DEC SP 3B 1 NOP 1 |
|||
DI "" F3 1 NOP 1 |
|||
DJNZ * 10 2 R1 1 |
|||
|
|||
EI "" FB 1 NOP 1 |
|||
EX (SP),HL E3 1 NOP 1 |
|||
EX (SP),IX E3DD 2 NOP 1 |
|||
EX (SP),IY E3FD 2 NOP 1 |
|||
EX AF,AF' 08 1 NOP 1 |
|||
EX DE,HL EB 1 NOP 1 |
|||
EXX "" D9 1 NOP 1 |
|||
HALT "" 76 1 NOP 1 |
|||
|
|||
IM 0 46ED 2 NOP 1 |
|||
IM 1 56ED 2 NOP 1 |
|||
IM 2 5EED 2 NOP 1 |
|||
|
|||
/* Alternate form of above |
|||
IM0 46ED 2 NOP 1 |
|||
IM1 56ED 2 NOP 1 |
|||
IM2 5EED 2 NOP 1 |
|||
|
|||
IN A,(C) 78ED 2 NOP 1 |
|||
IN B,(C) 40ED 2 NOP 1 |
|||
IN C,(C) 48ED 2 NOP 1 |
|||
IN D,(C) 50ED 2 NOP 1 |
|||
IN E,(C) 58ED 2 NOP 1 |
|||
IN H,(C) 60ED 2 NOP 1 |
|||
IN L,(C) 68ED 2 NOP 1 |
|||
|
|||
IN A,(*) DB 2 NOP 1 |
|||
|
|||
IN0 A,(*) 38ED 3 NOP 2 |
|||
IN0 B,(*) 00ED 3 NOP 2 |
|||
IN0 C,(*) 08ED 3 NOP 2 |
|||
IN0 D,(*) 10ED 3 NOP 2 |
|||
IN0 E,(*) 18ED 3 NOP 2 |
|||
IN0 H,(*) 20ED 3 NOP 2 |
|||
IN0 L,(*) 28ED 3 NOP 2 |
|||
|
|||
INC (HL) 34 1 NOP 1 |
|||
INC (IX*) 34DD 3 ZIX 1 |
|||
INC (IY*) 34FD 3 ZIX 1 |
|||
INC A 3C 1 NOP 1 |
|||
INC B 04 1 NOP 1 |
|||
INC BC 03 1 NOP 1 |
|||
INC C 0C 1 NOP 1 |
|||
INC D 14 1 NOP 1 |
|||
INC DE 13 1 NOP 1 |
|||
INC E 1C 1 NOP 1 |
|||
INC H 24 1 NOP 1 |
|||
INC HL 23 1 NOP 1 |
|||
INC IX 23DD 2 NOP 1 |
|||
INC IY 23FD 2 NOP 1 |
|||
INC L 2C 1 NOP 1 |
|||
INC SP 33 1 NOP 1 |
|||
|
|||
|
|||
IND "" AAED 2 NOP 1 |
|||
INDR "" BAED 2 NOP 1 |
|||
INI "" A2ED 2 NOP 1 |
|||
INIR "" B2ED 2 NOP 1 |
|||
|
|||
JP (HL) E9 1 NOP 1 |
|||
JP (IX) E9DD 2 NOP 1 |
|||
JP (IY) E9FD 2 NOP 1 |
|||
JP C,* DA 3 NOP 1 |
|||
JP M,* FA 3 NOP 1 |
|||
JP NC,* D2 3 NOP 1 |
|||
JP NZ,* C2 3 NOP 1 |
|||
JP P,* F2 3 NOP 1 |
|||
JP PE,* EA 3 NOP 1 |
|||
JP PO,* E2 3 NOP 1 |
|||
JP Z,* CA 3 NOP 1 |
|||
JP * C3 3 NOP 1 |
|||
|
|||
JR C,* 38 2 R1 1 |
|||
JR NC,* 30 2 R1 1 |
|||
JR NZ,* 20 2 R1 1 |
|||
JR Z,* 28 2 R1 1 |
|||
JR * 18 2 R1 1 |
|||
|
|||
LD (BC),A 02 1 NOP 1 |
|||
LD (DE),A 12 1 NOP 1 |
|||
LD (HL),A 77 1 NOP 1 |
|||
LD (HL),B 70 1 NOP 1 |
|||
LD (HL),C 71 1 NOP 1 |
|||
LD (HL),D 72 1 NOP 1 |
|||
LD (HL),E 73 1 NOP 1 |
|||
LD (HL),H 74 1 NOP 1 |
|||
LD (HL),L 75 1 NOP 1 |
|||
LD (HL),* 36 2 NOP 1 |
|||
LD (IX*),A 77DD 3 ZIX 1 |
|||
LD (IX*),B 70DD 3 ZIX 1 |
|||
LD (IX*),C 71DD 3 ZIX 1 |
|||
LD (IX*),D 72DD 3 ZIX 1 |
|||
LD (IX*),E 73DD 3 ZIX 1 |
|||
LD (IX*),H 74DD 3 ZIX 1 |
|||
LD (IX*),L 75DD 3 ZIX 1 |
|||
LD (IX*),* 36DD 4 ZIX 1 |
|||
LD (IY*),A 77FD 3 ZIX 1 |
|||
LD (IY*),B 70FD 3 ZIX 1 |
|||
LD (IY*),C 71FD 3 ZIX 1 |
|||
LD (IY*),D 72FD 3 ZIX 1 |
|||
LD (IY*),E 73FD 3 ZIX 1 |
|||
LD (IY*),H 74FD 3 ZIX 1 |
|||
LD (IY*),L 75FD 3 ZIX 1 |
|||
LD (IY*),* 36FD 4 ZIX 1 |
|||
LD (*),A 32 3 NOP 1 |
|||
LD (*),BC 43ED 4 NOP 1 |
|||
LD (*),DE 53ED 4 NOP 1 |
|||
LD (*),HL 22 3 NOP 1 |
|||
LD (*),IX 22DD 4 NOP 1 |
|||
LD (*),IY 22FD 4 NOP 1 |
|||
LD (*),SP 73ED 4 NOP 1 |
|||
LD A,(BC) 0A 1 NOP 1 |
|||
LD A,(DE) 1A 1 NOP 1 |
|||
LD A,(HL) 7E 1 NOP 1 |
|||
LD A,(IX*) 7EDD 3 ZIX 1 |
|||
LD A,(IY*) 7EFD 3 ZIX 1 |
|||
LD A,A 7F 1 NOP 1 |
|||
LD A,B 78 1 NOP 1 |
|||
LD A,C 79 1 NOP 1 |
|||
LD A,D 7A 1 NOP 1 |
|||
LD A,E 7B 1 NOP 1 |
|||
LD A,H 7C 1 NOP 1 |
|||
LD A,I 57ED 2 NOP 1 |
|||
LD A,L 7D 1 NOP 1 |
|||
LD A,R 5FED 2 NOP 1 |
|||
LD A,(*) 3A 3 NOP 1 |
|||
LD A,* 3E 2 NOP 1 |
|||
LD B,(HL) 46 1 NOP 1 |
|||
LD B,(IX*) 46DD 3 ZIX 1 |
|||
LD B,(IY*) 46FD 3 ZIX 1 |
|||
LD B,A 47 1 NOP 1 |
|||
LD B,B 40 1 NOP 1 |
|||
LD B,C 41 1 NOP 1 |
|||
LD B,D 42 1 NOP 1 |
|||
LD B,E 43 1 NOP 1 |
|||
LD B,H 44 1 NOP 1 |
|||
LD B,L 45 1 NOP 1 |
|||
LD B,* 06 2 NOP 1 |
|||
LD BC,(*) 4BED 4 NOP 1 |
|||
LD BC,* 01 3 NOP 1 |
|||
LD C,(HL) 4E 1 NOP 1 |
|||
LD C,(IX*) 4EDD 3 ZIX 1 |
|||
LD C,(IY*) 4EFD 3 ZIX 1 |
|||
LD C,A 4F 1 NOP 1 |
|||
LD C,B 48 1 NOP 1 |
|||
LD C,C 49 1 NOP 1 |
|||
LD C,D 4A 1 NOP 1 |
|||
LD C,E 4B 1 NOP 1 |
|||
LD C,H 4C 1 NOP 1 |
|||
LD C,L 4D 1 NOP 1 |
|||
LD C,* 0E 2 NOP 1 |
|||
LD D,(HL) 56 1 NOP 1 |
|||
LD D,(IX*) 56DD 3 ZIX 1 |
|||
LD D,(IY*) 56FD 3 ZIX 1 |
|||
LD D,A 57 1 NOP 1 |
|||
LD D,B 50 1 NOP 1 |
|||
LD D,C 51 1 NOP 1 |
|||
LD D,D 52 1 NOP 1 |
|||
LD D,E 53 1 NOP 1 |
|||
LD D,H 54 1 NOP 1 |
|||
LD D,L 55 1 NOP 1 |
|||
LD D,* 16 2 NOP 1 |
|||
LD DE,(*) 5BED 4 NOP 1 |
|||
LD DE,* 11 3 NOP 1 |
|||
LD E,(HL) 5E 1 NOP 1 |
|||
LD E,(IX*) 5EDD 3 ZIX 1 |
|||
LD E,(IY*) 5EFD 3 ZIX 1 |
|||
LD E,A 5F 1 NOP 1 |
|||
LD E,B 58 1 NOP 1 |
|||
LD E,C 59 1 NOP 1 |
|||
LD E,D 5A 1 NOP 1 |
|||
LD E,E 5B 1 NOP 1 |
|||
LD E,H 5C 1 NOP 1 |
|||
LD E,L 5D 1 NOP 1 |
|||
LD E,* 1E 2 NOP 1 |
|||
LD H,(HL) 66 1 NOP 1 |
|||
LD H,(IX*) 66DD 3 ZIX 1 |
|||
LD H,(IY*) 66FD 3 ZIX 1 |
|||
LD H,A 67 1 NOP 1 |
|||
LD H,B 60 1 NOP 1 |
|||
LD H,C 61 1 NOP 1 |
|||
LD H,D 62 1 NOP 1 |
|||
LD H,E 63 1 NOP 1 |
|||
LD H,H 64 1 NOP 1 |
|||
LD H,L 65 1 NOP 1 |
|||
LD H,* 26 2 NOP 1 |
|||
LD HL,(*) 2A 3 NOP 1 |
|||
LD HL,* 21 3 NOP 1 |
|||
LD I,A 47ED 2 NOP 1 |
|||
LD IX,(*) 2ADD 4 NOP 1 |
|||
LD IX,* 21DD 4 NOP 1 |
|||
LD IY,(*) 2AFD 4 NOP 1 |
|||
LD IY,* 21FD 4 NOP 1 |
|||
LD L,(HL) 6E 1 NOP 1 |
|||
LD L,(IX*) 6EDD 3 ZIX 1 |
|||
LD L,(IY*) 6EFD 3 ZIX 1 |
|||
LD L,A 6F 1 NOP 1 |
|||
LD L,B 68 1 NOP 1 |
|||
LD L,C 69 1 NOP 1 |
|||
LD L,D 6A 1 NOP 1 |
|||
LD L,E 6B 1 NOP 1 |
|||
LD L,H 6C 1 NOP 1 |
|||
LD L,L 6D 1 NOP 1 |
|||
LD L,* 2E 2 NOP 1 |
|||
LD R,A 4FED 2 NOP 1 |
|||
LD SP,(*) 7BED 4 NOP 1 |
|||
LD SP,HL F9 1 NOP 1 |
|||
LD SP,IX F9DD 2 NOP 1 |
|||
LD SP,IY F9FD 2 NOP 1 |
|||
LD SP,* 31 3 NOP 1 |
|||
LDD "" A8ED 2 NOP 1 |
|||
LDDR "" B8ED 2 NOP 1 |
|||
LDI "" A0ED 2 NOP 1 |
|||
LDIR "" B0ED 2 NOP 1 |
|||
NEG "" 44ED 2 NOP 1 |
|||
NOP "" 00 1 NOP 1 |
|||
|
|||
MLT BC 4CED 2 NOP 2 |
|||
MLT DE 5CED 2 NOP 2 |
|||
MLT HL 6CED 2 NOP 2 |
|||
MLT SP 7CED 2 NOP 2 |
|||
|
|||
OR (HL) B6 1 NOP 1 |
|||
OR (IX*) B6DD 3 ZIX 1 |
|||
OR (IY*) B6FD 3 ZIX 1 |
|||
OR A B7 1 NOP 1 |
|||
OR B B0 1 NOP 1 |
|||
OR C B1 1 NOP 1 |
|||
OR D B2 1 NOP 1 |
|||
OR E B3 1 NOP 1 |
|||
OR H B4 1 NOP 1 |
|||
OR L B5 1 NOP 1 |
|||
OR * F6 2 NOP 1 |
|||
|
|||
OTDM "" 8BED 2 NOP 2 |
|||
OTDMR "" 9BED 2 NOP 2 |
|||
OTDR "" BBED 2 NOP 1 |
|||
OTIM "" 83ED 2 NOP 2 |
|||
OTIMR "" 93ED 2 NOP 2 |
|||
OTIR "" B3ED 2 NOP 1 |
|||
|
|||
OUT (C),A 79ED 2 NOP 1 |
|||
OUT (C),B 41ED 2 NOP 1 |
|||
OUT (C),C 49ED 2 NOP 1 |
|||
OUT (C),D 51ED 2 NOP 1 |
|||
OUT (C),E 59ED 2 NOP 1 |
|||
OUT (C),H 61ED 2 NOP 1 |
|||
OUT (C),L 69ED 2 NOP 1 |
|||
OUT (*),A D3 2 NOP 1 |
|||
|
|||
OUT0 (*),A 39ED 3 NOP 2 |
|||
OUT0 (*),B 01ED 3 NOP 2 |
|||
OUT0 (*),C 09ED 3 NOP 2 |
|||
OUT0 (*),D 11ED 3 NOP 2 |
|||
OUT0 (*),E 19ED 3 NOP 2 |
|||
OUT0 (*),H 21ED 3 NOP 2 |
|||
OUT0 (*),L 29ED 3 NOP 2 |
|||
|
|||
OUTD "" ABED 2 NOP 1 |
|||
OUTI "" A3ED 2 NOP 1 |
|||
|
|||
POP AF F1 1 NOP 1 |
|||
POP BC C1 1 NOP 1 |
|||
POP DE D1 1 NOP 1 |
|||
POP HL E1 1 NOP 1 |
|||
POP IX E1DD 2 NOP 1 |
|||
POP IY E1FD 2 NOP 1 |
|||
|
|||
PUSH AF F5 1 NOP 1 |
|||
PUSH BC C5 1 NOP 1 |
|||
PUSH DE D5 1 NOP 1 |
|||
PUSH HL E5 1 NOP 1 |
|||
PUSH IX E5DD 2 NOP 1 |
|||
PUSH IY E5FD 2 NOP 1 |
|||
|
|||
RES *,(HL) 86CB 2 ZBIT 1 |
|||
RES *,(IX*) CBDD 4 ZBIT 1 0 8600 |
|||
RES *,(IY*) CBFD 4 ZBIT 1 0 8600 |
|||
RES *,A 87CB 2 ZBIT 1 |
|||
RES *,B 80CB 2 ZBIT 1 |
|||
RES *,C 81CB 2 ZBIT 1 |
|||
RES *,D 82CB 2 ZBIT 1 |
|||
RES *,E 83CB 2 ZBIT 1 |
|||
RES *,H 84CB 2 ZBIT 1 |
|||
RES *,L 85CB 2 ZBIT 1 |
|||
|
|||
RET "" C9 1 NOP 1 |
|||
RET C D8 1 NOP 1 |
|||
RET M F8 1 NOP 1 |
|||
RET NC D0 1 NOP 1 |
|||
RET NZ C0 1 NOP 1 |
|||
RET P F0 1 NOP 1 |
|||
RET PE E8 1 NOP 1 |
|||
RET PO E0 1 NOP 1 |
|||
RET Z C8 1 NOP 1 |
|||
RETI "" 4DED 2 NOP 1 |
|||
RETN "" 45ED 2 NOP 1 |
|||
|
|||
RL (HL) 16CB 2 NOP 1 |
|||
RL (IX*) CBDD 4 ZIX 1 0 1600 |
|||
RL (IY*) CBFD 4 ZIX 1 0 1600 |
|||
RL A 17CB 2 NOP 1 |
|||
RL B 10CB 2 NOP 1 |
|||
RL C 11CB 2 NOP 1 |
|||
RL D 12CB 2 NOP 1 |
|||
RL E 13CB 2 NOP 1 |
|||
RL H 14CB 2 NOP 1 |
|||
RL L 15CB 2 NOP 1 |
|||
RLA "" 17 1 NOP 1 |
|||
|
|||
RLC (HL) 06CB 2 NOP 1 |
|||
RLC (IX*) CBDD 4 ZIX 1 0 0600 |
|||
RLC (IY*) CBFD 4 ZIX 1 0 0600 |
|||
RLC A 07CB 2 NOP 1 |
|||
RLC B 00CB 2 NOP 1 |
|||
RLC C 01CB 2 NOP 1 |
|||
RLC D 02CB 2 NOP 1 |
|||
RLC E 03CB 2 NOP 1 |
|||
RLC H 04CB 2 NOP 1 |
|||
RLC L 05CB 2 NOP 1 |
|||
RLCA "" 07 1 NOP 1 |
|||
RLD "" 6FED 2 NOP 1 |
|||
|
|||
RR (HL) 1ECB 2 NOP 1 |
|||
RR (IX*) CBDD 4 ZIX 1 0 1E00 |
|||
RR (IY*) CBFD 4 ZIX 1 0 1E00 |
|||
RR A 1FCB 2 NOP 1 |
|||
RR B 18CB 2 NOP 1 |
|||
RR C 19CB 2 NOP 1 |
|||
RR D 1ACB 2 NOP 1 |
|||
RR E 1BCB 2 NOP 1 |
|||
RR H 1CCB 2 NOP 1 |
|||
RR L 1DCB 2 NOP 1 |
|||
RRA "" 1F 1 NOP 1 |
|||
RRC (HL) 0ECB 2 NOP 1 |
|||
RRC (IX*) CBDD 4 ZIX 1 0 0E00 |
|||
RRC (IY*) CBFD 4 ZIX 1 0 0E00 |
|||
RRC A 0FCB 2 NOP 1 |
|||
RRC B 08CB 2 NOP 1 |
|||
RRC C 09CB 2 NOP 1 |
|||
RRC D 0ACB 2 NOP 1 |
|||
RRC E 0BCB 2 NOP 1 |
|||
RRC H 0CCB 2 NOP 1 |
|||
RRC L 0DCB 2 NOP 1 |
|||
RRCA "" 0F 1 NOP 1 |
|||
RRD "" 67ED 2 NOP 1 |
|||
|
|||
RST 00H C7 1 NOP 1 |
|||
RST 08H CF 1 NOP 1 |
|||
RST 10H D7 1 NOP 1 |
|||
RST 18H DF 1 NOP 1 |
|||
RST 20H E7 1 NOP 1 |
|||
RST 28H EF 1 NOP 1 |
|||
RST 30H F7 1 NOP 1 |
|||
RST 38H FF 1 NOP 1 |
|||
|
|||
/* Alternate form of above |
|||
RST 00 C7 1 NOP 1 |
|||
RST 08 CF 1 NOP 1 |
|||
RST 10 D7 1 NOP 1 |
|||
RST 18 DF 1 NOP 1 |
|||
RST 20 E7 1 NOP 1 |
|||
RST 28 EF 1 NOP 1 |
|||
RST 30 F7 1 NOP 1 |
|||
RST 38 FF 1 NOP 1 |
|||
|
|||
SBC A,(HL) 9E 1 NOP 1 |
|||
SBC A,(IX*) 9EDD 3 ZIX 1 |
|||
SBC A,(IY*) 9EFD 3 ZIX 1 |
|||
SBC A,A 9F 1 NOP 1 |
|||
SBC A,B 98 1 NOP 1 |
|||
SBC A,C 99 1 NOP 1 |
|||
SBC A,D 9A 1 NOP 1 |
|||
SBC A,E 9B 1 NOP 1 |
|||
SBC A,H 9C 1 NOP 1 |
|||
SBC A,L 9D 1 NOP 1 |
|||
SBC HL,BC 42ED 2 NOP 1 |
|||
SBC HL,DE 52ED 2 NOP 1 |
|||
SBC HL,HL 62ED 2 NOP 1 |
|||
SBC HL,SP 72ED 2 NOP 1 |
|||
SBC A,* DE 2 NOP 1 |
|||
SCF "" 37 1 NOP 1 |
|||
|
|||
SET *,(HL) C6CB 2 ZBIT 1 |
|||
SET *,(IX*) CBDD 4 ZBIT 1 0 C600 |
|||
SET *,(IY*) CBFD 4 ZBIT 1 0 C600 |
|||
SET *,A C7CB 2 ZBIT 1 |
|||
SET *,B C0CB 2 ZBIT 1 |
|||
SET *,C C1CB 2 ZBIT 1 |
|||
SET *,D C2CB 2 ZBIT 1 |
|||
SET *,E C3CB 2 ZBIT 1 |
|||
SET *,H C4CB 2 ZBIT 1 |
|||
SET *,L C5CB 2 ZBIT 1 |
|||
|
|||
SLA (HL) 26CB 2 NOP 1 |
|||
SLA (IX*) CBDD 4 ZIX 1 0 2600 |
|||
SLA (IY*) CBFD 4 ZIX 1 0 2600 |
|||
SLA A 27CB 2 NOP 1 |
|||
SLA B 20CB 2 NOP 1 |
|||
SLA C 21CB 2 NOP 1 |
|||
SLA D 22CB 2 NOP 1 |
|||
SLA E 23CB 2 NOP 1 |
|||
SLA H 24CB 2 NOP 1 |
|||
SLA L 25CB 2 NOP 1 |
|||
|
|||
SLP "" 76ED 2 NOP 2 |
|||
|
|||
SRA (HL) 2ECB 2 NOP 1 |
|||
SRA (IX*) CBDD 4 ZIX 1 0 2E00 |
|||
SRA (IY*) CBFD 4 ZIX 1 0 2E00 |
|||
SRA A 2FCB 2 NOP 1 |
|||
SRA B 28CB 2 NOP 1 |
|||
SRA C 29CB 2 NOP 1 |
|||
SRA D 2ACB 2 NOP 1 |
|||
SRA E 2BCB 2 NOP 1 |
|||
SRA H 2CCB 2 NOP 1 |
|||
SRA L 2DCB 2 NOP 1 |
|||
|
|||
SRL (HL) 3ECB 2 NOP 1 |
|||
SRL (IX*) CBDD 4 ZIX 1 0 3E00 |
|||
SRL (IY*) CBFD 4 ZIX 1 0 3E00 |
|||
SRL A 3FCB 2 NOP 1 |
|||
SRL B 38CB 2 NOP 1 |
|||
SRL C 39CB 2 NOP 1 |
|||
SRL D 3ACB 2 NOP 1 |
|||
SRL E 3BCB 2 NOP 1 |
|||
SRL H 3CCB 2 NOP 1 |
|||
SRL L 3DCB 2 NOP 1 |
|||
|
|||
SUB (HL) 96 1 NOP 1 |
|||
SUB (IX*) 96DD 3 ZIX 1 |
|||
SUB (IY*) 96FD 3 ZIX 1 |
|||
SUB A 97 1 NOP 1 |
|||
SUB B 90 1 NOP 1 |
|||
SUB C 91 1 NOP 1 |
|||
SUB D 92 1 NOP 1 |
|||
SUB E 93 1 NOP 1 |
|||
SUB H 94 1 NOP 1 |
|||
SUB L 95 1 NOP 1 |
|||
SUB * D6 2 NOP 1 |
|||
|
|||
TST A 3CED 2 NOP 2 |
|||
TST B 04ED 2 NOP 2 |
|||
TST C 0CED 2 NOP 2 |
|||
TST D 14ED 2 NOP 2 |
|||
TST E 1CED 2 NOP 2 |
|||
TST H 24ED 2 NOP 2 |
|||
TST L 2CED 2 NOP 2 |
|||
TST (HL) 34ED 2 NOP 2 |
|||
TST * 64ED 3 NOP 2 |
|||
|
|||
TSTIO * 74ED 3 NOP 2 |
|||
|
|||
XOR (HL) AE 1 NOP 1 |
|||
XOR (IX*) AEDD 3 ZIX 1 |
|||
XOR (IY*) AEFD 3 ZIX 1 |
|||
XOR A AF 1 NOP 1 |
|||
XOR B A8 1 NOP 1 |
|||
XOR C A9 1 NOP 1 |
|||
XOR D AA 1 NOP 1 |
|||
XOR E AB 1 NOP 1 |
|||
XOR H AC 1 NOP 1 |
|||
XOR L AD 1 NOP 1 |
|||
XOR * EE 2 NOP 1 |
|||
@ -1,80 +0,0 @@ |
|||
; |
|||
;================================================================================================== |
|||
; WRAPPER FOR ZAPPLE MONITOR FOR N8VEM PROJECT |
|||
; WAYNE WARTHEN - 2012-11-26 |
|||
;================================================================================================== |
|||
; |
|||
; THE FOLLOWING MACROS DO THE HEAVY LIFTING TO MAKE THE ZAPPLE SOURCE |
|||
; COMPATIBLE WITH TASM |
|||
; |
|||
#DEFINE EQU .EQU |
|||
#DEFINE NAME \; |
|||
#DEFINE PAGE .PAGE |
|||
#DEFINE CSEG .CSEG |
|||
#DEFINE DSEG .DSEG |
|||
#DEFINE ORG .ORG |
|||
#DEFINE END .END |
|||
#DEFINE IF .IF |
|||
#DEFINE ELSE .ELSE |
|||
#DEFINE ENDIF .ENDIF |
|||
#DEFINE DEFB .DB |
|||
#DEFINE DB .DB |
|||
#DEFINE DEFW .DW |
|||
#DEFINE DW .DW |
|||
#DEFINE . _ |
|||
#DEFINE TITLE .TITLE |
|||
#DEFINE EXT \; |
|||
#DEFINE NOT ~ |
|||
; |
|||
#ADDINSTR IN A,* DB 2 NOP 1 |
|||
#ADDINSTR OUT *,A D3 2 NOP 1 |
|||
#ADDINSTR ADD A 87 1 NOP 1 |
|||
#ADDINSTR ADD D 82 1 NOP 1 |
|||
#ADDINSTR ADD * C6 2 NOP 1 |
|||
#ADDINSTR ADC A 8F 1 NOP 1 |
|||
#ADDINSTR ADC * CE 2 NOP 1 |
|||
#ADDINSTR SBC H 9C 1 NOP 1 |
|||
; |
|||
; |
|||
; |
|||
COLOC .EQU 0 |
|||
LNLOC .EQU 0 |
|||
LULOC .EQU 0 |
|||
PTPL .EQU 0 |
|||
PULOC .EQU 0 |
|||
CSLOC .EQU 0 |
|||
CILOC .EQU 0 |
|||
RPTPL .EQU 0 |
|||
RULOC .EQU 0 |
|||
; |
|||
; 16C550 SERIAL LINE UART |
|||
; |
|||
SIO_BASE .EQU 90H |
|||
SIO_RBR .EQU SIO_BASE + 0 ; DLAB=0: RCVR BUFFER REG (READ ONLY) |
|||
SIO_THR .EQU SIO_BASE + 0 ; DLAB=0: XMIT HOLDING REG (WRITE ONLY) |
|||
SIO_IER .EQU SIO_BASE + 1 ; DLAB=0: INT ENABLE REG |
|||
SIO_IIR .EQU SIO_BASE + 2 ; INT IDENT REGISTER (READ ONLY) |
|||
SIO_FCR .EQU SIO_BASE + 2 ; FIFO CONTROL REG (WRITE ONLY) |
|||
SIO_LCR .EQU SIO_BASE + 3 ; LINE CONTROL REG |
|||
SIO_MCR .EQU SIO_BASE + 4 ; MODEM CONTROL REG |
|||
SIO_LSR .EQU SIO_BASE + 5 ; LINE STATUS REG |
|||
SIO_MSR .EQU SIO_BASE + 6 ; MODEM STATUS REG |
|||
SIO_SCR .EQU SIO_BASE + 7 ; SCRATCH REGISTER |
|||
SIO_DLL .EQU SIO_BASE + 0 ; DLAB=1: DIVISOR LATCH (LS) |
|||
SIO_DLM .EQU SIO_BASE + 1 ; DLAB=1: DIVISOR LATCH (MS) |
|||
; |
|||
BAUDRATE .EQU 38400 |
|||
UART_DIV .EQU (1843200 / (16 * BAUDRATE)) |
|||
; |
|||
; |
|||
; |
|||
BASE .EQU $6000 |
|||
|
|||
; |
|||
; NOW INCLUDE THE MAIN SOURCE |
|||
; |
|||
#INCLUDE "zapple.z80" |
|||
; |
|||
.FILL $7000 - $ |
|||
; |
|||
.END |
|||
File diff suppressed because it is too large
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,106 +0,0 @@ |
|||
/* twodrive.c 7/11/2012 dwg - */ |
|||
|
|||
/* This program is experimental and is not for release because
|
|||
it contains techniques which are not recommended because |
|||
there are better API functions to do these operations. */ |
|||
|
|||
/*
|
|||
This code is in the crossdev folder because it is part of |
|||
my development environment, and I said I would make everything |
|||
available. |
|||
|
|||
The purpose of this code is to dynamically alter the BIOS |
|||
data associated with PPIDE (or PPISD) drives. The default |
|||
configuration is that mass storage devices get four drives. |
|||
|
|||
Each of the four drives can be remapped using the logical |
|||
unit utility MAP. |
|||
|
|||
The purpose of this code is to alter the runtime data so that |
|||
instead of the PPIDE having four drives for the primary IDE |
|||
device, it then has two for the primary and two for the secondary. |
|||
|
|||
The MAP command will properly display the status after this is |
|||
run, but you must keep in mind that having two sets of logical |
|||
units at the same time is twice as complicated to keep straight |
|||
in your mind, and you have to be more careful you know exactly |
|||
how the drives are mapped so you don't accidentally destroy your |
|||
data. |
|||
|
|||
This utility is unsupported, and not recommended for general use. |
|||
The reason this utility wasn't generally published is that it |
|||
is very difficult to give support about this remotely. |
|||
|
|||
If you are brave, and talented, and you can figure out what I did |
|||
with pointers in this program, then you get the prize, which is |
|||
to be able to copy from one CF chip to another in a dual adapter. |
|||
|
|||
It has only been tested on my PPIDE, and I don't know what will |
|||
happen if you try it. You could wipe out your CF chip, so make |
|||
sure you are backed up if you try this. |
|||
*/ |
|||
|
|||
|
|||
#include "cpmbios.h" |
|||
#include "bioscall.h" |
|||
|
|||
#include "cpmbdos.h" |
|||
#include "bdoscall.h" |
|||
|
|||
#define u8 unsigned char |
|||
#define u16 unsigned int |
|||
|
|||
struct DPH * pDPH_C; |
|||
struct DPB * pDPB_C; |
|||
u8 * pDU_C; |
|||
u16 * pCUR_C; |
|||
u16 * pNUM_C; |
|||
|
|||
struct DPH * pDPH_D; |
|||
struct DPB * pDPB_D; |
|||
u8 * pDU_D; |
|||
u16 * pCUR_D; |
|||
u16 * pNUM_D; |
|||
|
|||
main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
|
|||
ireghl = pSELDSK; |
|||
iregbc = DRIVEC; |
|||
iregde = 0; |
|||
bioscall(); |
|||
pDPH_C = ireghl; |
|||
pDPB_C = pDPH_C->dpb; |
|||
pDU_C = ireghl -1; |
|||
*pDU_C = 0X41; |
|||
printf("Current C: DevUnit is %02x\n",*pDU_C); |
|||
pCUR_C = ireghl + 18; |
|||
*pCUR_C = 0; |
|||
printf("Current C: Logical Unit is %d\n",* pCUR_C); |
|||
pNUM_C = ireghl + 20; |
|||
*pNUM_C = 64/9; |
|||
printf("Current C: Number of LU's is %d\n",* pNUM_C); |
|||
|
|||
ireghl = pSELDSK; |
|||
iregbc = DRIVED; |
|||
iregde = 0; |
|||
bioscall(); |
|||
|
|||
pDPH_D = ireghl; |
|||
pDPB_D = pDPH_D->dpb; |
|||
pDU_D = ireghl -1; |
|||
*pDU_D = 0x41; |
|||
printf("Current D: DevUnit is %02x\n",*pDU_D); |
|||
|
|||
pCUR_D = ireghl + 18; |
|||
*pCUR_D = 1; |
|||
printf("Current D: Logical Unit is %d\n",* pCUR_D); |
|||
|
|||
pNUM_D = ireghl + 20; |
|||
*pNUM_D = 64/9; |
|||
printf("Current D: Number of LU's is %d\n",* pNUM_D); |
|||
|
|||
|
|||
} |
|||
@ -1,322 +0,0 @@ |
|||
/* map.c 6/7/2012 dwg - */ |
|||
|
|||
#include "portab.h" |
|||
#include "globals.h" |
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
#include "memory.h" |
|||
|
|||
#include "cpmbind.h" |
|||
|
|||
#include "infolist.h" |
|||
#include "dphdpb.h" |
|||
#include "dphmap.h" |
|||
#include "metadata.h" |
|||
#include "clogical.h" |
|||
#include "applvers.h" |
|||
|
|||
#define MAXDRIVE 8 |
|||
|
|||
/* Drive List Geometry */ |
|||
#define COL1 0 |
|||
#define COL2 (80/4) |
|||
#define COL3 (80/2) |
|||
#define COL4 (COL2+COL3) |
|||
#define LINE 3 |
|||
|
|||
/* Logical Unit List Geometry */ |
|||
#define LGUT 5 |
|||
#define COL1A 0 |
|||
#define COL2A (80/3) |
|||
#define COL3A (2*COL2A) |
|||
|
|||
/* Nomenclature Geometry */ |
|||
#define LINE2 8 |
|||
|
|||
/* Misc Info Geometry */ |
|||
#define CDLINE 6 |
|||
|
|||
/* BDOS Function number */ |
|||
#define RETCURR 25 |
|||
|
|||
/* function defined in bdoscall.asm */ |
|||
extern lurst(); |
|||
|
|||
struct BIOS * pBIOS; |
|||
|
|||
struct DPH * pDPH; |
|||
|
|||
int devunit; |
|||
int dev; |
|||
int unit; |
|||
int currlu; |
|||
int numlu; |
|||
int drivenum; |
|||
int drive; |
|||
int deflu; |
|||
|
|||
char szTemp[128]; |
|||
|
|||
int readsec(drive,track,sector,buffer) |
|||
int drive; |
|||
int track; |
|||
int sector; |
|||
unsigned int buffer; |
|||
{ |
|||
ireghl = pSELDSK; |
|||
iregbc = drive; |
|||
iregde = 0; |
|||
bioscall(); |
|||
|
|||
ireghl = pSETTRK; |
|||
iregbc = track; |
|||
bioscall(); |
|||
|
|||
ireghl = pSETSEC; |
|||
iregbc = sector; |
|||
bioscall(); |
|||
|
|||
ireghl = pSETDMA; |
|||
iregbc = buffer; |
|||
bioscall(); |
|||
|
|||
ireghl = pREAD; |
|||
bioscall(); |
|||
return irega; |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
int haslu(dr) |
|||
int dr; |
|||
{ |
|||
if(0 < lugnum(dr)) { |
|||
return TRUE; |
|||
} else { |
|||
return FALSE; |
|||
} |
|||
} |
|||
|
|||
|
|||
|
|||
void dispdph(l,c,drive,ptr) |
|||
int l; |
|||
int c; |
|||
char drive; |
|||
struct DPH *ptr; |
|||
{ |
|||
|
|||
/*
|
|||
unsigned int xlt; |
|||
unsigned int rv1; |
|||
unsigned int rv2; |
|||
unsigned int rv3; |
|||
unsigned int dbf; |
|||
unsigned int dpb; |
|||
unsigned int csv; |
|||
unsigned int alv; |
|||
unsigned char sigl; |
|||
unsigned char sigu; |
|||
unsigned int current; |
|||
unsigned int number; |
|||
*/ |
|||
crtlc(l,c); |
|||
printf("%c: ",drive); |
|||
|
|||
devunit = lugdu(drive-'A'); |
|||
dev = devunit & 0xf0; |
|||
unit = devunit & 0x0f; |
|||
|
|||
currlu = lugcur(drive-'A'); |
|||
switch(dev) { |
|||
case DEV_MD: |
|||
if(0 == unit) printf("ROM"); |
|||
if(1 == unit) printf("RAM"); |
|||
break; |
|||
case DEV_FD: |
|||
printf("FD%d",unit); |
|||
break; |
|||
case DEV_IDE: |
|||
printf("IDE%d",unit); |
|||
break; |
|||
case DEV_ATAPI: |
|||
printf("ATAPI%d",unit); |
|||
break; |
|||
case DEV_PPIDE: |
|||
printf("PPIDE%d",unit); |
|||
break; |
|||
case DEV_SD: |
|||
printf("SD%d",unit); |
|||
break; |
|||
case DEV_PRPSD: |
|||
printf("PRPSD%d",unit); |
|||
break; |
|||
default: |
|||
printf("UNK"); |
|||
break; |
|||
}; |
|||
|
|||
if('L' == (unsigned char)ptr->sigl) { |
|||
if('U' == (unsigned char)ptr->sigu) { |
|||
/* printf("-LU%d",(int)ptr->current); */ |
|||
printf("-LU%d",currlu); |
|||
} |
|||
} |
|||
|
|||
/* printf("dpb=0x%04x, ",(unsigned int)ptr->dpb);
|
|||
printf("sigl=0x%02x, ",(unsigned char)ptr->sigl); |
|||
printf("sigu=0x%02x, ",(unsigned char)ptr->sigu); |
|||
printf("curr=0x%04x, ",(unsigned int)ptr->current); |
|||
printf("numb=0x%04x", (unsigned int)ptr->number); |
|||
*/ |
|||
|
|||
} |
|||
|
|||
int main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
int i; |
|||
int mylu; |
|||
int drivenum; |
|||
int column; |
|||
int line; |
|||
char szDrive[32]; |
|||
char szLuNum[32]; |
|||
|
|||
if(argc == 3) { |
|||
|
|||
strcpy(szDrive,argv[1]); |
|||
strcpy(szLuNum,argv[2]); |
|||
|
|||
mylu = atoi(szLuNum); |
|||
|
|||
if(strlen(szDrive) == 2) { |
|||
if(':' == szDrive[1]) { |
|||
switch(szDrive[0]) { |
|||
case 'a': |
|||
case 'A': |
|||
luscur(0,mylu); |
|||
break; |
|||
case 'b': |
|||
case 'B': |
|||
luscur(1,mylu); |
|||
break; |
|||
case 'c': |
|||
case 'C': |
|||
luscur(2,mylu); |
|||
break; |
|||
case 'd': |
|||
case 'D': |
|||
luscur(3,mylu); |
|||
break; |
|||
case 'e': |
|||
case 'E': |
|||
luscur(4,mylu); |
|||
break; |
|||
case 'f': |
|||
case 'F': |
|||
luscur(5,mylu); |
|||
break; |
|||
case 'g': |
|||
case 'G': |
|||
luscur(6,mylu); |
|||
break; |
|||
case 'h': |
|||
case 'H': |
|||
luscur(7,mylu); |
|||
break; |
|||
default: |
|||
break; |
|||
} |
|||
|
|||
} |
|||
} |
|||
exit(1); |
|||
} |
|||
|
|||
|
|||
pBIOS = BIOSAD; |
|||
|
|||
crtinit(); |
|||
crtclr(); |
|||
crtlc(0,0); |
|||
|
|||
printf("MAP.COM %d/%d/%d v%d.%d.%d.%d", |
|||
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP); |
|||
printf(" dwg - System Storage Drives and Logical Units"); |
|||
|
|||
ireghl = pGETINFO; |
|||
bioscall(); |
|||
pINFOLIST = ireghl; |
|||
|
|||
crtlc(CDLINE,COL3A+LGUT); |
|||
printf("infolist.version %d\n",pINFOLIST->version); |
|||
|
|||
pDPHMAP = (struct DPHMAPA *)pINFOLIST->dphmap; |
|||
|
|||
dispdph(LINE, COL1+LGUT-1,'A',(struct DPH *)pDPHMAP->drivea); |
|||
dispdph(LINE+1,COL1+LGUT-1,'B',(struct DPH *)pDPHMAP->driveb); |
|||
dispdph(LINE, COL2+LGUT-1,'C',(struct DPH *)pDPHMAP->drivec); |
|||
dispdph(LINE+1,COL2+LGUT-1,'D',(struct DPH *)pDPHMAP->drived); |
|||
dispdph(LINE, COL3+LGUT-1,'E',(struct DPH *)pDPHMAP->drivee); |
|||
dispdph(LINE+1,COL3+LGUT-1,'F',(struct DPH *)pDPHMAP->drivef); |
|||
dispdph(LINE, COL4+LGUT-1,'G',(struct DPH *)pDPHMAP->driveg); |
|||
dispdph(LINE+1,COL4+LGUT-1,'H',(struct DPH *)pDPHMAP->driveh); |
|||
|
|||
dregbc = RETCURR; |
|||
bdoscall(); |
|||
drive = drega; |
|||
|
|||
crtlc(CDLINE,5); |
|||
printf("Current drive is %c:",'A'+drive); |
|||
|
|||
devunit = lugdu(drive); |
|||
dev = devunit & 0xf0; |
|||
unit = devunit & 0x0f; |
|||
currlu = lugcur(drive); |
|||
deflu = currlu; |
|||
numlu = lugnum(drive); |
|||
|
|||
crtlc(CDLINE,COL2A+LGUT); |
|||
printf("Number of LUs is %d\n",lugnum(drive)); |
|||
|
|||
if(0<numlu) { |
|||
crtlc(LINE2,COL1A+LGUT); |
|||
printf("LU -----Label------"); |
|||
crtlc(LINE2,COL2A+LGUT); |
|||
printf("LU -----Label------"); |
|||
crtlc(LINE2,COL3A+LGUT); |
|||
printf("LU -----Label------"); |
|||
|
|||
line = LINE2+1; |
|||
column = 0; |
|||
for(i=0;i<numlu;i++) { |
|||
luscur(drive,i); |
|||
readsec(drive,0,11,&metadata); |
|||
metadata.term = 0; |
|||
switch(column++) { |
|||
case 0: |
|||
crtlc(line,COL1A+LGUT); |
|||
printf("%2d %s",i,metadata.label); |
|||
break; |
|||
case 1: |
|||
crtlc(line,COL2A+LGUT); |
|||
printf("%2d %s",i,metadata.label); |
|||
break; |
|||
case 2: |
|||
crtlc(line,COL3A+LGUT); |
|||
printf("%2d %s",i,metadata.label); |
|||
column = 0; |
|||
line++; |
|||
break; |
|||
} |
|||
} |
|||
luscur(drive,deflu); |
|||
} |
|||
} |
|||
|
|||
/****************/ |
|||
/* eof - cmap.c */ |
|||
/****************/ |
|||
@ -1,106 +0,0 @@ |
|||
; access.asm 7/19/2012 dwg - for 2.0.0.0 B22 |
|||
; access.com 2/17/2012 dwg - review for release 1.5.1.0 |
|||
; access.asm 2/11/2012 dwg - make ident compliant |
|||
; access.com 2/07/2012 dwg - review for release 1.5 |
|||
; access.com 2/05/2012 dwg - adjust for new macros |
|||
; access.asm 1/30/2012 dwg - use new do$start and do$end macros |
|||
; access.asm 1/28/2012 dwg - assure file exists from within submit file |
|||
|
|||
; Copyright (C) 2011-2012 Douglas Goodall Licensed under GPL Ver 3. |
|||
; |
|||
; This file is part of NuBiosDWG and is free software: you can |
|||
; redistribute it and/or modify it under the terms of the GNU |
|||
; General Public License as published by the Free Software Foundation, |
|||
; either version 3 of the License, or (at your option) any later version. |
|||
; This file is distributed in the hope that it will be useful, |
|||
; but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
; GNU General Public License for more details. |
|||
; You should have received a copy of the GNU General Public License |
|||
; along with it. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
;---------------------------------------------------------------------- |
|||
maclib portab |
|||
maclib globals |
|||
maclib cpmbdos |
|||
maclib printers |
|||
maclib banner |
|||
maclib applvers |
|||
maclib z80 |
|||
maclib memory |
|||
maclib version |
|||
maclib cpmappl |
|||
maclib banner |
|||
;----------------------- |
|||
|
|||
do$start |
|||
|
|||
jmp around$bandata |
|||
argv dw prog,dat,prod,orig,ser,myname,0 |
|||
prog db 'ACCESS.COM $' |
|||
date |
|||
serial |
|||
product |
|||
originator |
|||
oriname |
|||
uuid db '08D4953E-B6F4-4673-990C-7E17A0A299BD$' |
|||
around$bandata: |
|||
|
|||
sbanner argv |
|||
|
|||
lda 80h ; pick up the command tail length provided by CCP |
|||
cpi 0 ; were there any parameters given? |
|||
jnz no$usage ; If not, go around |
|||
printf 'usage - access <filename>' |
|||
jmp do$exit |
|||
no$usage: |
|||
|
|||
memcpy work$fcb,PRIFCB,32 ; Save initial default FCB from CCP |
|||
|
|||
printf 'Checking: ' |
|||
|
|||
mvi a,'$' ; place a terminating dollar sign |
|||
sta PRIFCB+9 ; at the end of the filname field |
|||
print PRIFCB+1 ; and print the filename portion |
|||
|
|||
conout '.' ; print the seperating dot |
|||
|
|||
memcpy PRIFCB,work$fcb,16 ; get a fresh copy of the initial FCB |
|||
mvi a,'$' ; place a terminating dollar sign |
|||
sta PRIFCB+12 ; at the end of the filetype field |
|||
print PRIFCB+9 ; and print the filetype |
|||
print crlf ; followed by a CR and LF |
|||
|
|||
memcpy PRIFCB,work$fcb,32 ; restore the initial FCB |
|||
|
|||
mvi c,FOPEN ; Try to open the given filename |
|||
lxi d,PRIFCB ; using the primary default FCB |
|||
call BDOS ; with a BDOS call |
|||
cpi 255 ; Test for Open Failure (255) |
|||
jnz done ; jump if file existed |
|||
|
|||
mvi c,FDELETE ; Delete the A:$$$.SUB file |
|||
lxi d,del$fcb ; using an alternative FCB |
|||
call BDOS |
|||
|
|||
printf 'Submit file terminated due to missing file$' |
|||
|
|||
jmp do$exit ; Go to the one true exit point |
|||
|
|||
done: |
|||
printf 'File found, Submit may proceed' |
|||
do$exit: |
|||
do$end |
|||
|
|||
newfcb del$fcb,1,'$$$ SUB' |
|||
|
|||
work$fcb ds 36 ; A place to save a copy of the default FCB on entry |
|||
|
|||
crlf db CR,LF ; a dollar sign terminated CR and LF |
|||
term db '$' ; a general purpose terminating character |
|||
|
|||
end start |
|||
|
|||
; eof - access.asm |
|||
|
|||
|
|||
@ -1,18 +0,0 @@ |
|||
rem access.sub 9/5/2012 dwg - build access from sources |
|||
|
|||
if not exist access.rel erase access.cpm |
|||
if not exist access.rel z80mu rmac access |
|||
|
|||
if not exist printers.rel erase access.cpm |
|||
if not exist printers.rel z80mu rmac printers |
|||
|
|||
if not exist memory.rel erase access.cpm |
|||
if not exist memory.rel z80mu rmac memory |
|||
|
|||
if not exist banner.rel erase access.cpm |
|||
if not exist banner.rel z80mu rmac banner |
|||
|
|||
if not exist access.cpm z80mu link access,memory,banner,printers |
|||
if not exist access.cpm rename access.com access.cpm |
|||
|
|||
dir access.cpm |
|||
@ -1,7 +0,0 @@ |
|||
e:rem access.sub 9/5/2012 dwg - build access from sources |
|||
rasm80 access |
|||
rasm80 printers |
|||
rasm80 memory |
|||
rasm80 banner |
|||
link80 access,memory,banner,printers |
|||
|
|||
@ -1,8 +0,0 @@ |
|||
0103 HEXREF 0113 IDSIG 0115 IDRMJ 0116 IDRMN |
|||
0117 IDRUP 0118 IDRTP 0119 IDMON 011A IDDAY |
|||
011B IDYR 0120 PRESTK 0122 BEGIN 09C1 PRDWOR |
|||
0999 PRHBYT 09AE PRHWOR 0554 XBANNE 07FF XSBANN |
|||
0546 XMEMCP 0547 XMEMSE 0983 PRHNYB 09CD PDEC |
|||
09EF PDEC1 09F1 PDEC2 0A0D PDEC3 0A24 PDEC4 |
|||
0A25 PDEC5 |
|||
|
|||
Binary file not shown.
@ -1,20 +0,0 @@ |
|||
/************************************/ |
|||
/* applvers.h dwg - 2.2.0.3 Beta */ |
|||
/************************************/ |
|||
|
|||
#define A_RMJ 2 |
|||
#define A_RMN 3 |
|||
#define A_RUP 0 |
|||
#define A_RTP 0 |
|||
|
|||
#define A_MONTH 1 |
|||
#define A_DAY 16 |
|||
#define A_YEAR 2013 |
|||
#define A_YR 13 |
|||
|
|||
/********************/ |
|||
/* eof - applvers.h */ |
|||
/********************/ |
|||
|
|||
|
|||
|
|||
@ -1,34 +0,0 @@ |
|||
; applvers.lib 2/29/2012 dwg - For RomWBW 2.1.1 Release |
|||
|
|||
A$RMJ equ 2 |
|||
A$RMN equ 2 |
|||
A$RUP equ 0 |
|||
A$RTP equ 0 |
|||
|
|||
A$MONTH equ 2 |
|||
A$DAY equ 15 |
|||
A$YEAR equ 2013 |
|||
|
|||
date macro |
|||
dat db ' 2/15/2013$' |
|||
endm |
|||
|
|||
serial macro |
|||
ser db '654321$' |
|||
endm |
|||
|
|||
product macro |
|||
prod db 'CPM80$' |
|||
endm |
|||
|
|||
originator macro |
|||
orig db 'DWG$' |
|||
endm |
|||
|
|||
oriname macro |
|||
myname db ' Douglas W Goodall $' |
|||
endm |
|||
|
|||
; eof - applvers.lib |
|||
|
|||
|
|||
Binary file not shown.
@ -1,13 +0,0 @@ |
|||
/* ascii.h 11/25/2012 dwg - */ |
|||
|
|||
#define ASCII_BS 8 |
|||
#define ASCII_TAB 9 |
|||
#define ASCII_LF 10 |
|||
#define ASCII_VT 11 |
|||
#define ASCII_FF 12 |
|||
#define ASCII_CR 13 |
|||
#define ASCII_ESC 27 |
|||
|
|||
/* eof - ascii.h */ |
|||
|
|||
|
|||
@ -1,67 +0,0 @@ |
|||
; asmiface.asm 6/4/2012 dwg - |
|||
|
|||
extrn .begin,.chl,.swt |
|||
extrn csave,cret,.move |
|||
|
|||
global xrega_,1 |
|||
global xregbc_,2 |
|||
global xregde_,2 |
|||
global xreghl_,2 |
|||
|
|||
PUBLIC asmif_ |
|||
asmif_: lxi d,.2 |
|||
call csave |
|||
|
|||
LXI H,8-.2 ; pick up 1st parm "function address" |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
xchg |
|||
shld callad+1 |
|||
|
|||
LXI H,10-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M ; DE = parm |
|||
xchg |
|||
shld xregbc_ |
|||
|
|||
LXI H,12-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
xchg |
|||
shld xregde_ |
|||
|
|||
LXI H,14-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
xchg |
|||
shld xreghl_ |
|||
|
|||
lhld xregbc_ |
|||
mov b,h |
|||
mov c,l ; setup B&C |
|||
lhld xregde_ |
|||
xchg ; setup D&E |
|||
lhld xreghl_ ; setup H&L |
|||
|
|||
callad: call 0e639h ; setlu |
|||
|
|||
sta xrega_ |
|||
shld xreghl_ |
|||
xchg |
|||
shld xregde_ |
|||
mov l,c |
|||
mov h,b |
|||
shld xregbc_ |
|||
RET ; HL has return value |
|||
|
|||
.2 EQU 0 |
|||
END |
|||
|
|||
@ -1,14 +0,0 @@ |
|||
/*****************************/ |
|||
/* asmiface.H 6/4/2012 dwg - */ |
|||
/*****************************/ |
|||
|
|||
extern char xrega; |
|||
extern unsigned int xregbc; |
|||
extern unsigned int xregde; |
|||
extern unsigned int xreghl; |
|||
extern asmif(); /* asmif(0xe60,bc,de,hl); */ |
|||
|
|||
/********************/ |
|||
/* eof - asmiface.h */ |
|||
/********************/ |
|||
|
|||
@ -1,18 +0,0 @@ |
|||
; |
|||
; This is a sample AUTOEXEC.Z80 file. Tailor it to your own preferences, |
|||
; or delete it entirely. |
|||
; |
|||
set_bdos min |
|||
set_cpmecho off |
|||
set_cpmlist lpt1 |
|||
set_cpmpun com1 |
|||
set_cpmrdr com1 |
|||
set_cpu z80 |
|||
set_fake on |
|||
set_illop fault |
|||
set_iobase 400 |
|||
set_mask on |
|||
set_source z80 |
|||
set_term h19 |
|||
set_vars on |
|||
coldboot |
|||
@ -1,656 +0,0 @@ |
|||
extrn .begin,.chl,.swt |
|||
extrn csave,cret,.move |
|||
global pINFOLIS_,2 |
|||
global metadata_,128 |
|||
global pSYSCFG_,2 |
|||
global pCBIOS_,2 |
|||
PUBLIC main_ |
|||
main_: lxi d,.2 |
|||
call csave |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,-132-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,-6596 |
|||
SHLD ireghl_ |
|||
CALL bioscall_ |
|||
LHLD ireghl_ |
|||
SHLD pINFOLIS_ |
|||
LHLD pINFOLIS_ |
|||
PUSH H |
|||
LXI H,.1+0 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,-6656 |
|||
SHLD pCBIOS_ |
|||
LXI H,-4096 |
|||
SHLD hregbc_ |
|||
LXI H,-16384 |
|||
SHLD hregde_ |
|||
CALL diagnose_ |
|||
LXI H,-16384 |
|||
SHLD pSYSCFG_ |
|||
LHLD pSYSCFG_ |
|||
LXI D,68 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
CALL crtinit_ |
|||
POP D |
|||
CALL crtclr_ |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,0 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,1 |
|||
PUSH H |
|||
LXI H,1 |
|||
PUSH H |
|||
LXI H,2 |
|||
PUSH H |
|||
LXI H,2012 |
|||
PUSH H |
|||
LXI H,29 |
|||
PUSH H |
|||
LXI H,8 |
|||
PUSH H |
|||
LXI H,.1+31 |
|||
PUSH H |
|||
CALL printf_ |
|||
XCHG |
|||
LXI H,16 |
|||
DAD SP |
|||
SPHL |
|||
LXI H,.1+64 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
LXI H,-4096 |
|||
SHLD hregbc_ |
|||
LXI H,-16384 |
|||
SHLD hregde_ |
|||
CALL diagnose_ |
|||
LXI H,-16384 |
|||
SHLD pSYSCFG_ |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,2 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,3 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,.1+107 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,4 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,9 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+117 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,5 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,10 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+126 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,6 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,11 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+135 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,7 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,12 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+144 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,9 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,7 |
|||
DAD D |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,-16384 |
|||
DAD D |
|||
SHLD dregde_ |
|||
LXI H,9 |
|||
SHLD dregbc_ |
|||
CALL bdoscall_ |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,10 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pSYSCFG_ |
|||
LXI D,5 |
|||
DAD D |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,-16384 |
|||
DAD D |
|||
XCHG |
|||
LXI H,0-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,128 |
|||
PUSH H |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memset_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,11 |
|||
PUSH H |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
PUSH D |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memcpy_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,-128-.2 |
|||
DAD SP |
|||
PUSH H |
|||
LXI H,.1+153 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,3 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,.1+156 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,4 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pCBIOS_ |
|||
LXI D,75 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+166 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,5 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pCBIOS_ |
|||
LXI D,76 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+175 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,6 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pCBIOS_ |
|||
LXI D,77 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+184 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,7 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pCBIOS_ |
|||
LXI D,78 |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,.1+193 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,9 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pINFOLIS_ |
|||
LXI D,4 |
|||
DAD D |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,128 |
|||
PUSH H |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memset_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,127 |
|||
PUSH H |
|||
LXI H,4-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
PUSH D |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memcpy_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,-130-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
JMP .4 |
|||
.3: |
|||
LXI H,-130-.2 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.4: |
|||
LXI H,-130-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,128 |
|||
CALL .ul |
|||
JZ .5 |
|||
LXI H,-130-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,-128-.2 |
|||
DAD SP |
|||
DAD D |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,45 |
|||
POP D |
|||
CALL .eq |
|||
JZ .6 |
|||
LXI H,-132-.2 |
|||
DAD SP |
|||
mov a,m |
|||
inx h |
|||
ora m |
|||
JZ .7 |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,-128-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,-126-.2 |
|||
DAD SP |
|||
DAD D |
|||
POP D |
|||
MOV M,E |
|||
JMP .8 |
|||
.7: |
|||
LXI H,1 |
|||
XCHG |
|||
LXI H,-132-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.8: |
|||
.6: |
|||
JMP .3 |
|||
.5: |
|||
LXI H,-128-.2 |
|||
DAD SP |
|||
PUSH H |
|||
LXI H,.1+202 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,26 |
|||
PUSH H |
|||
LXI H,10 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LHLD pINFOLIS_ |
|||
LXI D,6 |
|||
DAD D |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,0-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,128 |
|||
PUSH H |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memset_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,11 |
|||
PUSH H |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
PUSH D |
|||
LXI H,-124-.2 |
|||
DAD SP |
|||
PUSH H |
|||
CALL memcpy_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
LXI H,-128-.2 |
|||
DAD SP |
|||
PUSH H |
|||
LXI H,.1+205 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,3 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,.1+208 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,4 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,2 |
|||
PUSH H |
|||
LXI H,.1+219 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,5 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,1 |
|||
PUSH H |
|||
LXI H,.1+228 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,6 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,1 |
|||
PUSH H |
|||
LXI H,.1+237 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,7 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,.1+246 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
LXI H,52 |
|||
PUSH H |
|||
LXI H,10 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
LXI H,29 |
|||
PUSH H |
|||
LXI H,8 |
|||
PUSH H |
|||
LXI H,12 |
|||
PUSH H |
|||
LXI H,.1+255 |
|||
PUSH H |
|||
CALL printf_ |
|||
XCHG |
|||
LXI H,8 |
|||
DAD SP |
|||
SPHL |
|||
LXI H,0 |
|||
PUSH H |
|||
LXI H,23 |
|||
PUSH H |
|||
CALL crtlc_ |
|||
POP D |
|||
POP D |
|||
RET |
|||
.2 EQU -136 |
|||
.1: |
|||
DB 112,111,115,116,32,71,69,84,73,78,70,79,32,105,114 |
|||
DB 101,103,104,108,32,105,115,32,48,120,37,48,52,120,10 |
|||
DB 0,66,65,78,75,69,82,46,67,79,77,32,37,100,47 |
|||
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100 |
|||
DB 46,37,100,0,32,100,119,103,32,45,32,68,105,115,112 |
|||
DB 108,97,121,32,77,101,109,111,114,121,32,66,97,110,107 |
|||
DB 32,67,104,97,114,97,99,116,101,114,105,115,116,105,99 |
|||
DB 115,0,82,79,77,32,66,97,110,107,49,0,82,77,74 |
|||
DB 32,61,32,37,100,0,82,77,78,32,61,32,37,100,0 |
|||
DB 82,85,80,32,61,32,37,100,0,82,84,80,32,61,32 |
|||
DB 37,100,0,37,115,0,67,66,73,79,83,32,72,68,82 |
|||
DB 0,82,77,74,32,61,32,37,100,0,82,77,78,32,61 |
|||
DB 32,37,100,0,82,85,80,32,61,32,37,100,0,82,84 |
|||
DB 80,32,61,32,37,100,0,37,115,0,37,115,0,66,65 |
|||
DB 78,75,69,82,46,67,79,77,0,82,77,74,32,61,32 |
|||
DB 37,100,0,82,77,78,32,61,32,37,100,0,82,85,80 |
|||
DB 32,61,32,37,100,0,82,84,80,32,61,32,37,100,0 |
|||
DB 37,48,50,100,37,48,50,100,37,48,50,100,0 |
|||
extrn crtlc_ |
|||
extrn crtclr_ |
|||
extrn crtinit_ |
|||
extrn printf_ |
|||
extrn diagnose_ |
|||
extrn hregde_ |
|||
extrn hregbc_ |
|||
extrn bioscall_ |
|||
extrn ireghl_ |
|||
extrn bdoscall_ |
|||
extrn dregde_ |
|||
extrn dregbc_ |
|||
extrn memset_ |
|||
extrn memcpy_ |
|||
extrn .eq |
|||
extrn .ul |
|||
END |
|||
|
|||
@ -1,153 +0,0 @@ |
|||
/* banker.c 6/7/2012 dwg - */ |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
#include "memory.h" |
|||
|
|||
/* #include "cpmbind.h" */ |
|||
|
|||
#include "std.h" |
|||
#include "infolist.h" |
|||
#include "metadata.h" |
|||
|
|||
/* #include "setlunum.h" */ |
|||
|
|||
#include "applvers.h" |
|||
#include "bdoscall.h" |
|||
#include "cpmbdos.h" |
|||
#include "bioscall.h" |
|||
#include "cpmbios.h" |
|||
#include "diagnose.h" |
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
#include "applvers.h" |
|||
|
|||
#define COL1 0 |
|||
#define COL2 (80/3) |
|||
#define COL3 (2*COL2) |
|||
#define LINE 2 |
|||
|
|||
#define BDOS 5 /* memory address of BDOS invocation */ |
|||
#define HIGHSEG 0x0C000 /* memory address of system config */ |
|||
|
|||
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
|||
|
|||
struct SYSCFG * pSYSCFG; |
|||
struct BIOS * pCBIOS; |
|||
|
|||
int main(argc,argv) |
|||
int argc; |
|||
char *argv[] ; |
|||
{ |
|||
|
|||
char * varloc; |
|||
char * tstloc; |
|||
char temp[128]; |
|||
|
|||
int i; |
|||
int bFirst; |
|||
|
|||
bFirst = 0; |
|||
|
|||
ireghl = pGETINFO; |
|||
bioscall(); |
|||
pINFOLIST = ireghl; |
|||
printf("post GETINFO ireghl is 0x%04x\n",pINFOLIST); |
|||
|
|||
pCBIOS = 0x0e600; |
|||
|
|||
hregbc = GETSYSCFG; /* function = Get System Config */ |
|||
hregde = HIGHSEG; /* addr of dest (must be high) */ |
|||
diagnose(); /* invoke the NBIOS function */ |
|||
pSYSCFG = HIGHSEG; |
|||
|
|||
crtinit(pSYSCFG->cnfgdata.termtype); |
|||
crtclr(); |
|||
crtlc(0,0); |
|||
|
|||
printf("BANKER.COM %d/%d/%d v%d.%d.%d.%d", |
|||
A_MONTH,A_DAY,A_YEAR,A_RMJ,A_RMN,A_RUP,A_RTP); |
|||
printf(" dwg - Display Memory Bank Characteristics"); |
|||
|
|||
hregbc = 0x0f000; |
|||
hregde = 0x0c000; |
|||
diagnose(); |
|||
pSYSCFG = 0x0C000; |
|||
|
|||
crtlc(LINE+0,COL1); |
|||
crtlc(LINE+1,COL1); |
|||
printf("ROM Bank1"); |
|||
crtlc(LINE+2,COL1); |
|||
printf("RMJ = %d",pSYSCFG->cnfgdata.rmj); |
|||
crtlc(LINE+3,COL1); |
|||
printf("RMN = %d",pSYSCFG->cnfgdata.rmn); |
|||
crtlc(LINE+4,COL1); |
|||
printf("RUP = %d",pSYSCFG->cnfgdata.rup); |
|||
crtlc(LINE+5,COL1); |
|||
printf("RTP = %d",pSYSCFG->cnfgdata.rtp); |
|||
crtlc(LINE+7,COL1); |
|||
varloc = pSYSCFG->varloc; |
|||
/* dregde = (unsigned int)varloc-0x200+0x0c000; */ |
|||
dregde = (unsigned int)varloc+0x0c000; |
|||
|
|||
dregbc = 9; |
|||
bdoscall(); |
|||
crtlc(LINE+8,COL1); |
|||
/* tstloc = 0x0c000-0x0200+(unsigned int)pSYSCFG->tstloc; */ |
|||
tstloc = 0x0c000+(unsigned int)pSYSCFG->tstloc; |
|||
memset(temp,0,sizeof(temp)); |
|||
memcpy(temp,tstloc,11); |
|||
printf("%s",temp); |
|||
|
|||
crtlc(LINE+1,COL2); |
|||
printf("CBIOS HDR"); |
|||
crtlc(LINE+2,COL2); |
|||
printf("RMJ = %d",pCBIOS->rmj); |
|||
crtlc(LINE+3,COL2); |
|||
printf("RMN = %d",pCBIOS->rmn); |
|||
crtlc(LINE+4,COL2); |
|||
printf("RUP = %d",pCBIOS->rup); |
|||
crtlc(LINE+5,COL2); |
|||
printf("RTP = %d",pCBIOS->rtp); |
|||
/* */ |
|||
crtlc(LINE+7,COL2); |
|||
varloc = pINFOLIST->varloc; |
|||
memset(temp,0,sizeof(temp)); |
|||
memcpy(temp,varloc,sizeof(temp)-1); |
|||
for(i=0;i<sizeof(temp);i++) { |
|||
if('-' == temp[i]) { |
|||
if(0 != bFirst) { |
|||
temp[i] = 0; |
|||
} else { |
|||
bFirst = 1; |
|||
} |
|||
} |
|||
} |
|||
printf("%s",temp); |
|||
|
|||
crtlc(LINE+8,COL2); |
|||
tstloc = pINFOLIST->tstloc; |
|||
memset(temp,0,sizeof(temp)); |
|||
memcpy(temp,tstloc,11); |
|||
printf("%s",temp); |
|||
|
|||
crtlc(LINE+1,COL3); |
|||
printf("BANKER.COM"); |
|||
crtlc(LINE+2,COL3); |
|||
printf("RMJ = %d",A_RMJ); |
|||
crtlc(LINE+3,COL3); |
|||
printf("RMN = %d",A_RMN); |
|||
crtlc(LINE+4,COL3); |
|||
printf("RUP = %d",A_RUP); |
|||
crtlc(LINE+5,COL3); |
|||
printf("RTP = %d",A_RTP); |
|||
|
|||
crtlc(LINE+8,COL3); |
|||
printf("%02d%02d%02d",A_YR,A_MONTH,A_DAY); |
|||
crtlc(23,0); |
|||
} |
|||
|
|||
/*****************/ |
|||
/* eof - cview.c */ |
|||
/*****************/ |
|||
|
|||
@ -1,156 +0,0 @@ |
|||
; banner.asm 9/5/2012 dwg - new version semantics - #.#.# (#) |
|||
|
|||
maclib portab |
|||
maclib globals |
|||
maclib cpmbios |
|||
maclib cpmbdos |
|||
maclib bioshdr |
|||
maclib printers |
|||
maclib cpmappl |
|||
maclib applvers |
|||
|
|||
cseg |
|||
|
|||
|
|||
; entered with argv in hl |
|||
public x$banner |
|||
x$banner: |
|||
shld argv |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg |
|||
|
|||
|
|||
printf '----------------------------------------' |
|||
print crlf |
|||
lhld xprog ! xchg ! mvi c,9 ! call BDOS |
|||
printf ' ' |
|||
IF A$MONTH LT 10 |
|||
conout ' ' |
|||
ENDIF |
|||
IF A$DAY LT 10 |
|||
conout ' ' |
|||
ENDIF |
|||
lxi h,A$MONTH |
|||
call pr$d$word |
|||
conout '/' |
|||
lxi h,A$DAY |
|||
call pr$d$word |
|||
conout '/' |
|||
lxi h,A$YEAR |
|||
call pr$d$word |
|||
printf ' ' |
|||
printf 'Version ' |
|||
lxi h,A$RMJ |
|||
call pr$d$word |
|||
conout '.' |
|||
lxi h,A$RMN |
|||
call pr$d$word |
|||
conout '.' |
|||
lxi h,A$RUP |
|||
call pr$d$word |
|||
printf ' (' |
|||
lxi h,A$RTP |
|||
call pr$d$word |
|||
conout ')' |
|||
print crlf |
|||
printf 'S/N ' |
|||
|
|||
lhld xprod ! xchg ! mvi c,9 ! call BDOS |
|||
|
|||
conout '-' |
|||
|
|||
lhld xorig ! xchg ! mvi c,9 ! call BDOS |
|||
|
|||
conout '-' |
|||
|
|||
; print xser |
|||
lhld xser ! xchg ! mvi c,9 ! call BDOS |
|||
|
|||
printf ' ' |
|||
; printf 'All Rights Reserved' |
|||
printf 'Licensed under GPL3' |
|||
print crlf |
|||
printf 'Copyright (C) 2011-12' |
|||
|
|||
lhld xnam ! xchg ! mvi c,9 ! call BDOS |
|||
|
|||
print crlf |
|||
printf '----------------------------------------' |
|||
print crlf |
|||
|
|||
ret |
|||
|
|||
|
|||
; entered with argv in hl |
|||
public x$sbanner |
|||
x$sbanner: |
|||
shld argv |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprog ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xvers ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xprod ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xorig ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xser ! xchg |
|||
mov e,m ! inx h ! mov d,m ! inx h ! xchg ! shld xnam ! xchg |
|||
|
|||
|
|||
; printf '----------------------------------------' |
|||
; print crlf |
|||
lhld xprog ! xchg ! mvi c,9 ! call BDOS |
|||
printf ' ' |
|||
IF A$MONTH LT 10 |
|||
conout ' ' |
|||
ENDIF |
|||
IF A$DAY LT 10 |
|||
conout ' ' |
|||
ENDIF |
|||
lxi h,A$MONTH |
|||
call pr$d$word |
|||
conout '/' |
|||
lxi h,A$DAY |
|||
call pr$d$word |
|||
conout '/' |
|||
lxi h,A$YEAR |
|||
call pr$d$word |
|||
printf ' ' |
|||
printf 'Vers. ' |
|||
lxi h,A$RMJ |
|||
call pr$d$word |
|||
conout '.' |
|||
lxi h,A$RMN |
|||
call pr$d$word |
|||
conout '.' |
|||
lxi h,A$RUP |
|||
call pr$d$word |
|||
printf ' ( ' |
|||
lxi h,A$RTP |
|||
call pr$d$word |
|||
printf ') ' |
|||
printf 'COPR Douglas Goodall Licensed w/GPLv3' |
|||
|
|||
|
|||
print crlf |
|||
|
|||
ret |
|||
|
|||
|
|||
;---------------------------------------------------------------- |
|||
|
|||
argv ds 2 |
|||
;---------------- |
|||
xprog ds 2 |
|||
xvers ds 2 |
|||
xprod ds 2 |
|||
xorig ds 2 |
|||
xser ds 2 |
|||
xnam ds 2 |
|||
|
|||
crlf db CR,LF,'$' |
|||
|
|||
end |
|||
|
|||
; eof - banner.asm |
|||
|
|||
@ -1,4 +0,0 @@ |
|||
/* banner.h */ |
|||
extern sbanner(); |
|||
extern banner(); |
|||
|
|||
@ -1,18 +0,0 @@ |
|||
; banner.lib 7/19/2012 dwg - for 2.0.0.0 B22 |
|||
; banner.lib 2/17/2012 dwg - review for release 1.5.1.0 |
|||
; banner.lib 2/11/2012 dwg - banner library declarations |
|||
|
|||
extrn x$banner |
|||
banner macro argv |
|||
lxi h,argv |
|||
call x$banner |
|||
endm |
|||
|
|||
extrn x$sbanner |
|||
sbanner macro argv |
|||
lxi h,argv |
|||
call x$sbanner |
|||
endm |
|||
|
|||
; eof - banner.lib |
|||
|
|||
@ -1,29 +0,0 @@ |
|||
000F ADAY 0009 AL0OFS 000A AL1OFS 000E ALVOFS 0002 AMONTH |
|||
041E ARGV 0002 ARMJ 0002 ARMN 0000 ARTP 0000 ARUP |
|||
07DD AYEAR 0005 BDOS E600 BIBOOT E609 BICONIN E60C BICONOUT |
|||
E606 BICONST 0000 BIDRVA 0001 BIDRVB 0002 BIDRVC 0003 BIDRVD |
|||
0004 BIDRVE 0005 BIDRVF 0006 BIDRVG 0007 BIDRVH E618 BIHOME |
|||
E60F BILIST E62D BILISTST E612 BIPUNCH E627 BIREAD E615 BIREADER |
|||
E630 BISECTRN E61B BISELDSK E624 BISETDMA E621 BISETSEC E61E BISETTRK |
|||
E603 BIWBOOT E62A BIWRITE 0003 BLMOFS 0002 BSHOFS 0001 BYTESIZE |
|||
000B CKSOFS 003A COLON 000D CR 0001 CREAD 042C CRLF |
|||
0020 CROFS 000C CSVOFS 0012 CUROFS 0002 CWRITE 0010 D0OFS |
|||
0008 DBFOFS 0080 DEFBUF 000F DPBLEN 000A DPBOFS 0010 DPHLEN |
|||
0001 DRIVEB 0007 DRMOFS 0000 DROFS 000D DSKRESET 0005 DSMOFS |
|||
0001 ENGLISH 001B ESC 0004 EXMOFS 000C EXOFS 0001 F1OFS |
|||
0002 F2OFS 0003 F3OFS 0004 F4OFS 0005 F5OFS 0006 F6OFS |
|||
0007 F7OFS 0008 F8OFS 0000 FALSE 0024 FCBLEN 0010 FCLOSE |
|||
0023 FCOMPSIZE 0013 FDELETE 0016 FMAKE 000F FOPEN 0017 FRENAME |
|||
0020 LENFCB 000A LF 0010 LU1OFS 0011 LU2OFS 0010 MAXLABEL |
|||
0000 NEVER 0014 NLUOFS 00E5 OEMID 000D OFFOFS 0000 PRDWORD |
|||
0000 PRHBYTE 0000 PRHWORD 005C PRIFCB 0009 PRINTSTR 0021 R0OFS |
|||
0022 R1OFS 0023 R2OFS 000F RCOFS 000A READCONBUF 0014 READSEQ |
|||
0025 RESETDRIVE 0019 RETCURR 000C RETVERNO E64B RMJ E64C RMN |
|||
E64E RTP E64D RUP 0002 RV1OFS 0004 RV2OFS 0006 RV3OFS |
|||
000D S1OFS 000E S2OFS 006C SECFCB 000E SELDSK 001A SETDMA |
|||
0024 SETRANDREC 0000 SPANISH 0000 SPTOFS 0200 STACKSIZE 0009 T1OFS |
|||
000A T2OFS 000B T3OFS 0000 TERMCPM 0001 TRUE 0002 WORDSIZE |
|||
0022 WRITERAND 0028 WRITERANDZF 0015 WRITESEQ 0000 XBANNER |
|||
0000 XLTOFS 042A XNAM 0426 XORIG 0424 XPROD 0420 XPROG |
|||
02AB XSBANNER 0428 XSER 0422 XVERS |
|||
|
|||
@ -1,71 +0,0 @@ |
|||
; bdoscall.asm 3/10/2012 dwg - bdos binding for Aztec C |
|||
|
|||
global drega_,1 |
|||
global dregbc_,2 |
|||
global dregde_,2 |
|||
global dreghl_,2 |
|||
|
|||
PUBLIC lurst_ |
|||
lurst_: |
|||
|
|||
push b |
|||
push d |
|||
push h |
|||
push psw |
|||
|
|||
mvi c,37 |
|||
lxi d,127 |
|||
lxi b,127 |
|||
call 5 |
|||
|
|||
pop psw |
|||
pop h |
|||
pop d |
|||
pop b |
|||
|
|||
RET |
|||
|
|||
|
|||
PUBLIC bdoscall_ |
|||
bdoscall_: |
|||
|
|||
push b |
|||
push d |
|||
push h |
|||
push psw |
|||
|
|||
lhld dregbc_ |
|||
mov b,h |
|||
mov c,l |
|||
|
|||
lhld dregde_ |
|||
mov d,h |
|||
mov e,l |
|||
|
|||
lhld dreghl_ |
|||
|
|||
lda drega_ |
|||
|
|||
call 5 |
|||
|
|||
sta drega_ |
|||
|
|||
shld dreghl_ |
|||
|
|||
mov l,e |
|||
mov h,d |
|||
shld dregde_ |
|||
|
|||
mov l,c |
|||
mov h,b |
|||
shld dregbc_ |
|||
|
|||
pop psw |
|||
pop h |
|||
pop d |
|||
pop b |
|||
|
|||
RET |
|||
|
|||
END |
|||
|
|||
@ -1,8 +0,0 @@ |
|||
/* bdoscall.h 3/10/2012 dwg - header file for bdoscall */ |
|||
|
|||
extern char drega; |
|||
extern unsigned int dregbc; |
|||
extern unsigned int dregde; |
|||
extern unsigned int dreghl; |
|||
extern bdoscall(); |
|||
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,80 +0,0 @@ |
|||
; bioscall.asm 3/10/2012 dwg - bios binding for Aztec C |
|||
|
|||
global irega_,1 |
|||
global iregbc_,2 |
|||
global iregde_,2 |
|||
global ireghl_,2 |
|||
|
|||
|
|||
public getmeta_ |
|||
getmeta_: |
|||
push psw |
|||
push b |
|||
push d |
|||
push h |
|||
|
|||
lxi b,4 |
|||
lxi d,0 |
|||
call 0e61bh |
|||
|
|||
lxi d,0 |
|||
call 0e61eh |
|||
|
|||
lxi d,11 |
|||
call 0e621h |
|||
|
|||
lxi d,80h |
|||
call 0e624h |
|||
|
|||
call 0e627h |
|||
|
|||
pop h |
|||
pop d |
|||
pop b |
|||
pop psw |
|||
ret |
|||
|
|||
PUBLIC bioscall_ |
|||
bioscall_: |
|||
|
|||
push b |
|||
push d |
|||
push h |
|||
push psw |
|||
|
|||
lhld iregbc_ |
|||
mov b,h |
|||
mov c,l |
|||
|
|||
lhld iregde_ |
|||
mov d,h |
|||
mov e,l |
|||
|
|||
lhld ireghl_ |
|||
shld mycall+1 |
|||
|
|||
lda irega_ |
|||
|
|||
mycall: call 5 |
|||
|
|||
sta irega_ |
|||
|
|||
shld ireghl_ |
|||
|
|||
mov l,e |
|||
mov h,d |
|||
shld iregde_ |
|||
|
|||
mov l,c |
|||
mov h,b |
|||
shld iregbc_ |
|||
|
|||
pop psw |
|||
pop h |
|||
pop d |
|||
pop b |
|||
|
|||
RET |
|||
|
|||
END |
|||
|
|||
@ -1,8 +0,0 @@ |
|||
/* bioscall.h 3/10/2012 dwg - header file for bdoscall */ |
|||
|
|||
extern char irega; |
|||
extern unsigned int iregbc; |
|||
extern unsigned int iregde; |
|||
extern unsigned int ireghl; |
|||
extern bioscall(); |
|||
|
|||
@ -1,385 +0,0 @@ |
|||
; biohdr.lib 2/19/2012 dwg - BIOS header display macros |
|||
; copyright (C) 2011 Douglas Goodall. All Rights Reserved. |
|||
; Licensed to N8VEM Community for non-commercial use only. |
|||
|
|||
; 2/19/2012 dwg - review for release 1.5.1.0 |
|||
; 2/05/2012 dwg - added DSKM (DM_ROM...) better late than never |
|||
; 2/05/2012 dwg - added prpsdenable,prpsdtrace, and prpsdcapacity |
|||
; 1/16/2012 dwg - extend LU numbers to 0x1C entries (256MB) |
|||
; 1/11/2012 dwg - added new setlu for 1.4 slice technique |
|||
; 12/18/2011 dwg - added REVISION (from svn) |
|||
; 12/07/2011 dwg - BIOS header enhancement for version 1.3 |
|||
|
|||
; Common Configuration items, |
|||
; Valid in all configurations |
|||
RMJ equ 0E64Bh |
|||
RMN equ RMJ+1 |
|||
RUP equ RMN+1 |
|||
RTP equ RUP+1 |
|||
|
|||
if 0 |
|||
BANPTR equ RTP+1 |
|||
DKMP equ BANPTR+2 |
|||
DBBOOL equ DKMP+2 ; Disk Boot Boolean |
|||
DBDRV equ DBBOOL+1 ; Disk Boot Drive Code |
|||
FREQ equ DBDRV+1 |
|||
PLAT equ FREQ+1 ; Hardware Platform |
|||
DIOPLT equ PLAT+1 |
|||
VDUPLT equ DIOPLT+1 |
|||
ROMSIZ equ VDUPLT+1 |
|||
RAMSIZ equ ROMSIZ+2 |
|||
CRAM equ RAMSIZ+2 |
|||
DSKY equ CRAM+1 ; Is Display/Keyboard Attached? |
|||
UART equ DSKY+1 ; Is UART Enabled? |
|||
VDUEN equ UART+1 |
|||
FDEN equ VDUEN+1 ; Is Floppy Disk Support Enabled |
|||
FDTR equ FDEN+1 ; Is Floppy Disk Error Tracing Enabled? |
|||
FMED equ FDTR+1 ; Floppy Disk Media Type |
|||
FALT equ FMED+1 ; Alternative Floppy Disk Media Type |
|||
FAUT equ FALT+1 ; Is Floppy Disk Automatic Sensing Enabled? |
|||
IDEN equ FAUT+1 ; Is On-Board IDE Support Enabled |
|||
IDTR equ IDEN+1 |
|||
IDE8 equ IDTR+1 |
|||
IDCP equ IDE8+1 ; 1/13/2012 IDE Capacity |
|||
PPEN equ IDCP+2 ; Is PPIDE Support Enablned? |
|||
PPTR equ PPEN+1 ; Is PPIDE Tracing Enabled? |
|||
PP8B equ PPTR+1 |
|||
PPCP equ PP8B+1 ; 1/13/2012 PPIDE Capacity |
|||
PSLW equ PPCP+2 ; Use NOPs for recovery-time compensation |
|||
BTYP equ PSLW+1 |
|||
BTTO equ BTYP+1 |
|||
BTDF equ BTTO+1 |
|||
BAUD equ BTDF+1 ; What is the Console Baud Rate |
|||
|
|||
; Only Valid if PLATFORM == PLT_N8 |
|||
CLKDIV equ BAUD+2 ; Z180_CLKDIV |
|||
MEMWAIT equ CLKDIV+1 ; Z180_MEMWAIT |
|||
IOWAIT equ MEMWAIT+1 ; Z180_IOWAIT |
|||
CNTLB0 equ IOWAIT+1 ; Z180_CNTLB0 |
|||
CNTLB1 equ CNTLB0+1 ; Z180_CNTLB1 |
|||
SDENABLE equ CNTLB1+1 |
|||
SDTRACE equ SDENABLE+1 |
|||
SDCP equ SDTRACE+1 ; 1/13/2012 SD Capacity |
|||
VDPTR equ SDCP+2 ; pointer to VDU Data |
|||
FDPTR equ VDPTR+2 ; pointer to FD Data |
|||
IDEPTR equ FDPTR+2 ; pointer to IDE Data |
|||
PPIPTR equ IDEPTR+2 ; pointer to PPIDE_DATA Data |
|||
PPIPTR2 equ PPIPTR+2 ; pointer to PPIDE.ASM DATA |
|||
|
|||
DEFIO equ PPIPTR2+2 ; pointer to DEFIOBYTE |
|||
LDRC equ DEFIO+1 ; pointer to LDRCON |
|||
DBGC equ LDRC+1 ; pointer to DBGCON |
|||
TTYP equ DBGC+1 ; pointer to TERMTYPE |
|||
REV equ TTYP+1 ; subversion revision |
|||
|
|||
TMDT equ REV+2 ; startup date and time |
|||
|
|||
PSDE equ TMDT+6 ; prpsdenable |
|||
PSDT equ PSDE+1 ; prpsdtrace |
|||
PSDC equ PSDT+1 ; prpsdcapacity |
|||
PRCE equ PSDC+2 |
|||
|
|||
DSKM equ PRCE+1 ; DM_ROM... |
|||
|
|||
DTSZ equ DSKM+1 ; DATASIZE |
|||
|
|||
; LU0 LU1 LU2 LU3 LU4 LU5 LU6 LU7 LU8 LU9 |
|||
; 41 82 c3 104 145 186 1c7 208 249 286 |
|||
; |
|||
; LU10 LU11 LU12 LU13 LU14 LU15 LU16 |
|||
; 2c7 308 349 38a 3cb 40c 44d |
|||
|
|||
LU0 equ 0 ; 041h ; PPIDE1 offset for first slice (default) |
|||
LU1 equ 1 ; 082h ; PPIDE1 offset for second slice |
|||
LU2 equ 2 ; 0C3h ; PPIDE1 offset for third slice |
|||
LU3 equ 3 ; 104h ; PPIDE1 offset for fourth slice |
|||
LU4 equ 4 ; 145h ; PPIDE1 offset for fifth slice |
|||
LU5 equ 5 ; 186h ; PPIDE1 offset for sixth slice |
|||
LU6 equ 6 ; 1c7h ; PPIDE1 offset for seventh slice |
|||
LU7 equ 7 ; 208h ; PPIDE1 offset for eighth slice |
|||
LU8 equ 8 ; 249h ; PPIDE1 offset for ninth slice |
|||
LU9 equ 9 ; 286h ; PPIDE1 offset for tenth slice |
|||
LU10 equ 10 |
|||
LU11 equ 11 |
|||
LU12 equ 12 |
|||
LU13 equ 13 |
|||
LU14 equ 14 |
|||
LU15 equ 15 |
|||
LU16 equ 16 |
|||
LU17 equ 17 |
|||
LU18 equ 18 |
|||
LU19 equ 19 |
|||
LU20 equ 20 |
|||
LU21 equ 21 |
|||
LU22 equ 22 |
|||
LU23 equ 23 |
|||
LU24 equ 24 |
|||
LU25 equ 25 |
|||
LU26 equ 26 ; 0x1a |
|||
LU27 equ 27 ; 0x1b (1Cth entry) |
|||
|
|||
endif |
|||
|
|||
DRIVEB equ 1 ; 0=A, 1=B... |
|||
|
|||
|
|||
setlu13 macro offset |
|||
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
|||
mov e,m ; dereference pointer |
|||
inx h |
|||
mov d,m ; de -> ppide.asm data |
|||
xchg ; hl -> ppide.asm data |
|||
lxi d,6 ; offset to offset |
|||
dad d ; hl -> offset in ppide.asm data |
|||
lxi d,offset ; load caller's parameter in de |
|||
mov m,e ; stuff LO offset byte into offset |
|||
inx h ; bump ptr |
|||
mov m,d ; stuff HO offset byte into offset |
|||
mvi c,13 ; BDOS DSKRESET |
|||
call 5 ; call BDOS |
|||
endm |
|||
|
|||
getlu13 macro |
|||
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
|||
mov e,m ; dereference pointer |
|||
inx h |
|||
mov d,m ; de -> ppide.asm data |
|||
xchg ; hl -> ppide.asm data |
|||
lxi d,6 ; offset to offset |
|||
dad d ; hl -> offset in ppide.asm data |
|||
mov e,m ; pick up LO byte of offset |
|||
inx h ; bump ptr |
|||
mov d,m ; pick up HO byte of offset |
|||
xchg ; hl = offset |
|||
endm |
|||
|
|||
setlu14 macro offset |
|||
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
|||
mov e,m ; dereference pointer |
|||
inx h |
|||
mov d,m ; de -> ppide.asm data |
|||
xchg ; hl -> ppide.asm data |
|||
lxi d,6 ; offset to offset |
|||
dad d ; hl -> offset in ppide.asm data |
|||
lxi d,offset ; load caller's parameter in de |
|||
mov m,e ; stuff LO offset byte into offset |
|||
inx h ; bump ptr |
|||
mov m,d ; stuff HO offset byte into offset |
|||
mvi c,13 ; BDOS DSKRESET |
|||
call 5 ; call BDOS |
|||
endm |
|||
|
|||
getlu14 macro |
|||
lxi h,PPIPTR2 ; set pointer to ppide.asm data |
|||
mov e,m ; dereference pointer |
|||
inx h |
|||
mov d,m ; de -> ppide.asm data |
|||
xchg ; hl -> ppide.asm data |
|||
lxi d,6 ; offset to offset |
|||
dad d ; hl -> offset in ppide.asm data |
|||
mov e,m ; pick up LO byte of offset |
|||
inx h ; bump ptr |
|||
mov d,m ; pick up HO byte of offset |
|||
xchg ; hl = offset |
|||
endm |
|||
|
|||
setlu macro drive,slice |
|||
local dontboth,msg,msg2 |
|||
mvi c,drive |
|||
call BISELDSK |
|||
lxi d,16 |
|||
dad d |
|||
mov a,m |
|||
cpi 'L' |
|||
jnz dontboth |
|||
inx h |
|||
mov a,m |
|||
cpi 'U' |
|||
jnz dontboth |
|||
inx h |
|||
mvi a,slice |
|||
mov m,a |
|||
print msg |
|||
mvi a,drive |
|||
adi 'A' |
|||
mov e,a |
|||
mvi c,2 |
|||
call BDOS |
|||
print msg2 |
|||
lxi h,slice |
|||
call pr$d$word |
|||
jmp dontboth |
|||
msg db CR,LF,'Drive $' |
|||
msg2 db ': set to Logical Unit (slice) $' |
|||
dontboth: |
|||
endm |
|||
|
|||
|
|||
xluset macro |
|||
local ldrive,lslice,dontboth,msg,msg2 |
|||
; C = DRIVE |
|||
; A = SLICE |
|||
sta lslice |
|||
mov a,c |
|||
sta ldrive |
|||
|
|||
call BISELDSK ; uses c parameter (drive) |
|||
lxi d,16 |
|||
dad d |
|||
mov a,m |
|||
cpi 'L' |
|||
jnz dontboth |
|||
inx h |
|||
mov a,m |
|||
cpi 'U' |
|||
jnz dontboth |
|||
inx h |
|||
lda lslice |
|||
mov m,a ; put slice into CURRENT |
|||
|
|||
; print msg |
|||
; lda ldrive |
|||
; adi 'A' |
|||
; mov e,a |
|||
; mvi c,2 |
|||
; call BDOS |
|||
; print msg2 |
|||
; lda lslice |
|||
; mov l,a |
|||
; mvi h,0 |
|||
; call pr$d$word |
|||
|
|||
jmp dontboth |
|||
msg db CR,LF,'Drive $' |
|||
msg2 db ': set to Logical Unit (slice) $' |
|||
ldrive db 0 |
|||
lslice db 0 |
|||
dontboth: |
|||
endm |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
hdrlit macro ptr,val,msg |
|||
local notval |
|||
lxi h,ptr |
|||
mvi a,val |
|||
cmp m |
|||
jnz notval |
|||
print msg |
|||
notval: |
|||
endm |
|||
|
|||
|
|||
hdrbool macro ptr,tmsg,fmsg |
|||
local itstrue,itsfalse,imdone |
|||
enter |
|||
lxi h,ptr |
|||
mov a,m |
|||
cpi TRUE |
|||
jnz itsfalse |
|||
lxi d,tmsg |
|||
jmp imdone |
|||
itsfalse: lxi d,fmsg |
|||
imdone: mvi c,PRINTSTR |
|||
call BDOS |
|||
leave |
|||
endm |
|||
|
|||
hdrbyte macro ptr,msg |
|||
enter |
|||
mvi c,PRINTSTR |
|||
lxi d,msg |
|||
call BDOS |
|||
lxi h,ptr |
|||
mov a,m |
|||
call pr$h$byte |
|||
|
|||
conout '(' |
|||
mov e,m |
|||
mov d,0 |
|||
xchg |
|||
call pr$d$word |
|||
conout ')' |
|||
|
|||
leave |
|||
endm |
|||
|
|||
hdrpbyte macro ptr,msg |
|||
enter |
|||
mvi c,PRINTSTR |
|||
lxi d,msg |
|||
call BDOS |
|||
lxi h,PTR |
|||
mov e,m |
|||
inx h |
|||
mov d,m |
|||
xchg |
|||
mov a,m |
|||
call pr$h$byte |
|||
|
|||
; conout ' ' |
|||
conout '(' |
|||
mov e,m |
|||
mov d,0 |
|||
xchg |
|||
call pr$d$word |
|||
conout ')' |
|||
leave |
|||
endm |
|||
|
|||
hdrword macro ptr,msg |
|||
enter |
|||
|
|||
mvi c,PRINTSTR |
|||
lxi d,msg |
|||
call BDOS |
|||
|
|||
lxi h,ptr |
|||
inx h |
|||
mov a,m |
|||
call pr$h$byte |
|||
|
|||
lxi h,ptr |
|||
mov a,m |
|||
call pr$h$byte |
|||
|
|||
conout '(' |
|||
lxi h,ptr |
|||
mov e,m |
|||
inx h |
|||
mov d,m |
|||
xchg |
|||
call pr$d$word |
|||
conout ')' |
|||
leave |
|||
endm |
|||
|
|||
syncerr macro |
|||
print syncmsg |
|||
exit |
|||
endm |
|||
|
|||
hdrvalid macro |
|||
local byte1ok,byte2ok |
|||
enter |
|||
lxi h,CFDA |
|||
mov a,m |
|||
cpi 0DAh |
|||
jz byte1ok |
|||
syncerr |
|||
byte1ok: |
|||
inx h |
|||
mov al,m |
|||
cpi 0CFh |
|||
jz byte2ok |
|||
syncerr |
|||
byte2ok: |
|||
leave |
|||
endm |
|||
|
|||
; eof - bioshdr.lib |
|||
|
|||
Binary file not shown.
@ -1,41 +0,0 @@ |
|||
/* cbanner.c 3/12/2012 dwg - */ |
|||
|
|||
#include "portab.h" |
|||
#include "globals.h" |
|||
#include "applvers.h" |
|||
|
|||
char * lines = "----------------------------------------"; |
|||
char * line1 = "12345678.123 mm/dd/yyyy Version x.x.x.x"; |
|||
char * line2 = "S/N CPM80-DWG-654321 Licensed under GPL3"; |
|||
char * line3 = "Copyright (C) 2011-12 Douglas W. Goodall"; |
|||
|
|||
sbanner(program) |
|||
char *program; |
|||
{ |
|||
char szTemp[128]; |
|||
|
|||
printf("%s ",program); |
|||
printf("%2d/%2d/%4d ",A_MONTH,A_DAY,A_YEAR); |
|||
printf("Version %d.%d.%d.%d ",A_RMJ,A_RMN,A_RUP,A_RTP); |
|||
printf("COPR Douglas Goodall Licensed w/GPLv3\n"); |
|||
} |
|||
|
|||
banner(program) |
|||
char *program; |
|||
{ |
|||
char szTemp[128]; |
|||
|
|||
printf("%s\n",lines); |
|||
strcpy(szTemp,program); |
|||
while(12 > strlen(szTemp)) { |
|||
strcat(szTemp," "); |
|||
} |
|||
printf("%s ",szTemp); |
|||
printf("%2d/%2d/%4d ",A_MONTH,A_DAY,A_YEAR); |
|||
printf("Version %d.%d.%d.%d\n",A_RMJ,A_RMN,A_RUP,A_RTP); |
|||
printf("%s\n",line2); |
|||
printf("%s\n",line3); |
|||
printf("%s\n",lines); |
|||
} |
|||
|
|||
|
|||
@ -1 +0,0 @@ |
|||
裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹裹 |
|||
Binary file not shown.
@ -1,333 +0,0 @@ |
|||
extrn .begin,.chl,.swt |
|||
extrn zsave,zret |
|||
global termtype_,1 |
|||
DSEG |
|||
public wy50row_ |
|||
wy50row_: |
|||
DB 32 |
|||
DB 33 |
|||
DB 34 |
|||
DB 35 |
|||
DB 36 |
|||
DB 37 |
|||
DB 38 |
|||
DB 39 |
|||
DB 40 |
|||
DB 41 |
|||
DB 42 |
|||
DB 43 |
|||
DB 44 |
|||
DB 45 |
|||
DB 46 |
|||
DB 47 |
|||
DB 48 |
|||
DB 49 |
|||
DB 50 |
|||
DB 51 |
|||
DB 52 |
|||
DB 53 |
|||
DB 54 |
|||
DB 55 |
|||
CSEG |
|||
DSEG |
|||
public wy50col_ |
|||
wy50col_: |
|||
DB 32 |
|||
DB 33 |
|||
DB 34 |
|||
DB 35 |
|||
DB 36 |
|||
DB 37 |
|||
DB 38 |
|||
DB 39 |
|||
DB 40 |
|||
DB 41 |
|||
DB 42 |
|||
DB 43 |
|||
DB 44 |
|||
DB 45 |
|||
DB 46 |
|||
DB 47 |
|||
DB 48 |
|||
DB 49 |
|||
DB 50 |
|||
DB 51 |
|||
DB 52 |
|||
DB 53 |
|||
DB 54 |
|||
DB 55 |
|||
DB 56 |
|||
DB 57 |
|||
DB 58 |
|||
DB 59 |
|||
DB 60 |
|||
DB 61 |
|||
DB 62 |
|||
DB 63 |
|||
DB 64 |
|||
DB 65 |
|||
DB 66 |
|||
DB 67 |
|||
DB 68 |
|||
DB 69 |
|||
DB 70 |
|||
DB 71 |
|||
DB 72 |
|||
DB 73 |
|||
DB 74 |
|||
DB 75 |
|||
DB 76 |
|||
DB 77 |
|||
DB 78 |
|||
DB 79 |
|||
DB 80 |
|||
DB 81 |
|||
DB 82 |
|||
DB 83 |
|||
DB 84 |
|||
DB 85 |
|||
DB 86 |
|||
DB 87 |
|||
DB 88 |
|||
DB 89 |
|||
DB 90 |
|||
DB 91 |
|||
DB 92 |
|||
DB 93 |
|||
DB 94 |
|||
DB 95 |
|||
DB 96 |
|||
DB 97 |
|||
DB 98 |
|||
DB 99 |
|||
DB 100 |
|||
DB 101 |
|||
DB 102 |
|||
DB 103 |
|||
DB 104 |
|||
DB 105 |
|||
DB 106 |
|||
DB 107 |
|||
DB 108 |
|||
DB 109 |
|||
DB 110 |
|||
DB 111 |
|||
CSEG |
|||
PUBLIC crtinit_ |
|||
crtinit_: lxi d,.2 |
|||
call zsave |
|||
LXI H,12-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
XCHG |
|||
MOV A,L |
|||
STA termtype_ |
|||
RET |
|||
.2 EQU 0 |
|||
PUBLIC crtclr_ |
|||
crtclr_: lxi d,.3 |
|||
call zsave |
|||
LDA termtype_ |
|||
MOV L,A |
|||
MVI H,0 |
|||
JMP .4 |
|||
.6: |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,6-.3 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
JMP .8 |
|||
.7: |
|||
LXI H,6-.3 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.8: |
|||
LXI H,6-.3 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,43 |
|||
CALL .lt |
|||
JZ .9 |
|||
LXI H,10 |
|||
PUSH H |
|||
LXI H,13 |
|||
PUSH H |
|||
LXI H,.1+0 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
JMP .7 |
|||
.9: |
|||
JMP .5 |
|||
.10: |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.1+5 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
JMP .5 |
|||
.11: |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.1+11 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
JMP .5 |
|||
.12: |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.1+15 |
|||
PUSH H |
|||
CALL printf_ |
|||
POP D |
|||
POP D |
|||
POP D |
|||
JMP .5 |
|||
.4: |
|||
CALL .swt |
|||
DW 4 |
|||
DW 0,.6 |
|||
DW 1,.10 |
|||
DW 2,.11 |
|||
DW 3,.12 |
|||
DW .5 |
|||
.5: |
|||
RET |
|||
.3 EQU -2 |
|||
.1: |
|||
DB 37,99,37,99,0,37,99,91,50,74,0,37,99,43,0 |
|||
DB 37,99,74,37,99,72,0 |
|||
PUBLIC crtlc_ |
|||
crtlc_: lxi d,.14 |
|||
call zsave |
|||
LDA termtype_ |
|||
MOV L,A |
|||
MVI H,0 |
|||
JMP .15 |
|||
.17: |
|||
JMP .16 |
|||
.18: |
|||
LXI H,102 |
|||
PUSH H |
|||
LXI H,16-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
PUSH D |
|||
LXI H,16-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
PUSH D |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.13+0 |
|||
PUSH H |
|||
CALL printf_ |
|||
XCHG |
|||
LXI H,10 |
|||
DAD SP |
|||
SPHL |
|||
JMP .16 |
|||
.19: |
|||
LXI H,14-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,wy50col_ |
|||
DAD D |
|||
DCX H |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,14-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,wy50row_ |
|||
DAD D |
|||
DCX H |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.13+11 |
|||
PUSH H |
|||
CALL printf_ |
|||
XCHG |
|||
LXI H,8 |
|||
DAD SP |
|||
SPHL |
|||
JMP .16 |
|||
.20: |
|||
LXI H,14-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,32 |
|||
DAD D |
|||
PUSH H |
|||
LXI H,14-.14 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,32 |
|||
DAD D |
|||
PUSH H |
|||
LXI H,27 |
|||
PUSH H |
|||
LXI H,.13+19 |
|||
PUSH H |
|||
CALL printf_ |
|||
XCHG |
|||
LXI H,8 |
|||
DAD SP |
|||
SPHL |
|||
JMP .16 |
|||
.15: |
|||
CALL .swt |
|||
DW 4 |
|||
DW 0,.17 |
|||
DW 1,.18 |
|||
DW 2,.19 |
|||
DW 3,.20 |
|||
DW .16 |
|||
.16: |
|||
RET |
|||
.14 EQU -2 |
|||
.13: |
|||
DB 37,99,91,37,100,59,37,100,37,99,0,37,99,61,37 |
|||
DB 99,37,99,0,37,99,89,37,99,37,99,0 |
|||
extrn printf_ |
|||
extrn .lt |
|||
END |
|||
@ -1,152 +0,0 @@ |
|||
/* chars.c 6/7/2012 dwg - test command line arguments */ |
|||
|
|||
#include "stdio.h" |
|||
|
|||
#include "portab.h" |
|||
#include "globals.h" |
|||
#include "std.h" |
|||
#include "cpm80.h" |
|||
#include "cpmappl.h" |
|||
#include "applvers.h" |
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
|
|||
#define TOP 0 |
|||
#define LEFT 4 |
|||
|
|||
#define BDOS 5 /* memory address of BDOS invocation */ |
|||
#define HIGHSEG 0x0C000 /* memory address of system config */ |
|||
|
|||
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
|||
|
|||
struct SYSCFG * pSYSCFG = HIGHSEG; |
|||
|
|||
char map[256] = |
|||
{ |
|||
/* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ |
|||
|
|||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 0 */ |
|||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, /* 1 */ |
|||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 2 */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 3 0 - 9 */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 4 A - O */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 5 P - Z */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 6 a - o */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, /* 7 p - z */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 8 */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 9 */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* A */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* B 0 - 9 */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* C A - O */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* D P - Z */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* E a - o */ |
|||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* F p - z */ |
|||
}; |
|||
|
|||
char attroff[] = { 27, '[', 'm', 0 }; |
|||
char attrbold[] = { 27, '[', '1', 'm', 0 }; |
|||
char attrlow[] = { 27, '[', '2', 'm', 0 }; |
|||
char attrundr[] = { 27, '[', '4', 'm', 0 }; |
|||
char attrblnk[] = { 27, '[', '5', 'm', 0 }; |
|||
char attrrevs[] = { 27, '[', '7', 'm', 0 }; |
|||
char attrinvs[] = { 27, '[', '8', 'm', 0 }; |
|||
char graphon[] = { 27, 'F', 0 }; |
|||
char graphoff[] = { 27, 'G', 0 }; |
|||
|
|||
|
|||
char atreset[] = "0"; |
|||
char atbold[] = "1"; |
|||
char atdim[] = "2"; |
|||
char atundrscr[] = "4"; |
|||
char atblink[] = "5"; |
|||
char atrevs[] = "7"; |
|||
char athidden[] = "8"; |
|||
|
|||
char fgblack[] = "30"; |
|||
char fgred[] = "31"; |
|||
char fggreen[] = "32"; |
|||
char fgyellow[] = "33"; |
|||
char fgblue[] = "34"; |
|||
char fgmagenta[] = "35"; |
|||
char fgcyan[] = "36"; |
|||
char fgwhite[] = "37"; |
|||
|
|||
char bgblack[] = "40"; |
|||
char bgred[] = "41"; |
|||
char bggreen[] = "42"; |
|||
char bgyellow[] = "43"; |
|||
char bgblue[] = "44"; |
|||
char bgmagenta[] = "45"; |
|||
char bgcyan[] = "46"; |
|||
char bgwhite[] = "47"; |
|||
|
|||
dispattr(attr,fg,bg) |
|||
char * attr; |
|||
char * fg; |
|||
char * bg; |
|||
{ |
|||
printf("%c[%s;%s;%sm",27,attr,fg,bg); |
|||
} |
|||
|
|||
int main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
int i,j,k; |
|||
int x,y; |
|||
|
|||
if(1 < argc) { |
|||
for(i=1;i<argc;i++) { |
|||
printf("%c",atoi(argv[i])); |
|||
} |
|||
} else { |
|||
|
|||
|
|||
|
|||
hregbc = GETSYSCFG; /* function = Get System Config */ |
|||
hregde = HIGHSEG; /* addr of dest (must be high) */ |
|||
diagnose(); /* invoke the NBIOS function */ |
|||
pSYSCFG = HIGHSEG; |
|||
|
|||
/* printf("TT is %d\n",pSYSCFG->cnfgdata.termtype); */ |
|||
|
|||
|
|||
crtinit(pSYSCFG->cnfgdata.termtype); |
|||
crtclr(); |
|||
crtlc(0,0); |
|||
|
|||
dispattr(atbold,fggreen,bgblack); |
|||
banner("CHARS"); |
|||
|
|||
printf("%s",attroff); |
|||
|
|||
dispattr(atbold,fgcyan,bgblack); |
|||
for(x=0;x<16;x++) { |
|||
crtlc(TOP+6,LEFT+(x*4)+5); |
|||
printf("[%x]",x); |
|||
} |
|||
printf("%s",attroff); |
|||
|
|||
for(y=0;y<16;y++) { |
|||
crtlc(TOP+y+7,LEFT+0); |
|||
dispattr(atbold,fgcyan,bgblack); |
|||
printf("[%x]",y); |
|||
printf("%s",attroff); |
|||
|
|||
for(x=0;x<16;x++) { |
|||
crtlc(TOP+y+7,LEFT+(x*4)+6); |
|||
if(1 == map[(y*16)+x]) { |
|||
printf("."); |
|||
} else { |
|||
printf("%c",(y*16)+x); |
|||
} |
|||
} |
|||
dispattr(atbold,fgcyan,bgblack); |
|||
printf(" [%x]",y); |
|||
printf("%s",attroff); |
|||
} |
|||
} |
|||
|
|||
return 0; |
|||
} |
|||
|
|||
@ -1,18 +0,0 @@ |
|||
e:rem chars.sub 7/22/2012 dwg - build chars from source |
|||
cc chars |
|||
as chars |
|||
as bdoscall |
|||
as bioscall |
|||
as diagnose |
|||
cc cbanner |
|||
as cbanner |
|||
cc ctermcap |
|||
as ctermcap |
|||
ln chars.o bdoscall.o bioscall.o cbanner.o diagnose.o ctermcap.o c.lib |
|||
era chars.o |
|||
era bdoscall.o |
|||
era bioscall.o |
|||
era diagose.o |
|||
era cbanner.o |
|||
era ctermcap.o |
|||
|
|||
@ -1,12 +0,0 @@ |
|||
e:access access.com |
|||
e:access cpmname.com |
|||
e:access findfile.com |
|||
e:access map.com |
|||
e:access meta.com |
|||
e:access multifmt.com |
|||
e:access rem.com |
|||
e:access setlabel.com |
|||
e:access sysgen.com |
|||
e:access termtype.com |
|||
e:access view.com |
|||
|
|||
@ -1,118 +0,0 @@ |
|||
if exist *.bak erase *.bak |
|||
if exist *.prn erase *.prn |
|||
if exist *.o erase *.o |
|||
if exist *.rel erase *.rel |
|||
if exist *.cpm erase *.cpm |
|||
if exist 2drive.asm erase 2drive.asm |
|||
if exist 2map.asm erase 2map.asm |
|||
if exist banker.asm erase banker.asm |
|||
if exist cbanner.asm erase cbanner.asm |
|||
if exist chars.asm erase chars.asm |
|||
if exist clear.asm erase clear.asm |
|||
if exist clogical.asm erase clogical.asm |
|||
if exist cls.asm erase cls.asm |
|||
if exist cmemory.asm erase cmemory.asm |
|||
if exist cnamept*.asm erase cnamept*.asm |
|||
if exist convert.asm erase convert.asm |
|||
if exist cpmname.asm erase cpmname.asm |
|||
if exist ctermcap.asm erase ctermcap.asm |
|||
if exist cvt2h.asm erase cvt2h.asm |
|||
if exist diskcopy.asm erase diskcopy.asm |
|||
if exist doit.asm erase doit.asm |
|||
if exist dump.asm erase dump.asm |
|||
if exist editor.asm erase editor.asm |
|||
if exist flip.asm erase flip.asm |
|||
if exist form.asm erase form.asm |
|||
if exist formfeed.asm erase formfeed.asm |
|||
if exist getcfg.asm erase getcfg.asm |
|||
if exist hello.asm erase hello.asm |
|||
if exist help.asm erase help.asm |
|||
if exist label.asm erase label.asm |
|||
if exist map.asm erase map.asm |
|||
if exist menu.asm erase menu.asm |
|||
if exist menu1.asm erase menu1.asm |
|||
if exist menucol.asm erase menucol.asm |
|||
if exist meta.asm erase meta.asm |
|||
if exist mkrasm80.asm erase mkrasm80.asm |
|||
if exist monitor.asm erase monitor.asm |
|||
if exist multifmt.asm erase multifmt.asm |
|||
if exist n8chars.asm erase n8chars.asm |
|||
if exist n8vidtst.asm erase n8vidtst.asm |
|||
if exist portio.asm erase portio.asm |
|||
if exist psecio.asm erase psecio.asm |
|||
if exist putc.asm erase putc.asm |
|||
if exist reconv.asm erase reconv.asm |
|||
if exist remote.asm erase remote.asm |
|||
if exist sectorio.asm erase sectorio.asm |
|||
if exist stat9918.asm erase stat9918.asm |
|||
if exist sysgen.asm erase sysgen.asm |
|||
if exist termtype.asm erase termtype.asm |
|||
if exist test.asm ertase test.asm |
|||
if exist tester.asm erase tester.asm |
|||
if exist testn8.asm erase testn8.asm |
|||
if exist testv5.asm erase testv5.asm |
|||
if exist testv6.asm erase testv6.asm |
|||
if exist tms9918.asm erase tms9918.asm |
|||
if exist tms9918x.asm erase tms9918x.asm |
|||
if exist tmsbind.asm erase tmsbind.asm |
|||
if exist tmsstat.asm erase tmsstat.asm |
|||
if exist trackio.asm erase trackio.asm |
|||
if exist video.asm erase video.asm |
|||
if exist view.asm erase view.asm |
|||
if exist 2drive.o erase 2drive.o |
|||
if exist 2map.o erase 2map.o |
|||
if exist banker.o erase banker.o |
|||
if exist cbanner.o erase cbanner.o |
|||
if exist chars.o erase chars.o |
|||
if exist clear.o erase clear.o |
|||
if exist clogical.o erase clogical.o |
|||
if exist cls.o erase cls.o |
|||
if exist cmemory.o erase cmemory.o |
|||
if exist cnamept*.o erase cnamept*.o |
|||
if exist convert.o erase convert.o |
|||
if exist cpmname.o erase cpmname.o |
|||
if exist ctermcap.o erase ctermcap.o |
|||
if exist cvt2h.o erase cvt2h.o |
|||
if exist diskcopy.o erase diskcopy.o |
|||
if exist doit.o erase doit.o |
|||
if exist dump.o erase dump.o |
|||
if exist editor.o erase editor.o |
|||
if exist flip.o erase flip.o |
|||
if exist form.o erase form.o |
|||
if exist formfeed.o erase formfeed.o |
|||
if exist getcfg.o erase getcfg.o |
|||
if exist hello.o erase hello.o |
|||
if exist help.o erase help.o |
|||
if exist label.o erase label.o |
|||
if exist map.o erase map.o |
|||
if exist menu.o erase menu.o |
|||
if exist menu1.o erase menu1.o |
|||
if exist menucol.o erase menucol.o |
|||
if exist meta.o erase meta.o |
|||
if exist metadata.o erase metadata.o |
|||
if exist mkrasm80.o erase mkrasm80.o |
|||
if exist monitor.o erase monitor.o |
|||
if exist multifmt.o erase multifmt.o |
|||
if exist n8chars.o erase n8chars.o |
|||
if exist n8vidtst.o erase n8vidtst.o |
|||
if exist portio.o erase portio.o |
|||
if exist psecio.o erase psecio.o |
|||
if exist putc.o erase putc.o |
|||
if exist reconv.o erase reconv.o |
|||
if exist remote.o erase remote.o |
|||
if exist sectorio.o erase sectorio.o |
|||
if exist stat9918.o erase stat9918.o |
|||
if exist sysgen.o erase sysgen.o |
|||
if exist termtype.o erase termtype.o |
|||
if exist test.o ertase test.o |
|||
if exist tester.o erase tester.o |
|||
if exist testn8.o erase testn8.o |
|||
if exist testv5.o erase testv5.o |
|||
if exist testv6.o erase testv6.o |
|||
if exist tms9918.o erase tms9918.o |
|||
if exist tms9918x.o erase tms9918x.o |
|||
if exist tmsbind.o erase tmsbind.o |
|||
if exist tmsstat.o erase tmsstat.o |
|||
if exist trackio.o erase trackio.o |
|||
if exist video.o erase video.o |
|||
if exist view.o erase view.o |
|||
@ -1,27 +0,0 @@ |
|||
era *.bak |
|||
era *.prn |
|||
era *.rel |
|||
era *.sym |
|||
era *.lst |
|||
era *.o |
|||
era sect0*.h |
|||
era sect1*.h |
|||
era sect2*.h |
|||
era sect3*.h |
|||
era sect4*.h |
|||
era sect5*.h |
|||
era sect6*.h |
|||
era sect7*.h |
|||
era sect8*.h |
|||
era sect9*.h |
|||
era sect0*.inc |
|||
era sect1*.inc |
|||
era sect2*.inc |
|||
era sect3*.inc |
|||
era sect4*.inc |
|||
era sect5*.inc |
|||
era sect6*.inc |
|||
era sect7*.inc |
|||
era sect8*.inc |
|||
era sect9*.inc |
|||
|
|||
@ -1,48 +0,0 @@ |
|||
/* clear.c 11/23/2012 dwg - */ |
|||
|
|||
#include "portab.h" |
|||
#include "globals.h" |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
#include "memory.h" |
|||
#include "applvers.h" |
|||
#include "n8chars.h" |
|||
#include "tms9918.h" |
|||
#include "std.h" |
|||
#include "ctermcap.h" |
|||
#include "cpmbdos.h" |
|||
#include "bdoscall.h" |
|||
#include "hbios.h" |
|||
#include "asmiface.h" |
|||
#include "diagnose.h" |
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
#include "cpmbind.h" |
|||
#include "infolist.h" |
|||
#include "metadata.h" |
|||
#include "clogical.h" |
|||
|
|||
#define HIGHSEG 0x0C000 /* memory address of system config */ |
|||
|
|||
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
|||
|
|||
struct CNFGDATA * pCNFGDATA; |
|||
struct SYSCFG * pSYSCFG; |
|||
|
|||
int main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
char column; |
|||
|
|||
hregbc = GETSYSCFG; /* function = Get System Config */ |
|||
hregde = HIGHSEG; /* addr of dest (must be high) */ |
|||
diagnose(); /* invoke the NBIOS function */ |
|||
pSYSCFG = HIGHSEG; |
|||
crtinit(pSYSCFG->cnfgdata.termtype); |
|||
crtclr(); |
|||
crtlc(0,0); |
|||
} |
|||
|
|||
|
|||
@ -1,10 +0,0 @@ |
|||
e:rem clear.sub 7/22/2012 dwg - build clear from sources |
|||
cc clear |
|||
as clear |
|||
as bdoscall |
|||
as bioscall |
|||
cc ctermcap |
|||
as ctermcap |
|||
as diagnose |
|||
ln clear.o diagnose.o bioscall.o bdoscall.o ctermcap.o c.lib |
|||
|
|||
@ -1,57 +0,0 @@ |
|||
/* clogical.c 6/4/2012 dwg - */ |
|||
|
|||
#include "portab.h" |
|||
#include "cpmbios.h" |
|||
#include "asmiface.h" |
|||
|
|||
lugcur(drive) |
|||
{ |
|||
asmif(pGETLU,drive,0,0); |
|||
return xregde; |
|||
} |
|||
|
|||
lugnum(drive) |
|||
{ |
|||
asmif(pGETLU,drive,0,0); |
|||
return xreghl; |
|||
} |
|||
|
|||
lugdu(drive) |
|||
{ |
|||
asmif(pGETLU,drive,0,0); |
|||
return xregbc>>8; |
|||
} |
|||
|
|||
luscur(drive,lunum) |
|||
{ |
|||
asmif(pGETLU,drive,0,0); |
|||
/* A = Result 0=OK */ |
|||
/* B = devunit */ |
|||
/* DE = current */ |
|||
/* HL = numlu */ |
|||
|
|||
/* BC = devunit*256+drive */ |
|||
/* DE = current */ |
|||
/* HL = numlu */ |
|||
asmif(pSETLU,xregbc,lunum,xreghl); |
|||
} |
|||
|
|||
lusnum(drive,numlu) |
|||
{ |
|||
asmif(pGETLU,drive,0,0); |
|||
/* A = Result 0=OK */ |
|||
/* B = devunit */ |
|||
/* DE = current */ |
|||
/* HL = numlu */ |
|||
|
|||
/* BC = devunit*256+drive */ |
|||
/* DE = current */ |
|||
/* HL = numlu */ |
|||
asmif(pSETLU,xregbc,xregde,numlu); |
|||
} |
|||
|
|||
|
|||
/********************/ |
|||
/* eof - clogical.c */ |
|||
/********************/ |
|||
|
|||
@ -1,14 +0,0 @@ |
|||
/*****************************/ |
|||
/* clogical.H 6/4/2012 dwg - */ |
|||
/*****************************/ |
|||
|
|||
extern lugdu(); |
|||
extern lugcur(); |
|||
extern luscur(); |
|||
extern lugnum(); |
|||
extern lusnum(); |
|||
|
|||
/********************/ |
|||
/* eof - clogical.h */ |
|||
/********************/ |
|||
|
|||
@ -1,127 +0,0 @@ |
|||
/* cls.c 7/21/2012 dwg - elegant form of clear screen program */ |
|||
|
|||
/*
|
|||
#include "stdio.h" |
|||
#include "applvers.h" |
|||
*/ |
|||
|
|||
/* declarations for HBIOS access */ |
|||
extern char hrega; |
|||
extern unsigned int hregbc; |
|||
extern unsigned int hregde; |
|||
extern unsigned int hreghl; |
|||
extern diagnose(); |
|||
|
|||
/* declaration dir BIOS and BDOS and low level calls */ |
|||
extern char xrega; |
|||
extern unsigned int xregbc; |
|||
extern unsigned int xregde; |
|||
extern unsigned int xreghl; |
|||
extern asmif(); /* asmif(0x0E6**,bc,de,hl); */ |
|||
|
|||
#define BDOS 5 /* memory address of BDOS invocation */ |
|||
#define HIGHSEG 0x0C000 /* memory address of system config */ |
|||
|
|||
#define GETSYSCFG 0x0F000 /* HBIOS function for Get System Configuration */ |
|||
|
|||
/* pointer based Configuration Data structure */ |
|||
struct CNFGDATA { |
|||
unsigned char rmj; |
|||
unsigned char rmn; |
|||
unsigned char rup; |
|||
unsigned char rtp; |
|||
unsigned char diskboot; |
|||
unsigned char devunit; |
|||
unsigned int bootlu; |
|||
unsigned char hour; |
|||
unsigned char minute; |
|||
unsigned char second; |
|||
unsigned char month; |
|||
unsigned char day; |
|||
unsigned char year; |
|||
unsigned char freq; |
|||
unsigned char platform; |
|||
unsigned char dioplat; |
|||
unsigned char vdumode; |
|||
unsigned int romsize; |
|||
unsigned int ramsize; |
|||
unsigned char clrramdk; |
|||
unsigned char dskyenable; |
|||
unsigned char uartenable; |
|||
unsigned char vduenable; |
|||
unsigned char fdenable; |
|||
unsigned char fdtrace; |
|||
unsigned char fdmedia; |
|||
unsigned char fdmediaalt; |
|||
unsigned char fdmauto; |
|||
unsigned char ideenable; |
|||
unsigned char idetrace; |
|||
unsigned char ide8bit; |
|||
unsigned int idecapacity; |
|||
unsigned char ppideenable; |
|||
unsigned char ppidetrace; |
|||
unsigned char ppide8bit; |
|||
unsigned int ppidecapacity; |
|||
unsigned char ppideslow; |
|||
unsigned char boottype; |
|||
unsigned char boottimeout; |
|||
unsigned char bootdefault; |
|||
unsigned int baudrate; |
|||
unsigned char ckdiv; |
|||
unsigned char memwait; |
|||
unsigned char iowait; |
|||
unsigned char cntlb0; |
|||
unsigned char cntlb1; |
|||
unsigned char sdenable; |
|||
unsigned char sdtrace; |
|||
unsigned int sdcapacity; |
|||
unsigned char sdcsio; |
|||
unsigned char sdcsiofast; |
|||
unsigned char defiobyte; |
|||
unsigned char termtype; |
|||
unsigned int revision; |
|||
unsigned char prpsdenable; |
|||
unsigned char prpsdtrace; |
|||
unsigned int prpsdcapacity; |
|||
unsigned char prpconenable; |
|||
unsigned int biossize; |
|||
unsigned char pppenable; |
|||
unsigned char pppsdenable; |
|||
unsigned char pppsdtrace; |
|||
unsigned int pppsdcapacity; |
|||
unsigned char pppconenable; |
|||
unsigned char prpenable; |
|||
}; |
|||
|
|||
struct JMP { |
|||
unsigned char opcode; /* JMP opcode */ |
|||
unsigned int address; /* JMP address */ |
|||
}; |
|||
|
|||
struct SYSCFG { |
|||
struct JMP jmp; |
|||
void * cnfloc; |
|||
void * tstloc; |
|||
void * varloc; |
|||
struct CNFGDATA cnfgdata; |
|||
char filler[256-3-2-2-2-sizeof(struct CNFGDATA)]; |
|||
} * pSYSCFG = HIGHSEG; |
|||
|
|||
|
|||
main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
hregbc = GETSYSCFG; /* function = Get System Config */ |
|||
hregde = HIGHSEG; /* addr of dest (must be high) */ |
|||
diagnose(); /* invoke the HBIOS function */ |
|||
|
|||
crtinit(pSYSCFG->cnfgdata.termtype); /* pass termtype to init */ |
|||
|
|||
crtclr(); |
|||
|
|||
crtlc(0,0); |
|||
} |
|||
|
|||
|
|||
|
|||
@ -1,283 +0,0 @@ |
|||
extrn .begin,.chl,.swt |
|||
extrn csave,cret,.move |
|||
PUBLIC memcmp_ |
|||
memcmp_: lxi d,.2 |
|||
call csave |
|||
LXI H,8-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,2-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,10-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,0-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,-2-.2 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
JMP .4 |
|||
.3: |
|||
LXI H,-2-.2 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.4: |
|||
LXI H,-2-.2 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,12-.2 |
|||
DAD SP |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
CALL .lt |
|||
JZ .5 |
|||
LXI H,0-.2 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
XCHG |
|||
DCX H |
|||
MOV E,M |
|||
MVI D,0 |
|||
PUSH D |
|||
LXI H,4-.2 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
XCHG |
|||
DCX H |
|||
MOV E,M |
|||
MVI D,0 |
|||
POP H |
|||
CALL .ne |
|||
JZ .6 |
|||
LXI H,0 |
|||
RET |
|||
.6: |
|||
JMP .3 |
|||
.5: |
|||
LXI H,1 |
|||
RET |
|||
.2 EQU -6 |
|||
PUBLIC memcpy_ |
|||
memcpy_: lxi d,.7 |
|||
call csave |
|||
LXI H,10-.7 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,2-.7 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,8-.7 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,0-.7 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,-2-.7 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
JMP .9 |
|||
.8: |
|||
LXI H,-2-.7 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.9: |
|||
LXI H,-2-.7 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,12-.7 |
|||
DAD SP |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
CALL .lt |
|||
JZ .10 |
|||
LXI H,2-.7 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
XCHG |
|||
DCX H |
|||
MOV E,M |
|||
PUSH D |
|||
LXI H,2-.7 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
XCHG |
|||
DCX H |
|||
POP D |
|||
MOV M,E |
|||
JMP .8 |
|||
.10: |
|||
RET |
|||
.7 EQU -6 |
|||
PUBLIC memset_ |
|||
memset_: lxi d,.11 |
|||
call csave |
|||
LXI H,8-.11 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,2-.11 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
LXI H,0 |
|||
XCHG |
|||
LXI H,0-.11 |
|||
DAD SP |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
JMP .13 |
|||
.12: |
|||
LXI H,0-.11 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
.13: |
|||
LXI H,0-.11 |
|||
DAD SP |
|||
MOV E,M |
|||
INX H |
|||
MOV D,M |
|||
LXI H,12-.11 |
|||
DAD SP |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
CALL .ul |
|||
JZ .14 |
|||
LXI H,10-.11 |
|||
DAD SP |
|||
MOV E,M |
|||
PUSH D |
|||
LXI H,4-.11 |
|||
DAD SP |
|||
PUSH H |
|||
MOV A,M |
|||
INX H |
|||
MOV H,M |
|||
MOV L,A |
|||
INX H |
|||
XCHG |
|||
POP H |
|||
MOV M,E |
|||
INX H |
|||
MOV M,D |
|||
XCHG |
|||
DCX H |
|||
POP D |
|||
MOV M,E |
|||
JMP .12 |
|||
.14: |
|||
RET |
|||
.11 EQU -4 |
|||
extrn .ne |
|||
extrn .lt |
|||
extrn .ul |
|||
END |
|||
|
|||
@ -1,53 +0,0 @@ |
|||
/* cmemory.c 3/13/2012 dwg - */ |
|||
|
|||
#include "portab.h" |
|||
/* #include "cpmbind.h" */ |
|||
|
|||
memcmp(xptr,yptr,count) |
|||
u8 * xptr; |
|||
u8 * yptr; |
|||
int count; |
|||
{ |
|||
u8 * x; |
|||
u8 * y; |
|||
int i; |
|||
|
|||
x = xptr; |
|||
y = yptr; |
|||
for(i=0;i<count;i++) { |
|||
if(*x++ != *y++) return FALSE; |
|||
} |
|||
return TRUE; |
|||
} |
|||
|
|||
memcpy(dstptr,srcptr,count) |
|||
u8 * dstptr; |
|||
u8 * srcptr; |
|||
int count; |
|||
{ |
|||
u8 * s; |
|||
u8 * d; |
|||
int i; |
|||
|
|||
s = srcptr; |
|||
d = dstptr; |
|||
for(i=0;i<count;i++) { |
|||
*d++ = *s++; |
|||
} |
|||
} |
|||
|
|||
memset(dstptr,data,count) |
|||
u8 * dstptr; |
|||
u8 data; |
|||
u16 count; |
|||
{ |
|||
u8 * p; |
|||
int i; |
|||
|
|||
p = dstptr; |
|||
for(i=0;i<count;i++) { |
|||
*p++ = data; |
|||
} |
|||
} |
|||
|
|||
|
|||
@ -1,58 +0,0 @@ |
|||
/* metadata.c 6/10/2012 dwg - functions for manipulating a drive's metadata */ |
|||
|
|||
#include "portab.h" |
|||
#include "globals.h" |
|||
#include "cpmbios.h" |
|||
#include "bioscall.h" |
|||
#include "sectorio.h" |
|||
#include "infolist.h" |
|||
#include "dphmap.h" |
|||
|
|||
int hasmeta(drive) |
|||
int drive; |
|||
{ |
|||
ireghl = pGETINFO; |
|||
bioscall(); |
|||
pINFOLIST = ireghl; |
|||
pDPHVEC = pINFOLIST->dphmap; |
|||
pDPH = pDPHVEC[drive] |
|||
pDPB = pDPH->dpb; |
|||
if(0 < pDPB->off) { |
|||
return TRUE; |
|||
} else { |
|||
return FALSE; |
|||
} |
|||
|
|||
} |
|||
|
|||
int getmeta(drive,buffer) |
|||
int drive; |
|||
struct METADATA * buffer; |
|||
{ |
|||
if(TRUE == hasmeta(drive)) { |
|||
rdsector(drive,track,sector,buffer,0); |
|||
return SUCCESS; |
|||
} else { |
|||
return FAILURE; |
|||
} |
|||
} |
|||
|
|||
int putmeta(drive,buffer) |
|||
int drive; |
|||
struct METADATA * buffer; |
|||
{ |
|||
if(TRUE == hasmeta(drive)) { |
|||
wrsector(drive,track,sector,buffer,0); |
|||
return SUCCESS; |
|||
} else { |
|||
return FAILURE; |
|||
} |
|||
} |
|||
|
|||
/********************/ |
|||
/* eof - metadata.c */ |
|||
/********************/ |
|||
|
|||
|
|||
|
|||
|
|||
@ -1,108 +0,0 @@ |
|||
/* cnamept1.c 5/24/2012 dwg - added bootlu */ |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
|
|||
#include "portab.h" |
|||
#include "std.h" |
|||
|
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
|
|||
extern pager(); |
|||
|
|||
char cache[17]; |
|||
|
|||
cnamept1(syscfg) |
|||
struct SYSCFG * syscfg; |
|||
{ |
|||
strcpy(cache,"syscfg->cnfgdata"); |
|||
|
|||
printf("syscfg->jmp jp 0%04xh",syscfg->jmp.address); |
|||
pager(); |
|||
|
|||
printf("syscfg->cnfloc .dw 0%04xh",syscfg->cnfloc); |
|||
pager(); |
|||
|
|||
printf("syscfg->tstloc .dw 0%04xh",syscfg->tstloc); |
|||
pager(); |
|||
|
|||
printf("syscfg->varloc .dw 0%04xh",syscfg->varloc); |
|||
pager(); |
|||
|
|||
printf("%s.rmj = %d",cache,syscfg->cnfgdata.rmj); |
|||
pager(); |
|||
|
|||
printf("%s.rmn = %d",cache,syscfg->cnfgdata.rmn); |
|||
pager(); |
|||
|
|||
printf("%s.rup = %d",cache,syscfg->cnfgdata.rup); |
|||
pager(); |
|||
|
|||
printf("%s.rtp = %d",cache,syscfg->cnfgdata.rtp); |
|||
pager(); |
|||
|
|||
printf("%s.diskboot = ",cache); |
|||
switch(syscfg->cnfgdata.diskboot) { |
|||
case TRUE: printf("TRUE"); break; |
|||
case FALSE: printf("FALSE"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.devunit = 0x%02x",cache, |
|||
syscfg->cnfgdata.devunit); |
|||
pager(); |
|||
|
|||
printf("%s.bootlu = 0x%04x",cache, |
|||
syscfg->cnfgdata.bootlu); |
|||
pager(); |
|||
|
|||
printf("%s.freq = %dMHz",cache,syscfg->cnfgdata.freq); |
|||
pager(); |
|||
|
|||
printf("%s.platform = ",cache); |
|||
switch(syscfg->cnfgdata.platform) { |
|||
case PLT_N8VEM: printf("N8VEM"); break; |
|||
case PLT_ZETA: printf("ZETA"); break; |
|||
case PLT_N8: printf("N8"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.dioplat = ",cache); |
|||
switch(syscfg->cnfgdata.dioplat) { |
|||
case DPNONE: printf("DIOPLT_NONE"); break; |
|||
case DPDIO: printf("DIOPLT_DISKIO"); break; |
|||
case DPZETA: printf("DIOPLT_ZETA"); break; |
|||
case DPDIDE: printf("DIOPLT_DIDE"); break; |
|||
case DPN8: printf("DIOPLT_N8"); break; |
|||
case DPDIO3: printf("DIOPLT_DISKIO3"); break; |
|||
default: printf("Unknown"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.vdumode = ",cache); |
|||
switch(syscfg->cnfgdata.vdumode) { |
|||
case VPNONE: printf("VDUPLT_NONE"); break; |
|||
case VPVDU: printf("VDUPLT_VDU"); break; |
|||
case VPVDUC: printf("VDUPLT_VDUC"); break; |
|||
case VPPROPIO: printf("VDUPLT_PROPIO"); break; |
|||
case VPN8: printf("VDUPLT_VPN8"); break; |
|||
default: printf("Unknown!!"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.romsize = %d",cache, |
|||
syscfg->cnfgdata.romsize); |
|||
pager(); |
|||
|
|||
printf("%s.ramsize = %d",cache, |
|||
syscfg->cnfgdata.ramsize); |
|||
pager(); |
|||
|
|||
} |
|||
|
|||
|
|||
/********************/ |
|||
/* eof - cnamecp1.c */ |
|||
/********************/ |
|||
|
|||
@ -1,113 +0,0 @@ |
|||
/* cnamept2.c 5/24/2012 dwg - */ |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
|
|||
#include "portab.h" |
|||
#include "std.h" |
|||
|
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
|
|||
extern pager(); |
|||
|
|||
char cache[17]; |
|||
|
|||
cnamept2(syscfg) |
|||
struct SYSCFG * syscfg; |
|||
{ |
|||
strcpy(cache,"syscfg->cnfgdata"); |
|||
|
|||
printf("%s.clrramdk = ",cache); |
|||
switch(syscfg->cnfgdata.clrramdk) { |
|||
case CLRNEV: printf("CLR_NEVER"); break; |
|||
case CLRAUTO: printf("CLR_AUTO"); break; |
|||
case CLRALLW: printf("CLR_ALLWAYS"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.dskyenable = ",cache); |
|||
switch(syscfg->cnfgdata.dskyenable) { |
|||
case TRUE: printf("TRUE"); break; |
|||
case FALSE: printf("FALSE"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.uartenable = ",cache); |
|||
switch(syscfg->cnfgdata.uartenable) { |
|||
case TRUE: printf("TRUE"); break; |
|||
case FALSE: printf("FALSE"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.vduenable = ",cache); |
|||
switch(syscfg->cnfgdata.vduenable) { |
|||
case TRUE: printf("TRUE"); break; |
|||
case FALSE: printf("FALSE"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.fdenable = ",cache); |
|||
switch(syscfg->cnfgdata.fdenable) { |
|||
case TRUE: printf("TRUE"); break; |
|||
case FALSE: printf("FALSE"); break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.fdenable) { |
|||
|
|||
printf("%s.fdtrace = ",cache); |
|||
switch(syscfg->cnfgdata.fdtrace) { |
|||
case 0: printf("Silent"); break; |
|||
case 1: printf("Fatal Errors"); break; |
|||
case 2: printf("All Errors"); break; |
|||
case 3: printf("Everything"); break; |
|||
default: printf("Unknown!!"); break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.fdmedia = ",cache); |
|||
switch(syscfg->cnfgdata.fdmedia) { |
|||
case FDM720: printf("FDM720"); |
|||
printf(" 3.5 720KB 2-sided 80 Trks 9 Sectors"); |
|||
break; |
|||
case FDM144: printf("FDM144"); |
|||
printf(" 3.5 1.44MB 2-sided 80 Trks 18 Sectors"); |
|||
break; |
|||
case FDM360: printf("FDM360"); |
|||
printf(" 5.25 360KB 2-sided 40 Trks 9 Sectors"); |
|||
break; |
|||
case FDM120: printf("FDM120"); |
|||
printf(" 3.5 1.2MB 2-sided 80 Trks 15 Sectors"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.fdmediaalt = ",cache); |
|||
switch(syscfg->cnfgdata.fdmediaalt) { |
|||
case FDM720: printf("FDM720"); |
|||
printf(" 3.5 720KB 2-sided 80 Trks 9 Sectors"); |
|||
break; |
|||
case FDM144: printf("FDM144"); |
|||
printf(" 3.5 1.44MB 2-sided 80 Trks 18 Sectors"); |
|||
break; |
|||
case FDM360: printf("FDM360"); |
|||
printf(" 5.25 360KB 2-sided 40 Trks 9 Sectors"); |
|||
break; |
|||
case FDM120: printf("FDM120"); |
|||
printf(" 3.5 1.2MB 2-sided 80 Trks 15 Sectors"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
} |
|||
} |
|||
|
|||
|
|||
/********************/ |
|||
/* eof - cnamept2.c */ |
|||
/********************/ |
|||
|
|||
|
|||
@ -1,216 +0,0 @@ |
|||
/* cnamept2.c 5/24/2012 dwg - */ |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
|
|||
#include "portab.h" |
|||
#include "std.h" |
|||
|
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
|
|||
extern pager(); |
|||
|
|||
char cache[17]; |
|||
|
|||
cnamept3(syscfg) |
|||
struct SYSCFG * syscfg; |
|||
{ |
|||
strcpy(cache,"syscfg->cnfgdata"); |
|||
|
|||
printf("%s.fdmauto = ",cache); |
|||
switch(syscfg->cnfgdata.fdmauto) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.ideenable = ",cache); |
|||
switch(syscfg->cnfgdata.ideenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.ideenable) { |
|||
|
|||
printf("%s.idetrace = ",cache); |
|||
switch(syscfg->cnfgdata.idetrace) { |
|||
case 0: printf("SILENT"); |
|||
break; |
|||
case 1: printf("ERRORS"); |
|||
break; |
|||
case 2: printf("EVERYTHING"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.de8bit = ",cache); |
|||
switch(syscfg->cnfgdata.ide8bit) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.idecapacity = %dMB",cache, |
|||
syscfg->cnfgdata.idecapacity); |
|||
pager(); |
|||
|
|||
} |
|||
|
|||
printf("%s.ppideenable = ",cache); |
|||
switch(syscfg->cnfgdata.ppideenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.ppideenable) { |
|||
|
|||
printf("%s.ppidetrace = ",cache); |
|||
switch(syscfg->cnfgdata.ppidetrace) { |
|||
case 0: printf("SILENT"); |
|||
break; |
|||
case 1: printf("ERRORS"); |
|||
break; |
|||
case 2: printf("EVERYTHING"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
|
|||
printf("%s.ppide8bit = ",cache); |
|||
switch(syscfg->cnfgdata.ppide8bit) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.ppidecapacity = %dKB",cache, |
|||
syscfg->cnfgdata.ppidecapacity); |
|||
pager(); |
|||
|
|||
printf("%s.ppideslow = ",cache); |
|||
switch(syscfg->cnfgdata.ppideslow) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
} |
|||
|
|||
printf("%s.boottype = ",cache); |
|||
switch(syscfg->cnfgdata.boottype) { |
|||
case BTMENU: printf("BT_MENU"); |
|||
break; |
|||
case BTAUTO: printf("BT_AUTO"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.boottimeout = %d seconds",cache, |
|||
syscfg->cnfgdata.boottimeout); |
|||
pager(); |
|||
|
|||
printf("%s.bootdefault = %c:",cache, |
|||
syscfg->cnfgdata.bootdefault); |
|||
pager(); |
|||
|
|||
printf("%s.baudrate = %u (0x%04x) Baud",cache, |
|||
syscfg->cnfgdata.baudrate,syscfg->cnfgdata.baudrate); |
|||
pager(); |
|||
|
|||
if(PLT_N8 == syscfg->cnfgdata.platform) { |
|||
|
|||
printf("%s.ckdiv = %d",cache, |
|||
syscfg->cnfgdata.ckdiv); |
|||
pager(); |
|||
|
|||
printf("%s.memwait = 0x%02x",cache, |
|||
syscfg->cnfgdata.memwait); |
|||
pager(); |
|||
|
|||
printf("%s.iowait = 0x%02x",cache,syscfg->cnfgdata.iowait); |
|||
pager(); |
|||
|
|||
printf("%s.cntlb0 = 0x%02x",cache,syscfg->cnfgdata.cntlb0); |
|||
pager(); |
|||
|
|||
printf("%s.cntlb1 = 0x%02x",cache,syscfg->cnfgdata.cntlb1); |
|||
pager(); |
|||
|
|||
|
|||
printf("%s.sdenable = ",cache); |
|||
switch(syscfg->cnfgdata.sdenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.sdtrace = ",cache); |
|||
switch(syscfg->cnfgdata.sdtrace) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
} |
|||
} |
|||
|
|||
|
|||
/********************/ |
|||
/* eof - cnamept3.c */ |
|||
/********************/ |
|||
|
|||
/*
|
|||
unsigned char ckdiv; |
|||
unsigned char memwait; |
|||
|
|||
unsigned char iowait; |
|||
unsigned char cntlb0; |
|||
unsigned char cntlb1; |
|||
unsigned char sdenable; |
|||
unsigned char sdtrace; |
|||
unsigned int sdcapacity; |
|||
unsigned char sdcsio; |
|||
unsigned char sdcsiofast; |
|||
unsigned char defiobyte; |
|||
unsigned char termtype; |
|||
unsigned int revision; |
|||
unsigned char prpsdenable; |
|||
unsigned char prpsdtrace; |
|||
unsigned int prpsdcapacity; |
|||
unsigned char prpconenable; |
|||
unsigned int biossize; |
|||
*/ |
|||
|
|||
@ -1,198 +0,0 @@ |
|||
/* cnamept2.c 5/24/2012 dwg - */ |
|||
|
|||
#include "stdio.h" |
|||
#include "stdlib.h" |
|||
|
|||
#include "portab.h" |
|||
#include "std.h" |
|||
|
|||
#include "cnfgdata.h" |
|||
#include "syscfg.h" |
|||
|
|||
extern pager(); |
|||
|
|||
char cache[17]; |
|||
|
|||
cnamept4(syscfg) |
|||
struct SYSCFG * syscfg; |
|||
{ |
|||
strcpy(cache,"syscfg->cnfgdata"); |
|||
|
|||
if(PLT_N8 == syscfg->cnfgdata.platform) { |
|||
|
|||
printf("%s.sdcapacity = %uKB",cache, |
|||
syscfg->cnfgdata.sdcapacity); |
|||
pager(); |
|||
|
|||
|
|||
printf("%s.sdcsio = ",cache); |
|||
switch(syscfg->cnfgdata.sdcsio) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: |
|||
printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.sdcsiofast = ",cache); |
|||
switch(syscfg->cnfgdata.sdcsiofast) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
} |
|||
|
|||
printf("%s.defiobyte = 0x%02x",cache, |
|||
syscfg->cnfgdata.defiobyte); |
|||
pager(); |
|||
|
|||
printf("%s.termtype = ",cache); |
|||
switch(syscfg->cnfgdata.termtype) { |
|||
case TERM_TTY: printf("TERM_TTY"); |
|||
break; |
|||
case TERM_ANSI: printf("TERM_ANSI"); |
|||
break; |
|||
case TERM_WYSE: printf("TERM_WYSE"); |
|||
break; |
|||
case TERM_VT52: printf("TERM_VT52"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.revision = %d",cache, |
|||
syscfg->cnfgdata.revision); |
|||
pager(); |
|||
|
|||
printf("%s.prpenable = ",cache); |
|||
switch(syscfg->cnfgdata.prpenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.prpenable) { |
|||
|
|||
printf("%s.prpsdenable = "); |
|||
switch(syscfg->cnfgdata.prpsdenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.prpsdenable) { |
|||
|
|||
printf("%s.prpsdtrace = ",cache); |
|||
switch(syscfg->cnfgdata.prpsdtrace) { |
|||
case 0: printf("SILENT"); |
|||
break; |
|||
case 1: printf("ERRORS"); |
|||
break; |
|||
case 2: printf("EVERYTHING"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.prpsdcapacity = ",cache); |
|||
pager(); |
|||
|
|||
printf("%s.prpconenable = ",cache); |
|||
switch(syscfg->cnfgdata.prpconenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
} |
|||
|
|||
} |
|||
|
|||
printf("%s.biossize = %d",cache, |
|||
syscfg->cnfgdata.biossize); |
|||
pager(); |
|||
|
|||
|
|||
printf("%s.pppenable = ",cache); |
|||
switch(syscfg->cnfgdata.pppenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
if(TRUE == syscfg->cnfgdata.pppenable) { |
|||
|
|||
printf("%s.pppsdenable = ",cache); |
|||
switch(syscfg->cnfgdata.pppsdenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
printf("%s.pppsdtrace = ",cache); |
|||
switch(syscfg->cnfgdata.pppsdtrace) { |
|||
case 0: printf("SILENT"); |
|||
break; |
|||
case 1: printf("ERRORS"); |
|||
break; |
|||
case 2: printf("EVERYTHING"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
|
|||
printf("%s.pppcapacity = %d",cache, |
|||
syscfg->cnfgdata.prpsdcapacity); |
|||
pager(); |
|||
|
|||
printf("%s.pppconenable = ",cache); |
|||
switch(syscfg->cnfgdata.pppconenable) { |
|||
case TRUE: printf("TRUE"); |
|||
break; |
|||
case FALSE: printf("FALSE"); |
|||
break; |
|||
default: printf("Unknown!!"); |
|||
break; |
|||
} |
|||
pager(); |
|||
|
|||
} |
|||
|
|||
} |
|||
|
|||
/********************/ |
|||
/* eof - cnamept4.c */ |
|||
/********************/ |
|||
|
|||
|
|||
@ -1,73 +0,0 @@ |
|||
/* cnfgdata.h 6/04/2012 dwg - */ |
|||
|
|||
struct CNFGDATA { |
|||
unsigned char rmj; |
|||
unsigned char rmn; |
|||
unsigned char rup; |
|||
unsigned char rtp; |
|||
unsigned char diskboot; |
|||
unsigned char devunit; |
|||
unsigned int bootlu; |
|||
unsigned char hour; |
|||
unsigned char minute; |
|||
unsigned char second; |
|||
unsigned char month; |
|||
unsigned char day; |
|||
unsigned char year; |
|||
unsigned char freq; |
|||
unsigned char platform; |
|||
unsigned char dioplat; |
|||
unsigned char vdumode; |
|||
unsigned int romsize; |
|||
unsigned int ramsize; |
|||
unsigned char clrramdk; |
|||
unsigned char dskyenable; |
|||
unsigned char uartenable; |
|||
unsigned char vduenable; |
|||
unsigned char fdenable; |
|||
unsigned char fdtrace; |
|||
unsigned char fdmedia; |
|||
unsigned char fdmediaalt; |
|||
unsigned char fdmauto; |
|||
unsigned char ideenable; |
|||
unsigned char idetrace; |
|||
unsigned char ide8bit; |
|||
unsigned int idecapacity; |
|||
unsigned char ppideenable; |
|||
unsigned char ppidetrace; |
|||
unsigned char ppide8bit; |
|||
unsigned int ppidecapacity; |
|||
unsigned char ppideslow; |
|||
unsigned char boottype; |
|||
unsigned char boottimeout; |
|||
unsigned char bootdefault; |
|||
unsigned int baudrate; |
|||
unsigned char ckdiv; |
|||
unsigned char memwait; |
|||
unsigned char iowait; |
|||
unsigned char cntlb0; |
|||
unsigned char cntlb1; |
|||
unsigned char sdenable; |
|||
unsigned char sdtrace; |
|||
unsigned int sdcapacity; |
|||
unsigned char sdcsio; |
|||
unsigned char sdcsiofast; |
|||
unsigned char defiobyte; |
|||
unsigned char termtype; |
|||
unsigned int revision; |
|||
unsigned char prpsdenable; |
|||
unsigned char prpsdtrace; |
|||
unsigned int prpsdcapacity; |
|||
unsigned char prpconenable; |
|||
unsigned int biossize; |
|||
unsigned char pppenable; |
|||
unsigned char pppsdenable; |
|||
unsigned char pppsdtrace; |
|||
unsigned int pppsdcapacity; |
|||
unsigned char pppconenable; |
|||
unsigned char prpenable; |
|||
}; |
|||
|
|||
/********************/ |
|||
/* eof - cnfgdata.h */ |
|||
/********************/ |
|||
@ -1,210 +0,0 @@ |
|||
; cnfgdata.lib 7/19/2012 dwg - |
|||
|
|||
byte equ 1 |
|||
word equ 2 |
|||
|
|||
;; /* cnfgdata.h 6/04/2012 dwg - */ |
|||
;; |
|||
;; struct CNFGDATA { |
|||
;; unsigned char rmj; |
|||
cfgrmj equ 08009h |
|||
;; |
|||
;; unsigned char rmn; |
|||
cfgrmn equ cfgrmj + byte |
|||
;; |
|||
;; unsigned char rup; |
|||
cfgrup equ cfgrmn + byte |
|||
;; |
|||
;; unsigned char rtp; |
|||
cfgrtp equ cfgrup + byte |
|||
;; |
|||
;; unsigned char diskboot; |
|||
diskboot equ cfgrtp + byte |
|||
;; |
|||
;; unsigned char devunit; |
|||
devunit equ diskboot + byte |
|||
;; |
|||
;; unsigned int bootlu; |
|||
bootlu equ devunit + byte |
|||
;; |
|||
;; unsigned char hour; |
|||
hour equ bootlu + word |
|||
;; |
|||
;; unsigned char minute; |
|||
minute equ hour + byte |
|||
;; |
|||
;; unsigned char second; |
|||
second equ minute + byte |
|||
;; |
|||
;; unsigned char month; |
|||
month equ second + byte |
|||
;; |
|||
;; unsigned char day; |
|||
day equ month + byte |
|||
;; |
|||
;; unsigned char year; |
|||
year equ day + byte |
|||
;; |
|||
;; unsigned char freq; |
|||
freq equ year + byte |
|||
;; |
|||
;; unsigned char platform; |
|||
platform equ freq+ byte |
|||
;; |
|||
;; unsigned char dioplat; |
|||
dioplat equ platform + byte |
|||
;; |
|||
;; unsigned char vdumode; |
|||
vdumode equ dioplat + byte |
|||
;; |
|||
;; unsigned int romsize; |
|||
romsize equ vdumode + byte |
|||
;; |
|||
;; unsigned int ramsize; |
|||
ramsize equ romsize + word |
|||
;; |
|||
;; unsigned char clrramdk; |
|||
clrramdk equ ramsize + word |
|||
;; |
|||
;; unsigned char dskyenable; |
|||
dskyenable equ clrramdk + byte |
|||
;; |
|||
;; unsigned char uartenable; |
|||
uartenable equ dskyenable + byte |
|||
;; |
|||
;; unsigned char vduenable; |
|||
vduenable equ uartenable + byte |
|||
;; |
|||
;; unsigned char fdenable; |
|||
fdenable equ vduenable + byte |
|||
;; |
|||
;; unsigned char fdtrace; |
|||
fdtrace equ fdenable + byte |
|||
;; |
|||
;; unsigned char fdmedia; |
|||
fdmedia equ fdtrace + byte |
|||
;; |
|||
;; unsigned char fdmediaalt; |
|||
fdmediaalt equ fdmedia + byte |
|||
;; |
|||
;; unsigned char fdmauto; |
|||
fdmauto equ fdmediaalt + byte |
|||
;; |
|||
;; unsigned char ideenable; |
|||
ideenable equ fdmauto + byte |
|||
;; |
|||
;; unsigned char idetrace; |
|||
idetrace equ ideenable + byte |
|||
;; |
|||
;; unsigned char ide8bit; |
|||
ide8bit equ idetrace + byte |
|||
;; |
|||
;; unsigned int idecapacity; |
|||
idecapacity equ ide8bit + byte |
|||
;; |
|||
;; unsigned char ppideenable; |
|||
ppideenable equ idecapacity + word |
|||
;; |
|||
;; unsigned char ppidetrace; |
|||
ppidetrace equ ppideenable + byte |
|||
;; |
|||
;; unsigned char ppide8bit; |
|||
ppide8bit equ ppidetrace + byte |
|||
;; |
|||
;; unsigned int ppidecapacity; |
|||
ppidecapacity equ ppide8bit + byte |
|||
;; |
|||
;; unsigned char ppideslow; |
|||
ppideslow equ ppidecapacity + word |
|||
;; |
|||
;; unsigned char boottype; |
|||
boottype equ ppideslow + byte |
|||
;; |
|||
;; unsigned char boottimeout; |
|||
boottimeout equ boottype + byte |
|||
;; |
|||
;; unsigned char bootdefault; |
|||
bootdefault equ boottimeout + byte |
|||
;; |
|||
;; unsigned int baudrate; |
|||
baudrate equ bootdefault + byte |
|||
;; |
|||
;; unsigned char ckdiv; |
|||
ckdiv equ baudrate + word |
|||
;; |
|||
;; unsigned char memwait; |
|||
memwait equ ckdiv + byte |
|||
;; |
|||
;; unsigned char iowait; |
|||
iowait equ memwait + byte |
|||
;; |
|||
;; unsigned char cntlb0; |
|||
cntlb0 equ iowait + byte |
|||
;; |
|||
;; unsigned char cntlb1; |
|||
cntlb1 equ cntlb0 + byte |
|||
;; |
|||
;; unsigned char sdenable; |
|||
sdenable equ cntlb1 + byte |
|||
;; |
|||
;; unsigned char sdtrace; |
|||
sdtrace equ sdenable + byte |
|||
;; |
|||
;; unsigned int sdcapacity; |
|||
sdcapacity equ sdtrace + byte |
|||
;; |
|||
;; unsigned char sdcsio; |
|||
sdcsio equ sdcapacity + word |
|||
;; |
|||
;; unsigned char sdcsiofast; |
|||
sdcsiofast equ sdcsio + byte |
|||
;; |
|||
;; unsigned char defiobyte; |
|||
defiobyte equ sdcsiofast + byte |
|||
;; |
|||
;; unsigned char termtype; |
|||
termtype equ defiobyte + byte |
|||
;; |
|||
;; unsigned int revision; |
|||
revision equ termtype + byte |
|||
;; |
|||
;; unsigned char prpsdenable; |
|||
prpsdenable equ revision + word |
|||
;; |
|||
;; unsigned char prpsdtrace; |
|||
prpsdtrace equ prpsdenable + byte |
|||
;; |
|||
;; unsigned int prpsdcapacity; |
|||
prpsdcapacity equ prpsdtrace + byte |
|||
;; |
|||
;; unsigned char prpconenable; |
|||
prpconenable equ prpsdcapacity + word |
|||
;; |
|||
;; unsigned int biossize; |
|||
biossize equ prpconenable + byte |
|||
;; |
|||
;; unsigned char pppenable; |
|||
pppenable equ biossize + word |
|||
;; |
|||
;; unsigned char pppsdenable; |
|||
pppsdenable equ pppenable + byte |
|||
;; |
|||
;; unsigned char pppsdtrace; |
|||
pppsdtrace equ pppsdenable + byte |
|||
;; |
|||
;; unsigned int pppsdcapacity; |
|||
pppsdcapacity equ pppsdtrace + byte |
|||
;; |
|||
;; unsigned char pppconenable; |
|||
pppconenable equ pppsdcapacity + word |
|||
;; |
|||
;; unsigned char prpenable; |
|||
prpenable equ pppconenable + byte |
|||
;; |
|||
;; }; |
|||
;; |
|||
;; /********************/ |
|||
;; /* eof - cnfgdata.h */ |
|||
;; /********************/ |
|||
|
|||
|
|||
@ -1,80 +0,0 @@ |
|||
/* convert.c 7/11/2012 dwg -
|
|||
|
|||
The purpose of this program is similar to the CP/M dump program |
|||
except that in addition to the normal hexadecimal bytes, a field |
|||
of ascii bytes to the right are displayed as well. |
|||
|
|||
*/ |
|||
|
|||
#include "stdio.h" |
|||
|
|||
|
|||
char visible[256] = { |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 00 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 10 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 20 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 30 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 40 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 50 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1, /* 60 */ |
|||
1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0, /* 70 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 80 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* 90 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* A0 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* B0 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* C0 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* D0 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* E0 */ |
|||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* F0 */ |
|||
}; |
|||
|
|||
#include "cvt2h.h" |
|||
|
|||
unsigned char sector[32767]; |
|||
|
|||
main(argc,argv) |
|||
int argc; |
|||
char *argv[]; |
|||
{ |
|||
int i,j; |
|||
int offset; |
|||
int result; |
|||
unsigned char byte; |
|||
char name[32]; |
|||
|
|||
|
|||
FILE * fd; |
|||
|
|||
for(i=0;i<sizeof(sector);i++) sector[i] = 0; |
|||
|
|||
banner("DUMP.COM"); |
|||
|
|||
/* cvt2h(0x0100,12*1024,"dumpcomh.h"); */ |
|||
|
|||
|
|||
if(1 == argc) { |
|||
printf("Sorry, no input file specified"); |
|||
exit(1); |
|||
} |
|||
|
|||
fd = fopen(argv[1],"r"); |
|||
if(NULL == fd) { |
|||
printf("Sorry, cannot open input file"); |
|||
exit(1); |
|||
} |
|||
|
|||
printf("Converting %s\n\n",argv[1]); |
|||
|
|||
result = fread(sector,32767,1,fd); |
|||
|
|||
for(i=32767;i>0;i--) { |
|||
if(sector[i] != 0) break; |
|||
} |
|||
|
|||
sprintf(name,"sect%04x.h",0); |
|||
cvt2h(sector,i,name); |
|||
fclose(fd); |
|||
|
|||
exit(0); |
|||
} |
|||
|
|||
@ -1,49 +0,0 @@ |
|||
@rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files |
|||
|
|||
@@if not exist access.cpm call access.bat |
|||
@@if not exist access.cpm echo WARNING ACCESS DIDN'T BUILD |
|||
@@if not exist access.cpm pause |
|||
|
|||
@@if not exist cpmname.cpm call cpmname.bat |
|||
@@if not exist cpmname.cpm echo WARNING CPMNAME DIDN'T BUILD |
|||
@@if not exist cpmname.cpm pause |
|||
|
|||
@if not exist findfile.cpm call findfile.bat |
|||
@if not exist findfile.cpm echo WARNING FINDFILE DIDN'T BUILD |
|||
@if not exist findfile.cpm pause |
|||
|
|||
@if not exist map.cpm call map.bat |
|||
@if not exist map.cpm echo WARNING MAP DIDN'T BUILD |
|||
@if not exist map.cpm pause |
|||
|
|||
@if not exist meta.cpm call meta.bat |
|||
@if not exist meta.cpm echo WARNING META DIDN'T BUILD |
|||
@if not exist meta.cpm pause |
|||
|
|||
@if not exist multifmt.cpm call multifmt.bat |
|||
@if not exist multifmt.cpm echo WARNING MULTIFMT DIDN'T BUILD |
|||
@if not exist multifmt.cpm pause |
|||
|
|||
@if not exist rem.cpm call makerem.bat |
|||
@if not exist rem.cpm echo WARNING REM DIDN'T BUILD |
|||
@if not exist rem.cpm pause |
|||
|
|||
@if not exist setlabel.cpm call setlabel.bat |
|||
@if not exist setlabel.cpm echo WARNING SETLABEL DIDN'T BUILD |
|||
@if not exist setlabel.cpm pause |
|||
|
|||
@if not exist sysgen.cpm call sysgen.bat |
|||
@if not exist sysgen.cpm echo WARNING SYSGEN DIDN'T BUILD |
|||
@if not exist sysgen.cpm pause |
|||
|
|||
@if not exist termtype.cpm call termtype.bat |
|||
@if not exist termtype.cpm echo WARNING TERMTYPE DIDN'T BUILD |
|||
@if not exist termtype.cpm pause |
|||
|
|||
@if not exist view.cpm call view.bat |
|||
@if not exist view.cpm echo WARNING VIEW DIDN'T BUILD |
|||
@if not exist view.cpm pause |
|||
|
|||
@echo All Core Apps Built |
|||
@dir *.cpm /w |
|||
|
|||
@ -1,49 +0,0 @@ |
|||
@rem coreapps.bat 2/15/2013 dwg - build all core apps using batch files |
|||
|
|||
@@if not exist access.cpm call access.bat |
|||
@@if not exist access.cpm echo WARNING ACCESS DIDN'T BUILD |
|||
@@if not exist access.cpm pause |
|||
|
|||
@@if not exist cpmname.cpm call cpmname.bat |
|||
@@if not exist cpmname.cpm echo WARNING CPMNAME DIDN'T BUILD |
|||
@@if not exist cpmname.cpm pause |
|||
|
|||
@if not exist findfile.cpm call findfile.bat |
|||
@if not exist findfile.cpm echo WARNING FINDFILE DIDN'T BUILD |
|||
@if not exist findfile.cpm pause |
|||
|
|||
@if not exist map.cpm call map.bat |
|||
@if not exist map.cpm echo WARNING MAP DIDN'T BUILD |
|||
@if not exist map.cpm pause |
|||
|
|||
@if not exist meta.cpm call meta.bat |
|||
@if not exist meta.cpm echo WARNING META DIDN'T BUILD |
|||
@if not exist meta.cpm pause |
|||
|
|||
@if not exist multifmt.cpm call multifmt.bat |
|||
@if not exist multifmt.cpm echo WARNING MULTIFMT DIDN'T BUILD |
|||
@if not exist multifmt.cpm pause |
|||
|
|||
@if not exist rem.cpm call makerem.bat |
|||
@if not exist rem.cpm echo WARNING REM DIDN'T BUILD |
|||
@if not exist rem.cpm pause |
|||
|
|||
@if not exist setlabel.cpm call setlabel.bat |
|||
@if not exist setlabel.cpm echo WARNING SETLABEL DIDN'T BUILD |
|||
@if not exist setlabel.cpm pause |
|||
|
|||
@if not exist sysgen.cpm call sysgen.bat |
|||
@if not exist sysgen.cpm echo WARNING SYSGEN DIDN'T BUILD |
|||
@if not exist sysgen.cpm pause |
|||
|
|||
@if not exist termtype.cpm call termtype.bat |
|||
@if not exist termtype.cpm echo WARNING TERMTYPE DIDN'T BUILD |
|||
@if not exist termtype.cpm pause |
|||
|
|||
@if not exist view.cpm call view.bat |
|||
@if not exist view.cpm echo WARNING VIEW DIDN'T BUILD |
|||
@if not exist view.cpm pause |
|||
|
|||
@echo All Core Apps Built |
|||
@dir *.cpm |
|||
|
|||
@ -1,71 +0,0 @@ |
|||
e:rmac access |
|||
e:rmac banner |
|||
e:rmac findfile |
|||
e:rmac hbios |
|||
e:rmac identity |
|||
e:rmac labelib |
|||
e:rmac memory |
|||
e:rmac metadata |
|||
e:rmac printers |
|||
e:rmac rem |
|||
e:rmac setlabel |
|||
e:rmac terminal |
|||
as asmiface |
|||
as bdoscall |
|||
as bioscall |
|||
cc cbanner |
|||
as cbanner |
|||
cc clogical |
|||
as clogical |
|||
cc cmemory |
|||
as cmemory |
|||
cc cnamept1 |
|||
as cnamept1 |
|||
cc cnamept2 |
|||
as cnamept2 |
|||
cc cnamept3 |
|||
as cnamept3 |
|||
cc cnamept4 |
|||
as cnamept4 |
|||
cc cpmname |
|||
as cpmname |
|||
cc ctermcap |
|||
as ctermcap |
|||
as diagnose |
|||
cc map |
|||
as map |
|||
cc meta |
|||
as meta |
|||
cc multifmt |
|||
as multifmt |
|||
cc sectorio |
|||
as sectorio |
|||
cc sysgen |
|||
as sysgen |
|||
cc termtype |
|||
as termtype |
|||
cc view |
|||
as view |
|||
e:link access,memory,banner,printers |
|||
ln cpmname.o ctermcap.o cnamept1.o cnamept2.o cnamept3.o cnamept4.o cmemory.o diagnose.o bioscall.o bdoscall.o c.lib |
|||
e:link findfile,hbios,identity,banner,memory,printers,terminal |
|||
ln map.o asmiface.o bioscall.o bdoscall.o clogical.o diagnose.o ctermcap.o c.lib |
|||
ln meta.o asmiface.o bioscall.o bdoscall.o cbanner.o clogical.o diagnose.o ctermcap.o sectorio.o c.lib |
|||
ln multifmt.o asmiface.o bioscall.o bdoscall.o clogical.o cmemory.o sectorio.o diagnose.o ctermcap.o c.lib |
|||
e:link rem |
|||
e:link setlabel,labelib,identity,printers,banner,metadata,memory |
|||
ln sysgen.o sectorio.o ctermcap.o diagnose.o bdoscall.o bioscall.o c.lib |
|||
ln termtype.o asmiface.o ctermcap.o diagnose.o c.lib |
|||
ln view.o ctermcap.o diagnose.o bdoscall.o bioscall.o c.lib |
|||
e:access access.com |
|||
e:access cpmname.com |
|||
e:access findfile.com |
|||
e:access map.com |
|||
e:access meta.com |
|||
e:access multifmt.com |
|||
e:access rem.com |
|||
e:access setlabel.com |
|||
e:access sysgen.com |
|||
e:access termtype.com |
|||
e:access view.com |
|||
|
|||
@ -1,195 +0,0 @@ |
|||
/* cpmbios.h 3/11/2012 dwg - added CURDRV */ |
|||
|
|||
/*************************/ |
|||
/* BIOS Memory Locations */ |
|||
/*************************/ |
|||
|
|||
#define CURDRV 0x00004 |
|||
#define BIOSAD 0x0e600 |
|||
|
|||
#define pBOOT 0x0E600 |
|||
#define pWBOOT 0x0E603 |
|||
#define pCONST 0x0E606 |
|||
#define pCONIN 0x0E609 |
|||
#define pCONOUT 0x0E60C |
|||
#define pLIST 0x0E60F |
|||
#define pPUNCH 0x0E612 |
|||
#define pREADER 0x0E615 |
|||
#define pHOME 0x0E618 |
|||
#define pSELDSK 0x0E61B |
|||
#define pSETTRK 0x0E61E |
|||
#define pSETSEC 0x0E621 |
|||
#define pSETDMA 0x0E624 |
|||
#define pREAD 0x0E627 |
|||
#define pWRITE 0x0E62A |
|||
#define pLISTST 0x0E62D |
|||
#define pSECTRN 0x0E630 |
|||
#define pBNKSEL 0x0E633 |
|||
#define pGETLU 0x0E636 |
|||
#define pSETLU 0x0E639 |
|||
#define pGETINFO 0x0E63C |
|||
|
|||
struct JMP { |
|||
unsigned char opcode; |
|||
unsigned int address; |
|||
}; |
|||
|
|||
struct BIOS { |
|||
struct JMP boot; |
|||
struct JMP wboot; |
|||
struct JMP const; |
|||
struct JMP conin; |
|||
struct JMP conout; |
|||
struct JMP list; |
|||
struct JMP punch; |
|||
struct JMP reader; |
|||
struct JMP home; |
|||
struct JMP seldsk; |
|||
struct JMP settrk; |
|||
struct JMP setsec; |
|||
struct JMP setdma; |
|||
struct JMP read; |
|||
struct JMP write; |
|||
struct JMP listst; |
|||
struct JMP sectrn; |
|||
struct JMP bnksel; |
|||
struct JMP getlu; |
|||
struct JMP setlu; |
|||
struct JMP getinfo; |
|||
struct JMP rsvd1; |
|||
struct JMP rsvd2; |
|||
struct JMP rsvd3; |
|||
struct JMP rsvd4; |
|||
|
|||
char diskboot; |
|||
char bootdrive; |
|||
|
|||
char rmj; |
|||
char rmn; |
|||
char rup; |
|||
char rtp; |
|||
}; |
|||
|
|||
|
|||
struct DPH { |
|||
unsigned int xlt; |
|||
unsigned int rv1; |
|||
unsigned int rv2; |
|||
unsigned int rv3; |
|||
unsigned int dbf; |
|||
unsigned int dpb; |
|||
unsigned int csv; |
|||
unsigned int alv; |
|||
unsigned char sigl; |
|||
unsigned char sigu; |
|||
unsigned int current; |
|||
unsigned int number; |
|||
}; |
|||
|
|||
struct DPB { |
|||
unsigned int spt; |
|||
unsigned char bsh; |
|||
unsigned char blm; |
|||
unsigned char exm; |
|||
unsigned int dsm; |
|||
unsigned int drm; |
|||
unsigned char al0; |
|||
unsigned char al1; |
|||
unsigned int cks; |
|||
unsigned int off; |
|||
}; |
|||
|
|||
/* bioscall.h 3/10/2012 dwg - header file for bdoscall */ |
|||
|
|||
extern char irega; |
|||
extern unsigned int iregbc; |
|||
extern unsigned int iregde; |
|||
extern unsigned int ireghl; |
|||
extern bioscall(); |
|||
|
|||
|
|||
/* bdoscall.h 3/10/2012 dwg - header file for bdoscall */ |
|||
|
|||
extern char drega; |
|||
extern unsigned int dregbc; |
|||
extern unsigned int dregde; |
|||
extern unsigned int dreghl; |
|||
extern bdoscall(); |
|||
|
|||
/* diagnose.h 5/23/2012 dwg - */ |
|||
|
|||
extern char hrega; |
|||
extern unsigned int hregbc; |
|||
extern unsigned int hregde; |
|||
extern unsigned int hreghl; |
|||
|
|||
extern diagnose(); |
|||
|
|||
/* ctermcap.h 3/11/2012 dwg - declarations for termal capability */ |
|||
|
|||
extern crtinit(); |
|||
extern crtclr(); |
|||
extern crtlc(); |
|||
|
|||
/* cpmbdos.h */ |
|||
#define TERMCPM 0 |
|||
#define CONIN 1 |
|||
#define CWRITE 2 |
|||
#define DIRCONIO 6 |
|||
#define PRINTSTR 9 |
|||
#define RDCONBUF 10 |
|||
#define GETCONST 11 |
|||
#define RETVERNUM 12 |
|||
#define RESDISKSYS 13 |
|||
#define SELECTDISK 14 |
|||
#define FOPEN 15 |
|||
#define FCLOSE 16 |
|||
#define SEARCHFIRST 17 |
|||
#define SEARCHNEXT 18 |
|||
#define FDELETE 19 |
|||
#define FREADSEQ 20 |
|||
#define FWRITESEQ 21 |
|||
#define FMAKEFILE 22 |
|||
#define FRENAME 23 |
|||
#define RETLOGINVEC 24 |
|||
#define RETCURRDISK 25 |
|||
#define SETDMAADDR 26 |
|||
#define GETALLOCVEC 27 |
|||
#define WRPROTDISK 28 |
|||
#define GETROVECTOR 29 |
|||
#define FSETATTRIB 30 |
|||
#define GETDPBADDR 31 |
|||
#define SETGETUSER 32 |
|||
#define FREADRANDOM 33 |
|||
#define FWRITERAND 34 |
|||
#define FCOMPSIZE 35 |
|||
#define SETRANDREC 36 |
|||
#define RESETDRIVE 37 |
|||
#define WRRANDFILL 38 |
|||
|
|||
#define DRIVEA 0 |
|||
|
|||
/* dphmap.h 5/29/2012 dwg - declaration of DPH MAP structure */ |
|||
|
|||
struct DPHMAP { |
|||
struct DPH * drivea; |
|||
struct DPH * driveb; |
|||
struct DPH * drivec; |
|||
struct DPH * drived; |
|||
struct DPH * drivee; |
|||
struct DPH * drivef; |
|||
struct DPH * driveg; |
|||
struct DPH * driveh; |
|||
} * pDPHMAP; |
|||
|
|||
struct DPHMAP * pDPHVEC[MAXDRIVE]; |
|||
|
|||
|
|||
/******************/ |
|||
/* eof - dphmap.h */ |
|||
/******************/ |
|||
|
|||
/*****************/ |
|||
/* eof - cpm80.h */ |
|||
/*****************/ |
|||
|
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,8 +0,0 @@ |
|||
#ifndef NDEBUG |
|||
#ifndef stderr |
|||
#include <stdio.h> |
|||
#endif |
|||
#define assert(x) if (!(x)) {fprintf(stderr,"Assertion failed: x, file %s, line %d\n",__FILE__,__LINE__); exit(1);} |
|||
#else |
|||
#define assert(x) |
|||
#endif |
|||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,20 +0,0 @@ |
|||
/* Copyright (C) 1984 by Manx Software Systems */ |
|||
|
|||
extern char ctp_[]; |
|||
|
|||
#define isalpha(x) (ctp_[(x)+1]&0x03) |
|||
#define isupper(x) (ctp_[(x)+1]&0x01) |
|||
#define islower(x) (ctp_[(x)+1]&0x02) |
|||
#define isdigit(x) (ctp_[(x)+1]&0x04) |
|||
#define isxdigit(x) (ctp_[(x)+1]&0x08) |
|||
#define isalnum(x) (ctp_[(x)+1]&0x07) |
|||
#define isspace(x) (ctp_[(x)+1]&0x10) |
|||
#define ispunct(x) (ctp_[(x)+1]&0x40) |
|||
#define iscntrl(x) (ctp_[(x)+1]&0x20) |
|||
#define isprint(x) (ctp_[(x)+1]&0xc7) |
|||
#define isgraph(x) (ctp_[(x)+1]&0x47) |
|||
#define isascii(x) (((x)&0x80)==0) |
|||
|
|||
#define toascii(x) ((x)&127) |
|||
#define _tolower(x) ((x)|0x20) |
|||
#define _toupper(x) ((x)&0x5f) |
|||
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue