Current area: HOME ->

Zip File view

BASIC11 Version 1.55


This page allows you to view the contents of a file contained inside a ZIP archive available at Programmer's Heaven. This means you can view the code and find what you need from it without having to download the ZIP file first. If the file contains source code for a language we recognize, we have syntax highlighted it.

Filename displayed: IOPKG.ASM
Found in file: BASIC11.ZIP

Download: Todo list manager. (Shareware)
TTL    IOPKG
         PAG
*
*
OUTBYTE EQU    *
         INC    PRINTPOS     INCREMENT THE CURRENT PRINT POSITION.
         PSHB                SAVE THE B-REG.
         PSHX                SAVE THE X-REG.
         LDX    #OUTABLE     POINT TO THE OUTPUT VECTOR TABLE.
OUTBYTE1 LDAB   DEVNUM       GET THE CURRENT DEVICE NUMBER.
         ASLB                MULT BY 2.
         ABX                 POINT TO THE ADDRESS OF THE OUTPUT ROUTINE.
         LDX    0,X          GET THE ADDRESS. HAS THE VECTOR BEEN INITALIZED?
         BNE    OUTBYTE2     YES. GO OUTPUT THE CHARACTER.
         CLR    DEVNUM       NO. RESET TO DEVICE #0.
         LDAA   #UNINIERR    GO REPORT AN UNINITALIZED I/O VECTOR ERROR.
         JMP    RPTRERR
OUTBYTE2 JSR    0,X          GO OUTPUT THE CHARACTER.
         PULX                RESTORE X.
         PULB                RESTORE B.
         RTS                 RETURN.
*
INBYTE  EQU    *
         PSHB                SAVE THE B-REG.
         PSHX                SAVE THE X-REG.
         LDX    #INTABLE     POINT TO THE INPUT VECTOR TABLE.
         BRA    OUTBYTE1     GO USE THE SAME CODE AS OUTBYTE.
*
*
        if      *>$FF00
        error   "BASIC Is Too Large"
        endif
*
*
        ORG     $FF00
*
*
ACIAIN   BSR    ACIAINNE     GO GET CHARACTER FROM ACIA, NO ECHO.
*                            NOW, FALL THROUGH TO ACIAOUT TO ECHO CHARACTER.
*
*
ACIAOUT  PSHA                SAVE THE CHARACTER TO OUTPUT.
ACIAOUT1 LDAA   ACIAST       GET THE ACIA STATUS.
         BITA   #$02         IS THE XMIT DATA REGISTER EMPTY?
         BEQ    ACIAOUT1     NO. WAIT TILL IT IS.
         PULA                YES. GET BYTE TO SEND.
         STAA   ACIADT       SEND IT.
         RTS                 RETURN.
*
*
*
*
*
*
ACIAINNE LDAA   ACIAST       GET THE ACIA STATUS.
         BITA   #$01         HAS A CHARACTER BEEN RECIEVED?
         BEQ    ACIAINNE     NO. WAIT TILL WE HAVE ONE.
         LDAA   ACIADT       YES. GET THE CHARACTER.
         RTS                 RETURN.
*
ACIASTAT EQU    *
         PSHA                SAVE THE A-REG.
         LDAA   ACIAST       GET THE ACIA STATUS.
         BITA   #$01         CHECK FOR A CHARACTER.
         PULA                RESTORE A.
         RTS                 RETURN.
*
*
SCIIN    EQU    *
         PSHX           Save the index register.
         LDX    IOBaseV
SCIIN1   LDAA   SCSR,X       GET SCI STATUS.
         ANDA   #$20         HAS A CHARACTER BEEN RECIEVED?
         BEQ    SCIIN1       NO. WAIT FOR CHARACTER TO BE RECIEVED.
         LDAA   SCDR,X       GET THE CHARACTER.
         PULX           Restore X.
         RTS                 RETURN.
*
*
SCIOUT  EQU    *
         PSHX           Save the index register.
         LDX    IOBaseV
         PSHA               SAVE THE CHARACTER TO SEND.
SCIOUT1  LDAA   SCSR,X      GET THE SCI STATUS.
         BITA   #$80        HAS THE LAST CHARACTER BEEN SHIFTED OUT?
         BEQ    SCIOUT1     NO. WAIT TILL IT HAS.
         PULA               RESTORE CHARACTER TO SEND.
         STAA   SCDR,X      SEND THE CHARACTER.
         PULX           Restore X.
         RTS                RETURN.
