]> cloudbase.mooo.com Git - kermit-80.git/blobdiff - cpxtyp.asm
Bugfix in outmdm (output buffer flush)
[kermit-80.git] / cpxtyp.asm
index 83528a967400bbf8b486f89f8e62df4f3d8eecad..bc753237383f5ceda486a071de935b890e74f2d2 100644 (file)
 ;      edit of 10 Apr 87 by C W Rose\r
 ;      Amended code for pci2651 to handle Telecom Merlin M2215.\r
 ;      (8085 at 5 MHz, 2651 USART, port TTY1:, Ampro 230 terminal equivalent).\r
-;      \r
+;\r
 ;      edit of 13 Jul 1987 by C W Rose\r
 ;       Added Micromint SB180 with 6/9 MHz. option.\r
 ;\r
-; edit 22, 15th July, 1987 by OBSchou for David Moore.  \r
+; edit 22, 15th July, 1987 by OBSchou for David Moore.\r
 ;      David submitted a paper copy of Kermit 4.05 overlay for a Teletek\r
 ;      system:  I have (hopefully) correctly appended his code.  He also\r
 ;      send in the code for ADM 22 terminals.\r
 ;\r
-; edit 21, 14 July, 1986 by OBSchou for John Shearwood of Birmingham \r
+; edit 21, 14 July, 1986 by OBSchou for John Shearwood of Birmingham\r
 ;      University.  His edits:\r
 ;      edit of Apr 7th, 1987 by JA Shearwood.  Added entry for Cifer Aux port\r
 ;      edit of Mar 24 1987 by JA Shearwood, Birmingham.  Added code for Cifer\r
@@ -98,7 +98,7 @@
 ;      [Note: Martins CPXFRK is another version of CPXSWT.ASM]\r
 ;\r
 ;\r
-; edit 20, 21 May 1987 by OBSchou for Colin Burns of the Institute \r
+; edit 20, 21 May 1987 by OBSchou for Colin Burns of the Institute\r
 ;      of Neurological Sciences, Glasgow.  Added flag for Hazeltine 1500\r
 ;      VDU (h1500)\r
 ;\r
 ;      Manchester University.  NCR code is similar to the PCI2651 code, so\r
 ;      NCRDMV chains to CPXTOR.ASM.  CPC cahins to the modified CPXPCW file\r
 ;      as submitted by Chris.  *** NOTE *** All Amstrad versions require\r
-;      CP/M 3, so the 664 version must both have the system upgraded to \r
+;      CP/M 3, so the 664 version must both have the system upgraded to\r
 ;      CP/M 3 and have an aditional RAM pack.  All Amstrad systems require\r
 ;      a serial interface.\r
 ;\r
 ;      * * * Here Begineth kermit-80 Version 4.09 * * *\r
 ;\r
 ;      Biggest change is the overlay address has been moved (again) to 6000h\r
-;      and the files have all been diced into families.  M80 (almost) back \r
+;      and the files have all been diced into families.  M80 (almost) back\r
 ;      in, though I have found some bugs.  Will worry about those later.\r
-;      CPXSYS.ASM (CP4SYS.ASM in V4.05) now is a family file as well.  \r
+;      CPXSYS.ASM (CP4SYS.ASM in V4.05) now is a family file as well.\r
 ;\r
 ;      Comments and all that would be much appreciated.\r
 ;\r
 ;      Bertil Schou,\r
 ;      The Computer Centre,\r
-;      Loughborough University of Technology, \r
+;      Loughborough University of Technology,\r
 ;      Loughborough\r
 ;      Leicestershire,  LE11 3TU\r
 ;      Great Britain\r
 ;       file being assembled.  I hope.\r
 ;\r
 ; edit 16 Dec 1st, 1986 by OBSchou.  Added entry for Amstrad PCW range (PCW)\r
