LS-DOS 6.3.1 - LBMEMORY Assembly Listing (HTML format version)

[Copyright 1999,2002,2014 Frank Durda IV, All Rights Reserved.
Mirroring of any material on this page in any form is expressly prohibited.
The official web site for this material is:  http://nemesis.lonestar.org
Contact this address for use clearances: clearance_2014 at nemesis.lonestar.org
Comments and queries to this address: web_software_2014 at nemesis.lonestar.org]
MISOSYS EDAS-4.3 04/11/99 01:42:48 MEMORY - LS-DOS 6.2          Page 00001 

              00001 ;LBMEMORY/ASM - MEMORY Command
0011          00003 @PARAM: EQU     17
              00004 ;
0000          00005 *GET    BUILDVER/ASM:3
              00006 ;
              00007 ;       Buildver/asm is a bit of a kludge since not all utilities can load
              00008 ;       equates from LDOS60 and still compile.  LOWCORE and everybody else
              00009 ;       relies on this setting, and it eventually ends up in LDOS60/EQU
              00010 ;       for programs that can use that.
              00011 ;
FFFF          00012 @BLD631         EQU     -1      ;<631>Build 631 distribution (LEVEL 1B)
              00013 ;       These switches activate patches made since the 1B release.
              00014 ;       It is important that all earlier patches be enabled when a higher
              00015 ;       patch is enabled.
              00016 ;       Patches C thru F were published in TMQ IV.iv, page 32 (NOTE: the
              00017 ;       patch addresses listed for SPOOL in SPOOL1/FIX are 19H high.)
FFFF          00018 @BLD631C        EQU     -1      ;<631>Apply 1C patches (SETKI)
FFFF          00019 @BLD631D        EQU     -1      ;<631>Apply 1D patches (DIR)
FFFF          00020 @BLD631E        EQU     -1      ;<631>Apply 1E patches (DIR & MEMDISK/DCT)
FFFF          00021 @BLD631F        EQU     -1      ;<631>Apply 1F patches (SPOOL)
              00022 ;       Patches G and H were published in TMQ V.i, pages 10 and 18/19.
