MODULE ;Example for Steve››DEFINE PHA="$48", PLA="$68",› RTI="$40", JMP="$4C"››BYTE WSYNC=$D40A,COLPF2=$D018,COLBK=$D01A›CARD VDSLST=$200,SDLSTL=$230,XITVBL=$E462›CARD POINTER SAVMSC=$58›BYTE ARRAY dlist(0)=$680››PROC dlistval=*()›DEFINE BL8="$70", BM0="$02",› BM1="$06", DLI="$80",› LMS="$40", JVB="$41"› [ BL8 BL8 BL8› BM0+LMS+DLI› dlistval ;Must be plugged!› BM1+DLI› BM0 BM0 BM0 BM0 BM0› BM0 BM0 BM0 BM0 BM0› BM0 BM0 BM0 BM0 BM0› BM0 BM0 BM0 BM0 BM0› BM0 BM0 JVB dlist ]›››PROC dlih2=*()› [ PHA ]› WSYNC=0› COLBK=$C0› COLPF2=$C0› [ PLA RTI ]››; Interrupt for Mode 1 line›PROC dlih1=*()› [ PHA ]› WSYNC=0› COLBK=$40› VDSLST=dlih2› [ PLA RTI ]›››PROC vblih=*()› VDSLST=dlih1› [ JMP XITVBL ]›››PROC MyPrint(CARD loc,CHAR POINTER string)›› BYTE length,i,j› CHAR POINTER cursor›› cursor=SAVMSC^+loc› length=string^› string==+1›› FOR i=1 TO length DO› j=string^› IF j<96 THEN› IF j>31 THEN› j==-32› ELSE› j==+64› FI› FI› cursor^=j› string==+1› cursor==+1› OD››RETURN››››PROC Main()›› CARD VVBLKD=$224› CARD POINTER lmsptr› BYTE NMIEN=$D40E,› COLOR1=$2C5,COLOR2=$2C6,COLOR4=$2C8›› Graphics(0)› lmsptr=dlistval+4› lmsptr^=SAVMSC^›› MoveBlock(dlist,dlistval,29)› ›› NMIEN=0 › VVBLKD=vblih› SDLSTL=dlist› NMIEN=$C0›› COLOR1=$0E› COLOR2=$90› COLOR4=$90›› Zero(SAVMSC^,960)›› MyPrint(14,"H O W D Y !!")› MyPrint(40+3,"this is mode 1")› MyPrint(40+20+8*40+8,"and this is mode 0 again")›› DO OD ;Endless loop››RETURN›››