-;      Code in Family file CPXPCW.ASM, submitted by Ian Young of Lattice \r
+;      Code in Family file CPXPCW.ASM, submitted by Ian Young of Lattice\r
 ;      Logic Systems.\r
 ;\r
 ; Edit 15 June 20 1986.  Had to chand org address to 5000h to give room for\r
 ;       multi-fcb space for DIR command and other additions in the system\r
 ;       indepentent part.  This starts Kermit-80 version 4.08...\r
 ;\r
-; Edit 14: March 20, 1986 by OBSchou Loughborough University for \r
+; Edit 14: March 20, 1986 by OBSchou Loughborough University for\r
 ;       B Robertson, Aberdeen Univ. Computing Centre.\r
 ;       Add support for APPLE II with serial cards based on the 6850 ACIA.\r
 ;       Mod 380Z support to allow both MDS (5 1/4" discs) and FDS (8" discs)\r
 ; edit 12 5 Febuary, 1986 by OBSchou\r
 ;       merged in conditionals for Epson PX8 (px8). Code from Tony Addyman\r
 ;       Salford University, England.\r
-;       Added code from other contibutors for Basic Northstar (basicns), \r
+;       Added code from other contibutors for Basic Northstar (basicns),\r
 ;       Access-Matrix (access), US Micro Sales s1008 (s1008),\r
-;       Micro Mate (mmate), A.C.E. Discovery (disc).  \r
+;       Micro Mate (mmate), A.C.E. Discovery (disc).\r
 ;       These I cannot test: please send comments back if these are buggy.\r
 ;\r
 ; edit 11 29 January 1985 by OBSchou @ multics.lut.ac.uk\r
@@ -248,8 +248,8 @@ TRUE        EQU     NOT FALSE
 ; Assembler type.  Define the appropriate one TRUE, the rest FALSE.  (We can't\r
 ; use ASM, because it cannot handle multiple input files)\r
 mac80  EQU     FALSE           ; For assembly via MAC80 cross-assembler.\r
-m80    EQU     FALSE           ; For assembly via Microsoft's M80.\r
-lasm   EQU     TRUE            ; For assembly via LASM, a public-domain\r
+m80    EQU     TRUE            ; For assembly via Microsoft's M80.\r
+lasm   EQU     FALSE           ; For assembly via LASM, a public-domain\r
                                ; assembler.\r
 ;\r
 ;       Address at which the overlay should be loaded.  This will not\r
@@ -269,7 +269,7 @@ termin      SET     FALSE           ; we are not using a terminal
 ; Also set the CPU speed to a default 2.0 Mhz\r
 cpuspd SET     20              ; default to 2 Mhz, in case we dont know\r
 ; Assume kit is Z80 based, and set z80 false for non z80 systems.\r
-;z80   SET     TRUE\r
+z80    SET     TRUE\r
 \r
 ;Which CP/M system hardware are we building KERMIT-80 for?\r
 ;One of the following should be TRUE, the rest FALSE:\r
@@ -362,7 +362,9 @@ hp125       EQU     FALSE           ;[MF]HP-125 Business Assistant, 8-bit data
                                ; thru Data Comm 2 (requires 8th-bit quoting\r
                                ; for binary transfers on Data Comm 2)\r
                                ; set VT52 TRUE\r
-mbee   EQU     FALSE           ; Microbee Systems - Microbee \r
+mbee   EQU     FALSE           ; Microbee Systems - Microbee\r
+avrcpm EQU     TRUE            ;AVR-CP/M (terminal required)\r
+\r
 \r
 ;.. and for Micros, like the MDI, which have "terminals of choice", you must\r
 ;select one of these in addition to selecting the micro itself.\r
@@ -378,7 +380,7 @@ tvi912      EQU     FALSE           ;[10] TVI912/920
 tvi925 EQU     FALSE           ;TVI925 Display\r
                                ; (works for Freedom 100 also)  [Toad Hall]\r
 vt52   EQU     FALSE           ;VT52 or equivalent (or H19)\r
-vt100  EQU     FALSE           ;VT100 or equivalent\r
+vt100  EQU     TRUE            ;VT100 or equivalent\r
 wyse   EQU     FALSE           ;Wyse 100 terminal\r
 ;\r
 ; Several systems are basically the same, with very slight variations,\r