FFFF          00023 @BLD631G        EQU     -1      ;<631>Apply 1G patches (//KEYIN,DIR,DO *)
FFFF          00024 @BLD631H        EQU     -1      ;<631>Apply 1H patches (MEMORY)
              00025 ;
              00026 ;End of BUILDVER/ASM
0000          00027 *GET    SVCMAC:3                ;SVC Macro equivalents
              00028 ;SVCMAC/ASM - LS-DOS Version VI
              00029 *LIST   OFF
              00421 *LIST   ON
0000          00423 *GET    VALUES:3                ;Misc. equates
              00424 ;VALUES/ASM - Version 6
              00425 *LIST OFF
              00452 *LIST ON
              00453 ;
002C          00454 PAR_ERR EQU     44              ;Parameter Error
2600          00455 LOWEST  EQU     2600H
              00456 ;
2400          00457         ORG     2400H
              00458 ;
2400          00459 MEMORY  @@CKBRKC                ;Break key down?
2400+3E6A     00460         LD      A,106
2402+EF       00461         RST     40
2403 2804     00462         JR      Z,BEGINA        ;Ok if not
2405 21FFFF   00463         LD      HL,-1           ;  else abort
2408 C9       00464         RET
              00465 ;
2409 ED730928 00466 BEGINA  LD      (EXIT+1),SP     ;Save SP Address
              00467 ;
              00468 ;       Process any Parameters entered
              00469 ;
240D 11AA28   00470         LD      DE,PRMTBL$      ;DE => Parameter Table
2410 D5       00471         PUSH    DE              ;Save Parm table start
2412          00472 L2412:  EQU     $+1
2411 3E11     00473         LD      A,@PARAM
2413 EF       00474         RST     28H             ;Process parameters
2414 E1       00475         POP     HL              ;HL => Parm table start
2415 C2EE27   00476 PERR    JP      NZ,PRMERR       ;NZ - Parameter Error
              00477 ;
              00478 ;       Legal input - were the entries acceptable ?
              00479 ;
2418 CDB827   00480 GDPARMS CALL    CKPARM          ;Valid entries ?
241B 20F8     00481         JR      NZ,PERR         ;No - Parameter error
              00482 ;
241D          00483         @@FLAGS                 ;IY => System Flags
241D+3E65     00484         LD      A,101
241F+EF       00485         RST     40
              00486 ;
              00487 ;       Was the CLEAR (C) parameter entered ?
              00488 ;
2421          00489 SM001:  EQU     $+1
2420 0100FF   00490 CPARM   LD      BC,0FF00H       ;C = Clear byte
2424          00491 SM002:  EQU     $+1
2423 3ADD28   00492         LD      A,(CRESP)       ;P/u response
2426 B7       00493         OR      A               ;Any response ?
2427 283C     00494         JR      Z,NEXTPRM       ;No - get next parm
242C          00495 L242C:  EQU     $+3
2429 FDCB0246 00496         BIT     0,(IY+CFLAG$)   ;If memory frozen,
242D C2FB27   00497         JP      NZ,NOMEM        ;  can't do it
              00498 ;
              00499 ;       CLEAR (C) parm entered - is this a flag ?
              00500 ;
2430 CB77     00501         BIT     6,A             ;Is this a flag ?
2433          00502 L2433:  EQU     $+1
2432 2805     00503         JR      Z,ISNUMER       ;No - check if numeric
              00504 ;
              00505 ;       Response is a FLAG - Is it NO, OFF, or N ?
              00506 ;
2434 04       00507 L2434:  INC     B               ;Yes or No ?
2435 202E     00508         JR      NZ,NEXTPRM      ;No - get next parm
2437 180F     00509         JR      FILLMEM         ;Yes - Fill mem with 0's
              00510 ;
              00511 ;       Response is not a FLAG, check if numeric
              00512 ;
2439 215E24   00513 ISNUMER LD      HL,FILLBYT+1    ;HL => Byte to Fill
243C CB7F     00514         BIT     7,A             ;Numeric response ?
243E 71       00515         LD      (HL),C          ;Stuff byte in LD (HL),nn
243F 2007     00516         JR      NZ,FILLMEM      ;Fill mem with char
              00517 ;
              00518 ;       Response must be a string - Is length = 1 ?
              00519 ;
2441 E60F     00520         AND     00001111B       ;P/u length
2443 3D       00521         DEC     A               ;Better be one
2444 20CF     00522         JR      NZ,PERR         ;Not - parameter error
              00523 ;
              00524 ;       Pick up character at address & stuff away
              00525 ;
2446 0A       00526         LD      A,(BC)          ;P/u character to fill
2447 77       00527         LD      (HL),A          ;Stuff in LD (HL),nn
              00528 ;
              00529 ;       Set HL => HIGH$ (if DOS) or LOW$ (@CMNDR)
              00530 ;
2448 CDDE27   00531 FILLMEM CALL    GETHILO         ;HIGH$ (HL), LOW$ (DE)
244B FDCB024E 00532         BIT     1,(IY+CFLAG$)   ;Executing @CMNDR ?
244F 2801     00533         JR      Z,USEHIGH       ;No - use HIGH$
2451 EB       00534         EX      DE,HL           ;@CMNDR - use LOW$
              00535         IF      @BLD631
2452 116524   00536 USEHIGH LD      DE,NEXTPRM      ;<631>Start clearing here
              00537         ELSE
              00538 USEHIGH LD      DE,MEMORY+200H  ;Start clearing here
              00539         ENDIF
              00540 ;
              00541 ;       Calculate amount of memory to fill
              00542 ;
2455 AF       00543         XOR     A               ;Clear carry
2456 ED52     00544         SBC     HL,DE           ;Get # to fill
2458 44       00545         LD      B,H             ;Xfer to BC
2459 4D       00546         LD      C,L
              00547 ;
              00548 ;       Fill user area - HIGH$/LOW$ with spec'd byte
              00549 ;
245A 62       00550         LD      H,D             ;HL => LOW$
245B 6B       00551         LD      L,E
245C 13       00552         INC     DE              ;DE => LOW$ + 1
245D 3600     00553 FILLBYT LD      (HL),$-$        ;Stuff in fill byte
245F EDB0     00554         LDIR                    ;Fill memory
2461 210000   00555 GOODEX  LD      HL,0            ;Good Exit
2464 C9       00556         RET
              00557 ;
              00558 ;       Was the ADDR (A) parameter specified ?
              00559 ;
2465 3ABE28   00560 NEXTPRM LD      A,(ARESP)       ;P/u Address response
2468 B7       00561         OR      A               ;Specified ?
2469 CA0C25   00562         JP      Z,HICHECK       ;No - get next parm
              00563 ;
              00564 ;        Check for NUMERIC entry
              00565 ;
246C CB7F     00566         BIT     7,A             ;Check NUM bit
246E 201C     00567         JR      NZ,APARM        ;  go if set
              00568 ;
              00569 ;       Response must be a string - Is length = 1 ?
              00570 ;
2470 E60F     00571         AND     00001111B       ;P/u length
2472 3D       00572         DEC     A               ;Better be one
2473 20A0     00573         JR      NZ,PERR         ;Not - parameter error
              00574 ;
              00575 ;       P/u character representation of 'FLAG'
              00576 ;
2475 2A8D24   00577         LD      HL,(APARM+1)    ;P/u pointer to char
2478 7E       00578         LD      A,(HL)          ;P/u char
2479 CBAF     00579         RES     5,A             ;  and make UC
247B D641     00580         SUB     41H             ;Normalize for flag#
247D FE1A     00581         CP      26              ;Check on range
247F D2FF27   00582         JP      NC,RANGER       ;Error if too high
2482 FDE5     00583         PUSH    IY
2484 E1       00584         POP     HL              ;P/u base of flags
2485 1600     00585         LD      D,0
2487 5F       00586         LD      E,A             ;Put offset in DE
2488 19       00587         ADD     HL,DE           ;Add them together
2489 228D24   00588         LD      (APARM+1),HL    ;Set value in response word
              00589 ;
              00590 ;       P/u addr, cvrt to Hex ASCII & put in string
              00591 ;
248C 110000   00592 APARM   LD      DE,$-$          ;P/u the address
248F 210A29   00593         LD      HL,HEXADD       ;HL => Destination
2492          00594         @@HEX16                 ;Cvrt DE to ASCII @ HL
2492+3E63     00595         LD      A,99
2494+EF       00596         RST     40
              00597 ;
              00598 ;       Convert DE to Decimal ASCII & put in string
              00599 ;
2495 EB       00600         EX      DE,HL           ;Set HL = Address
2496 E5       00601         PUSH    HL              ;Save addr ptr
2497 111229   00602         LD      DE,DECADD       ;DE => Destination
249A          00603         @@HEXDEC                ;Cvrt HL to ASCII @ DE
249A+3E61     00604         LD      A,97
249C+EF       00605         RST     40
249D E1       00606         POP     HL              ;HL = Address
              00607 ;
              00608 ;       P/u word & byte at that address
              00609 ;
249E E5       00610         PUSH    HL              ;Save address ptr
249F 4E       00611         LD      C,(HL)          ;P/u byte
24A0 51       00612         LD      D,C             ;P/u the word value
24A1 23       00613         INC     HL              ;  & stuff into the
24A2 5E       00614         LD      E,(HL)          ;  message in hex
              00615 ;
              00616 ;       Convert Byte to Hex ASCII & stuff in string
              00617 ;
24A3 213029   00618         LD      HL,OLDBYTE      ;HL => Destination
24A6          00619         @@HEX8                  ;Convert C to ASCII @ HL
24A6+3E62     00620         LD      A,98
24A8+EF       00621         RST     40
              00622 ;
              00623 ;       Convert Word to Hex ASCII & stuff in string
              00624 ;
24A9 211C29   00625         LD      HL,OLDWORD      ;HL => Destination
24AC          00626         @@HEX16                 ;Cvt DE to ASCII @ HL
24AC+3E63     00627         LD      A,99
24AE+EF       00628         RST     40
24AF DDE1     00629         POP     IX              ;Recover Address ptr
              00630 ;
              00631 ;       Was WORD or BYTE parameter entered ?
              00632 ;
24B1 21CE28   00633         LD      HL,BRESP        ;HL => Byte Response
24B4 11C628   00634         LD      DE,WRESP        ;DE => Word Response
24B7 1A       00635         LD      A,(DE)          ;Anything entered ?
24B8 B6       00636         OR      (HL)
24B9 2010     00637         JR      NZ,WHICH        ;Yes - which one
              00638 ;
              00639 ;       Neither Entered - Modify string
              00640 ;
24BB 212129   00641         LD      HL,OLDWORD+5    ;End string
24BE 3629     00642         LD      (HL),')'        ;Don't display new word
24C0 23       00643         INC     HL
24C1 3620     00644         LD      (HL),' '
24C3 23       00645         INC     HL
24C4 3620     00646         LD      (HL),' '
24C6 23       00647         INC     HL
24C7 3603     00648         LD      (HL),ETX
24C9 182C     00649         JR      DSPSTR          ;Display string
              00650 ;
              00651 ;       One or Both was entered - ensure both not
              00652 ;
24CB 1A       00653 WHICH   LD      A,(DE)          ;Word entered ?
24CC B7       00654         OR      A
24CD 2816     00655         JR      Z,BPARM         ;No - get byte
              00656 ;
              00657 ;       Word Entered - Make sure byte wasn't entered
              00658 ;
24CF 7E       00659         LD      A,(HL)          ;Entered ?
24D0 B7       00660         OR      A
24D1 C2EE27   00661         JP      NZ,PRMERR       ;Yes - parameter error
              00662 ;
              00663 ;       Pick up Word Value & Stuff into Memory
              00664 ;
24D4 110000   00665 WPARM   LD      DE,$-$          ;P/u word
24D7 DD7200   00666         LD      (IX),D          ;Stuff lsb
24DA DD7301   00667         LD      (IX+1),E        ;Stuff msb
              00668 ;
              00669 ;       Cvt Word/Byte to Hex ASCII & put in string
              00670 ;
24DD 212729   00671 STUFVAL LD      HL,NEWWORD      ;HL => Destination
24E0          00672         @@HEX16                 ;Cvrt DE to hex in (HL)
24E0+3E63     00673         LD      A,99
24E2+EF       00674         RST     40
24E3 1812     00675         JR      DSPSTR          ;Display String
              00676 ;
              00677 ;       Stuff byte into mem if between 0-255
              00678 ;
24E5 11FF00   00679 BPARM   LD      DE,00FFH        ;P/u byte
24E8 7A       00680         LD      A,D             ;Hi-order must = 0
24E9 B7       00681         OR      A
24EA C2EE27   00682         JP      NZ,PRMERR       ;No - Parm error
24ED DD7300   00683         LD      (IX),E          ;Stuff LSB into string
              00684 ;
              00685 ;       Convert byte to Hex ASCII & stuff in string
              00686 ;
24F0 4B       00687         LD      C,E             ;Set C = new byte
24F1 213929   00688         LD      HL,NEWBYTE      ;HL => New byte
24F4          00689         @@HEX8                  ;Cvt C to ASCII @ HL
24F4+3E62     00690         LD      A,98
24F6+EF       00691         RST     40
              00692 ;
              00693 ;       Display address string
              00694 ;
24F7 210829   00695 DSPSTR  LD      HL,ADDMSG       ;HL => Message
24FA CD9027   00696         CALL    DSPLY           ;Display it
              00697 ;
              00698 ;       Display Word/Byte string
              00699 ;
24FD 211C29   00700         LD      HL,OLDWORD      ;HL => "Word string"
2500 3ACE28   00701         LD      A,(BRESP)       ;Byte response
2503 B7       00702         OR      A               ;Specified
2504 2803     00703         JR      Z,DSPSTR2       ;No - display Word string
2506 213029   00704         LD      HL,OLDBYTE      ;Yes - use Byte string
2509 CD9027   00705 DSPSTR2 CALL    DSPLY           ;Display string
              00706 ;
              00707 ;       HIGH$ & LOW$ check - Was HIGH$ entered ?
              00708 ;
250C CDDE27   00709 HICHECK CALL    GETHILO         ;HIGH$ (HL), LOW$ (DE)
250F 22D627   00710         LD      (OLDHI),HL      ;Put old HIGH$ in header
2512 3AB028   00711         LD      A,(HRESP)       ;HIGH$ = value ?
2515 B7       00712         OR      A
2516 281E     00713         JR      Z,LOCHECK       ;No - check LOW$
2518 FDCB0246 00714         BIT     0,(IY+CFLAG$)   ;If memory frozen,
251C C2FB27   00715         JP      NZ,NOMEM        ;  can't do it
              00716 ;
              00717 ;       HIGH$ entered, p/u value & check range
              00718 ;
251F 010000   00719 HPARM   LD      BC,$-$          ;P/u requested new HIGH$
2522 ED42     00720         SBC     HL,BC           ;New HIGH$ > old HIGH$ ?
2524 DAFF27   00721         JP      C,RANGER        ;Yes - Range error
              00722 ;
              00723 ;       Create Header String & establish true HIGH$
              00724 ;
2527 D5       00725         PUSH    DE              ;Save DE
2528 50       00726         LD      D,B             ;Set DE = HIGH$ + 1
2529 59       00727         LD      E,C
252A 13       00728         INC     DE
252B 21DA27   00729         LD      HL,HD_ADD       ;Convert DE to Hex ASCII
252E          00730         @@HEX16                 ;  at HL (BC is preserved)
252E+3E63     00731         LD      A,99
2530+EF       00732         RST     40
2531 21F6FF   00733         LD      HL,-HLEN        ;Set HL = actual HIGH$
2534 09       00734         ADD     HL,BC           ;  including header size
2535 D1       00735         POP     DE              ;Restore LOW$
              00736 ;
              00737 ;       Was LOW$ entered ?
              00738 ;
2536 3AB728   00739 LOCHECK LD      A,(LRESP)       ;P/u response
2539 B7       00740         OR      A               ;Entered ?
253A 2816     00741         JR      Z,CHKBOTH       ;No - check range
253C FDCB0246 00742         BIT     0,(IY+CFLAG$)   ;If memory frozen,
2540 C2FB27   00743         JP      NZ,NOMEM        ;  can't do it
              00744 ;
              00745 ;       LOW$ entered - cannot be below LOWEST
              00746 ;
2543 110000   00747 LPARM   LD      DE,$-$          ;P/u value entered
2546 010026   00748         LD      BC,LOWEST       ;BC = lowest possible
2549 EB       00749         EX      DE,HL           ;  memory location
254A E5       00750         PUSH    HL
254B ED42     00751         SBC     HL,BC           ;In range ?
254D E1       00752         POP     HL
254E EB       00753         EX      DE,HL
254F DAFF27   00754         JP      C,RANGER        ;No - display range error
              00755 ;
              00756 ;       HL = HIGH$, DE = LOW$ - do they overlap ?
              00757 ;
2552 E5       00758 CHKBOTH PUSH    HL              ;HIGH$ must be
2553 B7       00759         OR      A               ;  greater than or equal
2554 ED52     00760         SBC     HL,DE           ;  to LOW$.
2556 E1       00761         POP     HL
2557 DAFF27   00762         JP      C,RANGER        ;Less - range error
              00763 ;
              00764 ;       LOW$ and HIGH$ are both valid - set LOW$
              00765 ;
255A EB       00766         EX      DE,HL           ;Pt DE => HI$, HL => LOW$
255B 0601     00767         LD      B,1
255D          00768         @@HIGH$                 ;Set LOW$
255D+3E64     00769         LD      A,100
255F+EF       00770         RST     40
              00771 ;
              00772 ;       Was the HIGH parameter specified ?
              00773 ;
2560 3AB028   00774         LD      A,(HRESP)       ;Was HIGH specified ?
2563 B7       00775         OR      A
2564 2813     00776         JR      Z,DSPHI         ;No - don't alter it
              00777 ;
              00778 ;       Yes - Change Exit message to include header
              00779 ;
2566 3E0A     00780         LD      A,LF            ;Change C/R to a L/F
2568 324029   00781         LD      (HEADMES),A
              00782 ;
              00783 ;       Xfer header into high memory
              00784 ;
256B D5       00785         PUSH    DE              ;Save HIGH$ ptr
256C 13       00786         INC     DE              ;Pt to header destination
256D 21D427   00787         LD      HL,HEADER       ;HL => Header
2570 010A00   00788         LD      BC,HLEN         ;BC = header length
2573 EDB0     00789         LDIR                    ;Xfer to mem
2575 E1       00790         POP     HL              ;HL => HIGH$ (BC = 0)
2576          00791         @@HIGH$                 ;Set HIGH$ (func. 0)
2576+3E64     00792         LD      A,100
2578+EF       00793         RST     40
              00794 ;
              00795 ;       P/u HIGH$/LOW$, cvt to Hex, & put in string
              00796 ;
2579 CDDE27   00797 DSPHI   CALL    GETHILO         ;HIGH$ (HL), LOW$ (DE)
257C E5       00798         PUSH    HL              ;Save HIGH$ ptr
257D 210229   00799         LD      HL,LOWIS1       ;HL => Destination
2580          00800         @@HEX16                 ;Cvt DE to ASCII @ HL
2580+3E63     00801         LD      A,99
2582+EF       00802         RST     40
2583 D1       00803         POP     DE              ;DE = HIGH$
2584 21F328   00804         LD      HL,HIGHIS1      ;HL => Destination
2587          00805         @@HEX16                 ;Cvt DE to ASCII @ HL
2587+3E63     00806         LD      A,99
2589+EF       00807         RST     40
              00808 ;
              00809 ;       Start of new code for LS-DOS 6.3.1
              00810 ;
              00811         IF      @BLD631
258A 21EA28   00812         LD      HL,HIGHIS
258D CD9027   00813         CALL    DSPLY           ;<631>
2590 214029   00814         LD      HL,HEADMES
2593 CD9027   00815         CALL    DSPLY
2596 CD7127   00816         CALL    2771H
259A          00817 L259A:  EQU     $+1
2599 010000   00818 L2599:  LD      BC,0000H
259C 0C       00819 L259C:  INC     C
259D C5       00820         PUSH    BC
259E          00821         @@BANK
259E+3E66     00822         LD      A,102
25A0+EF       00823         RST     40
25A1 C1       00824         POP     BC
25A2 28F8     00825         JR      Z,L259C
25A4 C5       00826         PUSH    BC
25A5 48       00827         LD      C,B
25A6          00828         @@BANK
25A6+3E66     00829         LD      A,102
25A8+EF       00830         RST     40
25A9 C1       00831         POP     BC
25AA 59       00832         LD      E,C
25AB 79       00833         LD      A,C
25AC CDA227   00834 L25AC:  CALL    L27A2
25AF ED437529 00835         LD      (L2975),BC
25B3 218229   00836         LD      HL,L2982
25B6 01FF00   00837         LD      BC,00FFH
25B9 23       00838 L25B9:  INC     HL
25BA 0C       00839 L25BA:  INC     C
25BB 79       00840         LD      A,C
25BC BB       00841         CP      E
25BD 2810     00842         JR      Z,L25CF
25BF C5       00843         PUSH    BC
25C0 0602     00844         LD      B,2
25C2          00845         @@BANK
25C2+3E66     00846         LD      A,102
25C4+EF       00847         RST     40
25C5 C1       00848         POP     BC
25C6 362B     00849         LD      (HL),2BH
25C8 20EF     00850         JR      NZ,L25B9
25CA 04       00851 L25CA:  INC     B
25CB 362D     00852         LD      (HL),2DH
25CD 18EA     00853         JR      L25B9
25CF 363E     00854 L25CF:  LD      (HL),3EH
25D1 23       00855         INC     HL
25D2 360D     00856         LD      (HL),0DH
25D4 78       00857         LD      A,B
25D5 CDA227   00858         CALL    L27A2
25D8 ED437229 00859         LD      (L2972),BC
25DC 215F29   00860         LD      HL,UNK1
25DF CD9027   00861         CALL    DSPLY
25E2 113528   00862         LD      DE,L2835
25E5          00863         @@GTMOD
25E5+3E53     00864         LD      A,83
25E7+EF       00865         RST     40
25E8 2010     00866 L25E8:  JR      NZ,L25FA
25EA 227B26   00867         LD      (L267B),HL
25ED E5       00868         PUSH    HL
25EE CD5F27   00869         CALL    L275F
25F1 CD7126   00870         CALL    L2671
25F4 CD6427   00871         CALL    L2764
25F7 E1       00872         POP     HL
25F8 181E     00873         JR      L2618
25FA CDDE27   00874 L25FA:  CALL    MEMSTRT
25FD 11FFFF   00875         LD      DE,0FFFFH
2600 229C26   00876         LD      (L269C),HL
2603 22A526   00877         LD      (L26A5),HL
2606 EB       00878         EX      DE,HL
2607 ED52     00879         SBC     HL,DE
2609 CAAD27   00880         JP      Z,L27AD
260C D5       00881 L260C:  PUSH    DE
260D CD5F27   00882         CALL    L275F
2610 CD9226   00883         CALL    L2692
2613 CD6427   00884         CALL    L2764
2616 E1       00885         POP     HL
2617 23       00886         INC     HL
2618 224C26   00887 L2618:  LD      (L264C),HL
261B 7E       00888 L261B:  LD      A,(HL)
261C FE18     00889         CP      18H
261E C2C226   00890         JP      NZ,L26C2
2621 23       00891         INC     HL
2622 23       00892         INC     HL
2623 5E       00893 L2623:  LD      E,(HL)
2624 23       00894         INC     HL
2625 56       00895         LD      D,(HL)
2626 ED534026 00896         LD      (SM003),DE
262A 23       00897         INC     HL
262B 46       00898         LD      B,(HL)
262C 23       00899         INC     HL
262D 110024   00900 L262D:  LD      DE,MEMORY
2630 7E       00901 L2630:  LD      A,(HL)
2631 12       00902         LD      (DE),A
2632 23       00903         INC     HL
2633 13       00904         INC     DE
2634 10FA     00905 L2634:  DJNZ    L2630
2636 2A4C26   00906         LD      HL,(L264C)
2639 111224   00907         LD      DE,L2412
263C CD4D27   00908         CALL    L274D
2640          00909 SM003:  EQU     $+1
263F 210000   00910 L263F:  LD      HL,0
2642 112424   00911         LD      DE,SM002
2645 CD4D27   00912         CALL    L274D
2648 2A4026   00913 L2648:  LD      HL,(SM003)
264C          00914 L264C:  EQU     $+1
264B 110000   00915 L264B:  LD      DE,0000H
264E B7       00916         OR      A
264F ED52     00917         SBC     HL,DE
2651 23       00918         INC     HL
2652 113324   00919         LD      DE,L2433
2655          00920         @@HEXDEC
2655+3E61     00921         LD      A,97
2657+EF       00922         RST     40
2658 CD6427   00923         CALL    L2764
265B 2A4026   00924         LD      HL,(SM003)
265E 23       00925         INC     HL
265F 7C       00926         LD      A,H
2660 B5       00927         OR      L
2661 CAAD27   00928         JP      Z,L27AD
2664 EB       00929         EX      DE,HL
2666          00930 L2666:  EQU     $+1
2665 210000   00931 L2665:  LD      HL,0
2668 ED52     00932         SBC     HL,DE
266A EB       00933         EX      DE,HL
266B CAFA25   00934         JP      Z,L25FA
266E C31826   00935 L266E:  JP      L2618
2671 21F928   00936 L2671:  LD      HL,LOWIS
2674 115128   00937         LD      DE,L2851
2677 CD2227   00938         CALL    L2722
267B          00939 L267B:  EQU     $+1
267A 210000   00940         LD      HL,0000H
267D E5       00941         PUSH    HL
267E CD3B27   00942         CALL    L273B
2681 114B49   00943         LD      DE,494BH
2684          00944         @@GTDCB
2684+3E52     00945         LD      A,82
2686+EF       00946         RST     40
2687 2D       00947         DEC     L
2688 7E       00948         LD      A,(HL)
2689 2D       00949         DEC     L
268A 6E       00950         LD      L,(HL)
268B 67       00951         LD      H,A
268C 226626   00952         LD      (L2666),HL
268F D1       00953         POP     DE
2690 1815     00954         JR      L26A7
2692 21EA28   00955 L2692:  LD      HL,HIGHIS
2695 114A28   00956         LD      DE,L284A
2698 CD2227   00957         CALL    L2722
269C          00958 L269C:  EQU     $+1
269B 210000   00959         LD      HL,0000H
269E CD3B27   00960         CALL    L273B
26A1 21FFFF   00961         LD      HL,0FFFFH
26A5          00962 L26A5:  EQU     $+1
26A4 110000   00963         LD      DE,0000H
26A7 B7       00964 L26A7:  OR      A
26A8 ED52     00965         SBC     HL,DE
26AA 113424   00966         LD      DE,L2434
26AD          00967         @@HEXDEC
26AD+3E61     00968         LD      A,97
26AF+EF       00969         RST     40
26B0 3E0D     00970         LD      A,0DH
26B2 12       00971         LD      (DE),A
26B3 CD6427   00972         CALL    L2764
26B6 216028   00973 L26B6:  LD      HL,L2860
26B9 110024   00974         LD      DE,MEMORY
26BC 013900   00975         LD      BC,39H
26BF EDB0     00976         LDIR
26C1 C9       00977         RET
26C2 7C       00978 L26C2:  LD      A,H
26C3 FE13     00979         CP      13H
26C5 DAFA25   00980         JP      C,L25FA
26C8 E5       00981         PUSH    HL
26C9 2B       00982         DEC     HL
26CA 11FFFF   00983         LD      DE,0FFFFH
26CD EB       00984         EX      DE,HL
26CE B7       00985         OR      A
26CF ED52     00986         SBC     HL,DE
26D1 44       00987         LD      B,H
26D2 4D       00988         LD      C,L
26D3 E1       00989         POP     HL
26D4 CAAD27   00990 L26D4:  JP      Z,L27AD
26D7 3E18     00991         LD      A,18H
26D9 EDB1     00992         CPIR
26DB 203D     00993         JR      NZ,L271A
26DD 2B       00994         DEC     HL
26DE 2B       00995         DEC     HL
26DF 224026   00996         LD      (SM003),HL
26E2 23       00997         INC     HL
26E3 23       00998         INC     HL
26E4 23       00999         INC     HL
26E5 5E       01000         LD      E,(HL)
26E6 23       01001         INC     HL
26E7 56       01002         LD      D,(HL)
26E8 2A4026   01003         LD      HL,(SM003)
26EB EB       01004         EX      DE,HL
26EC B7       01005         OR      A
26ED ED52     01006         SBC     HL,DE
26EF 3822     01007 L26EF:  JR      C,L2713
26F1 2A4026   01008 L26F1:  LD      HL,(SM003)
26F4 23       01009         INC     HL
26F5 23       01010         INC     HL
26F6 23       01011         INC     HL
26F7 23       01012         INC     HL
26F8 23       01013         INC     HL
26F9 7E       01014         LD      A,(HL)
26FA FE10     01015         CP      10H
26FC 3015     01016         JR      NC,L2713
26FE 47       01017         LD      B,A
26FF 23       01018 L26FF:  INC     HL
2700 7E       01019         LD      A,(HL)
2701 FE30     01020         CP      '0'
2703 380E     01021         JR      C,L2713
2705 FE7B     01022         CP      7BH
2707 300A     01023         JR      NC,L2713
2709 10F4     01024         DJNZ    L26FF
270B 219A28   01025 L270B:  LD      HL,L289A
270E 0609     01026         LD      B,9
2710 C32D26   01027         JP      L262D
2713 2A4026   01028 L2713:  LD      HL,(SM003)
2716 23       01029         INC     HL
2717 23       01030         INC     HL
2718 18A8     01031         JR      L26C2
271A 21FFFF   01032 L271A:  LD      HL,0FFFFH
271D 224026   01033         LD      (SM003),HL
2720 18E9     01034         JR      L270B
2722 D5       01035 L2722:  PUSH    DE
2723 110024   01036         LD      DE,MEMORY
2726 010400   01037         LD      BC,4
2729 EDB0     01038         LDIR
272B 213928   01039         LD      HL,L2839
272E 0E11     01040         LD      C,11H
2730 EDB0     01041         LDIR
2732 E1       01042         POP     HL
2733 111924   01043         LD      DE,GDPARMS+1
2736 0E07     01044         LD      C,7
2738 EDB0     01045         LDIR
273A C9       01046         RET
273B 112124   01047 L273B:  LD      DE,SM001
273E CD4D27   01048         CALL    L274D
2741 215828   01049         LD      HL,L2858
2744 112C24   01050         LD      DE,L242C
2747 010800   01051         LD      BC,8
274A EDB0     01052         LDIR
274C C9       01053         RET
274D D5       01054 L274D:  PUSH    DE
274E EB       01055         EX      DE,HL
274F 21A528   01056         LD      HL,L28A5
2752          01057         @@HEX16
2752+3E63     01058         LD      A,99
2754+EF       01059         RST     40
2755 D1       01060         POP     DE
2756 21A328   01061         LD      HL,L28A3
2759 010700   01062         LD      BC,7
275C EDB0     01063         LDIR
275E C9       01064         RET
275F 3E0D     01065 L275F:  LD      A,0DH
2761 320024   01066         LD      (MEMORY),A
2764 210024   01067 L2764:  LD      HL,MEMORY
2767 CD9027   01068         CALL    DSPLY
              01069         IF      @BLD631H
              01070 P631H2:                         ;<631H>
              01071         ENDIF
276A 0639     01072         LD      B,39H
276C 3620     01073 L276C:  LD      (HL),' '
276E 23       01074         INC     HL
276F 10FB     01075         DJNZ    L276C
2772          01076 L2772:  EQU     $+1
2771 3E15     01077         LD      A,15H
2773 3D       01078         DEC     A
2774 327227   01079         LD      (L2772),A
2777 C0       01080         RET     NZ
2778          01081         @@KEY
2778+3E01     01082         LD      A,1
277A+EF       01083         RST     40
277B FE80     01084         CP      80H
277D CA0528   01085         JP      Z,ABORT
2780 3E69     01086         LD      A,69H
2782 EF       01087         RST     28H
              01088         IF      @BLD631H
2783 3E18     01089         LD      A,18H           ;<631H>
              01090         ELSE
              01091         LD      A,17H
              01092         ENDIF
2785 327227   01093         LD      (L2772),A
2788 CDB626   01094         CALL    L26B6
278B 210024   01095         LD      HL,MEMORY
              01096         IF      @BLD631H
278E 187F     01097         JR      P631H1          ;<631H>
              01098         ELSE
              01099         JR      L279C
              01100         ENDIF
2790 110000   01101 DSPLY:  LD      DE,0
2793 1C       01102         INC     E
2794 1D       01103         DEC     E
2795 2805     01104         JR      Z,L279C
2797          01105         @@PRINT
              01106         IFEQ    00H,1
              01107         LD      HL,
              01108         ENDIF
2797+3E0E     01109         LD      A,14
2799+EF       01110         RST     40
279A 2054     01111         JR      NZ,IOERR
279C          01112 L279C:  @@LOGOT
              01113         IFEQ    00H,1
              01114         LD      HL,
              01115         ENDIF
279C+3E0C     01116         LD      A,12
279E+EF       01117         RST     40
279F C8       01118         RET     Z
27A0 184E     01119         JR      IOERR
27A2 0E2F     01120 L27A2:  LD      C,2FH
27A4 0C       01121         INC     C
27A5 D60A     01122         SUB     0AH
27A7 30FB     01123         JR      NC,27A4H
27A9 C63A     01124         ADD     A,3AH
27AB 47       01125         LD      B,A
27AC C9       01126         RET
27AD 3AD428   01127 L27AD:  LD      A,(GRESP)
27B0 B7       01128         OR      A
27B1 CA6124   01129         JP      Z,GOODEX
27B5          01130 L27B5:  EQU     $+1
27B4 C30000   01131 GPARM   JP      $-$             ;Yes - Jump to address
              01132 ;
              01133 ;       CKPARM - Check if Parameter types are legal
              01134 ;       HL => Beginning of Parameter Table
              01135 ;       Z  <= Set if Parameters entered were legal
              01136 ;
27B7 D1       01137 GOODPRM POP     DE              ;Clear stack
27B8 23       01138 CKPARM  INC     HL              ;Bump past 80H
27B9 7E       01139         LD      A,(HL)          ;P/u type byte
27BA 47       01140         LD      B,A             ;Save in B
27BB E60F     01141         AND     0FH             ;Get length
27BD C8       01142         RET     Z               ;Zero - finished
              01143 ;
              01144 ;       Position HL to response byte
              01145 ;
27BE 23       01146         INC     HL              ;HL => Parameter Name
27BF E5       01147         PUSH    HL              ;Save start of name
27C0 5F       01148         LD      E,A             ;Set DE = name
27C1 1600     01149         LD      D,0             ;  length.
27C3 19       01150         ADD     HL,DE
              01151 ;
              01152 ;       Pick up response, mask off junk, & xfer in D
              01153 ;
27C4 7E       01154         LD      A,(HL)          ;P/u response
27C5 E6E0     01155         AND     0E0H            ;Bits 7-5 = response
27C7 57       01156         LD      D,A             ;Save in D
              01157 ;
              01158 ;       Was the response bit acceptable by type ?
              01159 ;
27C8 78       01160         LD      A,B             ;P/u type byte
27C9 A2       01161         AND     D               ;Mask off bits 4-0
27CA AA       01162         XOR     D               ;Result = Z if both set
              01163 ;
              01164 ;       Position HL to next parameter entry
              01165 ;
27CB 23       01166         INC     HL              ;Go past word
27CC 23       01167         INC     HL
27CD 28E8     01168         JR      Z,GOODPRM       ;Z - good entry
              01169 ;
              01170 ;       Illegal Entry - Recover Name start & RETurn
              01171 ;
27CF 4B       01172         LD      C,E             ;Set BC = length
27D0 0600     01173         LD      B,0
27D2 E1       01174         POP     HL              ;HL => Parameter Name
27D3 C9       01175         RET                     ;RETurn NZ
              01176 ;
              01177 ;       6.2 Memory Header
              01178 ;
27D4 1808     01179 HEADER  JR      MEMSTRT         ;JR to start of module
27D6 0000     01180 OLDHI   DW      0               ;HIGH$ before this module
27D8 05       01181         DB      5,'&'           ;Use "&" to denote addr.
     26 
27DA 6E       01182 HD_ADD  DB      'nnnn'          ;Hex ASCII address
     6E 6E 6E 
27DE          01183 MEMSTRT EQU     $               ;Length byte
000A          01184 HLEN    EQU     $-HEADER        ;Length of Header
              01185         ELSE                    ;The way it was in 6.3.0
              01186 ;
              01187 ;       Display HIGH$ = nnnn & LOW$ = nnnn string
              01188 ;
              01189         LD      HL,HIGHIS       ;HL => HIGH$/LOW$ string
              01190         @@LOGOT                 ;Log & display
              01191         LD      HL,HEADMES      ;Display Header message
              01192         @@LOGOT                 ;  if one was inserted
              01193 ;
              01194 ;       Was a Go Parameter Entered ?
              01195 ;
              01196 GO      LD      A,(GRESP)       ;GO entered ?
              01197         OR      A
              01198         JP      Z,GOODEX        ;No - RETurn HL = 0
              01199         ENDIF
              01200 ;
              01201 ;       GETHILO - Get HIGH$ in HL, & LOW$ in DE
              01202 ;
27DE 210000   01203 GETHILO LD      HL,0            ;P/u LOW$
27E1 54       01204         LD      D,H             ;Set DE = 0
27E2 5D       01205         LD      E,L
27E3 0601     01206         LD      B,1
27E5          01207         @@HIGH$
27E5+3E64     01208         LD      A,100
27E7+EF       01209         RST     40
27E8 EB       01210         EX      DE,HL           ;Save in DE
27E9 45       01211         LD      B,L             ;Set B = 0
27EA          01212         @@HIGH$                 ;Get HIGH$ & RETurn
27EA+3E64     01213         LD      A,100
27EC+EF       01214         RST     40
27ED C9       01215         RET                     ;RETurn
              01216         IF      @BLD631
              01217         ELSE
              01218 ;
              01219 ;       DSPLY - Display a line to the video
              01220 ;
              01221 DSPLY   @@DSPLY                 ;Display line
              01222         RET     Z               ;Z - RETurn
              01223         DB      21H             ;Skip LD A,## instruction
              01224         ENDIF
              01225 ;
              01226 ;       IOERR - Fatal Error Handler
              01227 ;
27EE 3E2C     01228 PRMERR  LD      A,PAR_ERR       ;Parameter Error
27F0 6F       01229 IOERR   LD      L,A             ;Error # to HL
27F1 2600     01230         LD      H,0
27F3 F6C0     01231         OR      0C0H            ;Short error message
27F5 4F       01232         LD      C,A             ;Save in C
27F6          01233         @@ERROR                 ;Display error
27F6+3E1A     01234         LD      A,26
27F8+EF       01235         RST     40
27F9 180D     01236         JR      EXIT            ;Go to exit routine
              01237         IF      @BLD631
              01238         ELSE
              01239 ;
              01240 ;       CKPARM - Check if Parameter types are legal
              01241 ;       HL => Beginning of Parameter Table
              01242 ;       Z  <= Set if Parameters entered were legal
              01243 ;
              01244 GOODPRM POP     DE              ;Clear stack
              01245 CKPARM  INC     HL              ;Bump past 80H
              01246         LD      A,(HL)          ;P/u type byte
              01247         LD      B,A             ;Save in B
              01248         AND     0FH             ;Get length
              01249         RET     Z               ;Zero - finished
              01250 ;
              01251 ;       Position HL to response byte
              01252 ;
              01253         INC     HL              ;HL => Parameter Name
              01254         PUSH    HL              ;Save start of name
              01255         LD      E,A             ;Set DE = name
              01256         LD      D,0             ;  length.
              01257         ADD     HL,DE
              01258 ;
              01259 ;       Pick up response, mask off junk, & xfer in D
              01260 ;
              01261         LD      A,(HL)          ;P/u response
              01262         AND     0E0H            ;Bits 7-5 = response
              01263         LD      D,A             ;Save in D
              01264 ;
              01265 ;       Was the response bit acceptable by type ?
              01266 ;
              01267         LD      A,B             ;P/u type byte
              01268         AND     D               ;Mask off bits 4-0
              01269         XOR     D               ;Result = Z if both set
              01270 ;
              01271 ;       Position HL to next parameter entry
              01272 ;
              01273         INC     HL              ;Go past word
              01274         INC     HL
              01275         JR      Z,GOODPRM       ;Z - good entry
              01276 ;
              01277 ;       Illegal Entry - Recover Name start & RETurn
              01278 ;
              01279         LD      C,E             ;Set BC = length
              01280         LD      B,0
              01281         POP     HL              ;HL => Parameter Name
              01282         RET                     ;RETurn NZ
              01283 ;
              01284 ;       6.2 Memory Header
              01285 ;
              01286 HEADER  JR      MEMSTRT         ;JR to start of module
              01287 OLDHI   DW      0               ;HIGH$ before this module
              01288         DB      5,'&'           ;Use "&" to denote addr.
              01289 HD_ADD  DB      'nnnn'          ;Hex ASCII address
              01290 MEMSTRT EQU     $               ;Length byte
              01291 HLEN    EQU     $-HEADER        ;Length of Header
              01292         ENDIF
              01293 ;
              01294 ;
              01295 ;       Messages
              01296 ;
              01297 ;
27FB 211528   01298 NOMEM   LD      HL,NOMEM$
27FE DD       01299         DB      0DDH
27FF 212928   01300 RANGER  LD      HL,RANGER$
              01301 ;
              01302 ;       Display & Log message, & RETurn
              01303 ;
2802          01304         @@LOGOT                 ;Display/Log message
              01305         IFEQ    00H,1
              01306         LD      HL,
              01307         ENDIF
2802+3E0C     01308         LD      A,12
2804+EF       01309         RST     40
2805 21FFFF   01310 ABORT   LD      HL,-1           ;Internal Error
2808 310000   01311 EXIT    LD      SP,$-$          ;P/u old SP address
280B          01312         @@CKBRKC                ;Clear any Break
280B+3E6A     01313         LD      A,106
280D+EF       01314         RST     40
280E C9       01315         RET                     ;RETurn
              01316 ;
              01317         IF      @BLD631H
280F CD9C27   01318 P631H1: CALL    L279C           ;<631H>279C
2812 C36A27   01319         JP      P631H2          ;<631H>276A
2815 4E       01320 NOMEM$  DB      'No memory available',CR        ;<631H>
     6F 20 6D 65 6D 6F 72 79
     20 61 76 61 69 6C 61 62
     6C 65 0D 
              01321         ELSE
              01322 NOMEM$  DB      'No memory space available',CR
              01323         ENDIF
2829 52       01324 RANGER$ DB      'Range error',CR
     61 6E 67 65 20 65 72 72
     6F 72 0D 
              01325         IF      @BLD631
2835 24       01326 L2835:  DB      '$KI',03H
     4B 49 03 
2839 20       01327 L2839:  DB      ' Memory Directory'
     4D 65 6D 6F 72 79 20 44
     69 72 65 63 74 6F 72 79
284A 48       01328 L284A:  DB      'HIGH$ '
     49 47 48 24 20 
2850 3D       01329         DB      '='
2851 53       01330 L2851:  DB      'Start '
     74 61 72 74 20 
2857 3D       01331         DB      '='
2858 4C       01332 L2858:  DB      'Length '
     65 6E 67 74 68 20 
285F 3D       01333         DB      '='
2860 4D       01334 L2860:  DB      'Module'
     6F 64 75 6C 65 
2866 20       01335         DB      '         Start Address'
     20 20 20 20 20 20 20 20
     53 74 61 72 74 20 41 64
     64 72 65 73 73 
287C 20       01336         DB      '      End Address'
     20 20 20 20 20 45 6E 64
     20 41 64 64 72 65 73 73
288D 20       01337         DB      '      Length',CR
     20 20 20 20 20 4C 65 6E
     67 74 68 0D 
289A 3C       01338 L289A:  DB      ''
     75 6E 6B 6E 6F 77 6E 3E
28A3 58       01339 L28A3:  DB      'X',27H
     27 
28A5 20       01340 L28A5:  DB      '    '
     20 20 20 
28A9 27       01341         DB      27H
              01342         ENDIF
              01343 ;
              01344 ;       PARAMETER TABLE
              01345 ;
28AA 80       01346 PRMTBL$ DB      80H             ;6.x type @PARAM
              01347 ;
              01348 ;       HIGH (H) - Accept Numeric input only
              01349 ;
28AB 94       01350         DB      NUM!ABB!4
28AC 48       01351         DB      'HIGH'
     49 47 48 
28B0 00       01352 HRESP   DB      0
28B1 2025     01353         DW      HPARM+1
              01354 ;
              01355 ;       LOW (L) - Accept numeric input only
              01356 ;
28B3 93       01357         DB      NUM!ABB!3
28B4 4C       01358         DB      'LOW'
     4F 57 
28B7 00       01359 LRESP   DB      0
28B8 4425     01360         DW      LPARM+1
              01361 ;
              01362 ;       ADD (A) - Accept numeric, string input
              01363 ;
28BA B3       01364         DB      NUM!STR!ABB!3
28BB 41       01365         DB      'ADD'
     44 44 
28BE 00       01366 ARESP   DB      0
28BF 8D24     01367         DW      APARM+1
              01368 ;
              01369 ;       WORD (W) - Accept Numeric input only
              01370 ;
28C1 94       01371         DB      NUM!ABB!4
28C2 57       01372         DB      'WORD'
     4F 52 44 
28C6 00       01373 WRESP   DB      0
28C7 D524     01374         DW      WPARM+1
              01375 ;
              01376 ;       BYTE (B) - Accept Numeric input only
              01377 ;
28C9 94       01378         DB      NUM!ABB!4
28CA 42       01379         DB      'BYTE'
     59 54 45 
28CE 00       01380 BRESP   DB      0
28CF E624     01381         DW      BPARM+1
              01382 ;
              01383 ;       GO (G) - Accept Numeric input only
              01384 ;
28D1 92       01385         DB      NUM!ABB!2
28D2 47       01386         DB      'GO'
     4F 
28D4 00       01387 GRESP   DB      0
28D5 B527     01388         DW      GPARM+1
              01389 ;
              01390 ;       CLEAR (C) - Accept Flag, Numeric or string input
              01391 ;
28D7 F5       01392         DB      FLAG!NUM!STR!ABB!5
28D8 43       01393         DB      'CLEAR'
     4C 45 41 52 
28DD 00       01394 CRESP   DB      0
28DE 2124     01395         DW      CPARM+1
              01396         IF      @BLD631
              01397 ;
              01398 ;       PRINT (P) 
              01399 ;
28E0 55       01400         DB      FLAG!ABB!5
28E1 50       01401         DB      'PRINT'
     52 49 4E 54 
28E6 00       01402 PRESP   DB      0
28E7 9127     01403         DW      DSPLY+1 
              01404         ENDIF
              01405 ;
28E9 00       01406         NOP
              01407 ;
28EA 48       01408 HIGHIS  DB      'High = X',AP
     69 67 68 20 3D 20 58 27
28F3 78       01409 HIGHIS1 DB      'xxxx',AP,' '
     78 78 78 27 20 
28F9 20       01410 LOWIS   DB      ' Low = X',AP
     4C 6F 77 20 3D 20 58 27
2902 78       01411 LOWIS1  DB      'xxxx',AP,ETX
     78 78 78 27 03 
              01412 ;
2908 58       01413 ADDMSG  DB      'X',AP
     27 
290A 6E       01414 HEXADD  DB      'nnnn',AP,' = '
     6E 6E 6E 27 20 3D 20 
2912 64       01415 DECADD  DB      'ddddd (X',AP,ETX
     64 64 64 64 20 28 58 27
     03 
              01416 ;
291C 6E       01417 OLDWORD DB      'nnnn',AP,' => X',AP
     6E 6E 6E 27 20 3D 3E 20
     58 27 
2927 6E       01418 NEWWORD DB      'nnnn',AP,')  ',ETX
     6E 6E 6E 27 29 20 20 03
              01419 ;
2930 6E       01420 OLDBYTE DB      'nn',AP,' => X',AP
     6E 27 20 3D 3E 20 58 27
2939 6E       01421 NEWBYTE DB      'nn',AP,')  ',ETX
     6E 27 29 20 20 03 
              01422 ;
2940 0D       01423 HEADMES DB      CR,'Note : Memory Header Inserted',CR
     4E 6F 74 65 20 3A 20 4D
     65 6D 6F 72 79 20 48 65
     61 64 65 72 20 49 6E 73
     65 72 74 65 64 0D 
              01424 ;
              01425         IF      @BLD631
295F 0A       01426 UNK1    DB      0AH,'32K Banks avail = '
     33 32 4B 20 42 61 6E 6B
     73 20 61 76 61 69 6C 20
     3D 20 
2972 64       01427 L2972:  DB      'dd'
     64 
2974 2F       01428         DB      '/'
2975 64       01429 L2975:  DB      'dd'
     64 
2977 2C       01430         DB      ', In use = '
     20 49 6E 20 75 73 65 20
     3D 20 
2982 3C       01431 L2982:  DB      '<+'
     2B 
              01432         ENDIF
2400          01433         END     MEMORY
2400 is the transfer address
00000 Total errors


[Copyright 1999,2002,2014 Frank Durda IV, All Rights Reserved.
Mirroring of any material on this page in any form is expressly prohibited.
The official web site for this material is:  http://nemesis.lonestar.org
Contact this address for use clearances: clearance_2014 at nemesis.lonestar.org
Comments and queries to this address: web_software_2014 at nemesis.lonestar.org]

Valid HTML 4.01!