*
*
SCISTAT EQU    *
         PSHX           Save the index register.
         LDX    IOBaseV
         PSHA               SAVE THE A-REG.
         LDAA   SCSR,X      GET THE SCI STATUS.
         BITA   #$20        CHECK TO SEE IF A CHARACTER HAS BEEN RECIEVED.
         PULA               RESTORE STATUS.
         PULX          Restore X.
         RTS                RETURN W/ STATUS.
*
*
IODevInit:
        BSR     InitACIA
        BSR     InitSCI
        LDAA    #JMPOP
        STAA    CONSTAT          INITIALIZE THE CONSOLE STATUS VECTOR.
        STAA    INCONNE          INITIALIZE THE "INPUT FROM CONSOLE NO ECHO VECT.
        LDD      #ACIASTAT   CONSOLE IS INITIALLY THE ACIA.
        STD     CONSTAT+1
        LDD     #ACIAINNE    GET BYTE FROM ACIA, DON'T ECHO IT.
        STD     INCONNE+1
        RTS
*
*
INITSCI  EQU    *
         PSHX           Save the index register.
         LDX    IOBaseV
         LDAA   #$30        SET BAUD RATE TO 9600.
         STAA   BAUD,X
         CLR    SCCR1,X     SET FOR 8 BIT OPERATION, DISABLE WAKEUP.
         LDAA   #$0C        ENABLE THE TRANSMITER & RECEIVER.
         STAA   SCCR2,X
         LDAA   #$11        GET THE XON CHARACTER (CONTROL-Q).
         STAA   XONCH       INITALIZE THE XON REGISTER.
         LDAA   #$13        GET THE XOFF CHARACTER (CONTROL-S).
         STAA   XOFFCH      INITALIZE THE XOFF CHARACTER.
         PULX
         RTS                RETURN.
*
*
INITACIA LDAA   #$13         VALUE TO RESET THE ACIA.
         STAA   ACIAST       RESET IT.
         LDAA   #$56         SET /64, RTS=HI, 8-DATA/1 STOP
         STAA   ACIAST
         RTS                 RETURN.
*
*
*
PROUT    EQU    *            SEND A CHARACTER TO THE PRINTER.
         BSR    SCISTAT      WAS AN "
X-OFF" RECIEVED?
         BEQ    PROUT1       NO. GO SEND THE CHARACTER.
         PSHA                SAVE THE CHARACTER TO SEND.
         BSR    SCIIN        YES. GO RESET THE SCI RECEIVER STATUS.
         CMPA   XOFFCH       WAS IT AN XOFF?
         BNE    PROUT2       NO. SO GO SEND THE CHARACTER.
PROUT3   BSR    SCIIN        GO WAIT FOR AN "
X-ON" CHARACTER.
         CMPA   XONCH        IS IT AN X-ON CHARACTER?
         BNE    PROUT3       NO. GO WAIT FOR AN X-ON CHARACTER.
PROUT2   PULA                GET THE CHARACTER TO SEND.
PROUT1   BRA    SCIOUT       SEND THE CHARACTER TO THE PRINTER & RETURN.
*
*


Basically a simple and effective sprite engine for TP6.
Designed for use with MCGA, VGA and compatibles. Works in mode mode $13 (320x200 with 256 simultaneously colours.
Solvesys 3.1 Simultaneous non-linear equations solver for the
Hp48g series calculators
Todo list manager. (Shareware)

Download Basically a simple and effective sprite engine for TP6. Designed for use with MCGA, VGA and compatibles. Works in mode  mode $13 (320x200 with 256 simultaneously colours. Download Solvesys 3.1 Simultaneous non-linear equations solver for the Hp48g series calculators Download Todo list manager. (Shareware)







Sponsored links

Build IT Knowledge with Current & Trusted Content
Helps Employees Develop & Hone New Technical Programming Skills. Sign Up & Get Full Access.
Check Out IT Certification Preparation Materials
Sign Up With SkillSoft & Get Access to Training Materials for Over 50 Professional Certifications.
Villanova University Six Sigma & IT Certificate Programs
100% Online programs in Six Sigma, IS Security, CISSP Prep, Business Analysis, Proj. Mgmt. and more!
Localize software in three simple steps
Localize .Net, C/C++ & Delphi apps visually. HTML, HTML Help, XML & databases. Try Sisulizer now!
Delphi Localization Tool Sisulizer (WYSIWYG)
Create multilingual Delphi apps in three simple steps. Localize XML, HTML Help ... Try Sisulizer now


Newsletter | Submit Content | About | Advertising | Awards | Contact Us | Link to us |
© 1996-2008 Community Networks Ltd All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited. Violators of this policy may be subject to legal action. Please read Terms Of Use and Privacy Statement for more information. Development by Synchron Data - .NET development.