@@ -462,6 +464,10 @@ tacval     EQU     '@'             ;Typical TAC intercept character
 ;      trs80 (both), telcon, mmdI, mdI, delphi, ncrdmv,\r
 ;      cromemco, teletek, osi, lobo\r
 \r
+IF avrcpm                      ; For the kermit delay loop, a 20Mhz AVR-CP/M\r
+cpuspd SET     22              ; behaves like a 2.2MHz Z80.\r
+ENDIF; avrcpm\r
+\r
 IF z80mu\r
 cpuspd SET     2               ; a PC is about 200khz Z80 equivalent\r
 ENDIF; z80mu\r
@@ -506,7 +512,7 @@ ENDIF;sb9
 \r
 IF hp125 OR telcon\r
 cpuspd SET     40              ;[MF]HP125 or TELCON\r
-ENDIF;hp125 OR telcon \r
+ENDIF;hp125 OR telcon\r
 \r
 IF mbee\r
 cpuspd SET     33              ; Microbee has 3.375MHz Z80\r
@@ -517,7 +523,7 @@ IF  FALSE                   ; assume all systems are not z80 based
 ;z80   SET     FALSE\r
 ENDIF  ;FALSE\r
 \r
-; Now, lets see what family we are assembling for.  Reset all \r
+; Now, lets see what family we are assembling for.  Reset all\r
 ;      family file to FALSE\r
 \r
 torfam  SET     FALSE          ; not Torch family file\r
@@ -535,6 +541,7 @@ genfam      SET     FALSE           ; not a genie
 trsfam SET     FALSE           ; not a trs-80 Model 4\r
 z80fam SET     FALSE           ; not z80mu system\r
 beefam SET     FALSE           ; not a Microbee system\r
+acfam  SET     FALSE           ; not avrcpm system\r
 sysfam SET     TRUE            ; ... but assume the worst, and its in\r
                                ; the CPXSYS.ASM file\r
 \r
@@ -615,6 +622,11 @@ beefam     SET     TRUE            ; doing a Microbee system
 .printx * beefam set TRUE *\r
 ENDIF  ; mbee\r
 \r
+IF avrcpm\r
+acfam  SET     TRUE            ; doing a AVR-CP/M System\r
+.printx * acfam set TRUE *\r
+ENDIF  ; avrcpm\r
+\r
 ; Now, if none of the above, then its the older CPXSYS.ASM file we want\r
 \r
 IF (torfam OR ciffam OR appfam OR norfam OR sanfam OR comfam) AND sysfam\r
@@ -627,10 +639,10 @@ sysfam    SET     FALSE           ; Were not doing the CPXSYS.ASM file
 .printx * sysfam set FALSE *\r
 ENDIF  ; (pcwfam OR bbifam OR heafam OR sbfam OR merfam) AND sysfam\r
 \r
-IF (genfam OR trsfam OR z80fam OR beefam) AND sysfam\r
+IF (genfam OR trsfam OR z80fam OR beefam OR acfam) AND sysfam\r
 sysfam SET     FALSE           ; Were not doing the CPXSYS.ASM file\r
 .printx * sysfam set FALSE *\r
-ENDIF  ; (genfam OR trsfam OR z80fam OR mbeefam) AND sysfam\r
+ENDIF  ; (genfam OR trsfam OR z80fam OR mbeefam OR acfam) AND sysfam\r
 \r
 IF sysfam\r
 .printx * sysfam set TRUE *\r
@@ -716,6 +728,10 @@ IF beefam
        INCLUDE CPXBEE.ASM\r
 ENDIF  ;beefam\r
 \r
+IF     acfam\r
+       INCLUDE CPXAC.ASM\r
+ENDIF  ;acfam\r
+\r
 IF termin                      ; any terminal selected?\r
         INCLUDE CPXVDU.ASM      ;[15] Just in case we need a VDU...\r
 ENDIF  ;termin\r