home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 1: Collection A
/
17Bit_Collection_A.iso
/
files
/
950.dms
/
950.adf
/
EYE
/
eyemove.asm
< prev
next >
Wrap
Assembly Source File
|
1993-03-09
|
4KB
|
153 lines
********************************************************************************
* EyeMove by MC68 *
* If you find any bugs in the program please let me know. *
* Write to the following address: *
* Andrzej Fien Finished: 14.09.1990 *
* ul.Turkienicza 17/26 *
* 35-010 Rzeszow *
* POLAND *
********************************************************************************
OpenLibrary EQU -552 ;(libratyName,version)(A1,D0)
CloseLibrary EQU -414 ;(library)(A1)
GetMsg EQU -372 ;(port)(A0)
ReplyMsg EQU -378 ;(message)(A1)
Open EQU -30 ;(name,accessMode)(D1-D2)
Close EQU -36 ;(file)(D1)
Write EQU -48 ;(file,buffer,length)(D1-D3)
OpenWindow EQU -204 ;(OWargs)(A0)
CloseWindow EQU -72 ;(Window)(A0)
ActivateGadget EQU -462 ;(Gadgets,Window,Req)(A0-A2)
AllocRemember EQU -396 ;(RememberKey,Size,Flags)(A0,D0-D1)
FreeRemember EQU -408 ;(RememberKey,ReallyForget)(A0,D0)
* stack frame map
PublicMemory EQU -20
RP EQU -16
WW EQU -12
IntBase EQU -8
DosBase EQU -4
******************** Code ******************************************************
LINK A4,#-20
MOVE.L 4.W,A6
LEA DosName(PC),A1
MOVEQ #0,D0
JSR OpenLibrary(A6)
MOVE.L D0,DosBase(A4)
BEQ.W GetOut
LEA IntName(PC),A1
MOVEQ #0,D0
JSR OpenLibrary(A6)
MOVE.L D0,IntBase(A4)
BEQ.W CloseDos
MOVE.L D0,A6
LEA RememberKey(PC),A0
MOVE.L #5120,D0
MOVEQ #1,D1
JSR AllocRemember(A6)
MOVE.L D0,PublicMemory(A4)
BEQ.W CloseInt
LEA AddressWW(PC),A0
JSR OpenWindow(A6)
MOVE.L D0,WW(A4)
BEQ.W FreeMemory
MOVE.L D0,A1
MOVE.L 50(A1),RP(A4)
LEA AddressGG(PC),A0
SUBA.L A2,A2
JSR ActivateGadget(A6)
AddressLoop MOVE.L WW(A4),A0
MOVE.L 86(A0),A0
MOVE.L 4.W,A6
JSR GetMsg(A6)
TST.L D0
BEQ.S AddressLoop
MOVE.L D0,A1
MOVE.W 22(A1),D2
JSR ReplyMsg(A6)
CMPI.W #$200,D2
BEQ.S Quit
LEA AddressBuffer(PC),A2
MOVEQ #0,D0
TST.B (A2)
BEQ.S Quit
ConvertBuffer MOVE.B (A2)+,D1
BEQ.S EndBuffer
SUBI.B #'0',D1
BCLR #5,D1
CMPI.B #9,D1
BLS.S LessOrSame
SUBQ.B #7,D1
LessOrSame CMPI.B #$0F,D1
BHI.S Quit
LSL.L #4,D0
ADD.B D1,D0
BRA.S ConvertBuffer
EndBuffer BSR.W MovePicture
MOVE.L DosBase(A4),A6
MOVE.L #ImageFile,D1
MOVE.L #1006,D2
JSR Open(A6)
MOVE.L D0,D1
BEQ.S Quit
MOVE.L D0,-(A7)
MOVE.L PublicMemory(A4),D2
MOVE.L #5120,D3
JSR Write(A6)
MOVE.L (A7)+,D1
JSR Close(A6)
Quit MOVE.L WW(A4),A0
MOVE.L IntBase(A4),A6
JSR CloseWindow(A6)
FreeMemory LEA RememberKey(PC),A0
MOVEQ #1,D0
JSR FreeRemember(A6)
CloseInt MOVE.L A6,A1
MOVE.L 4.W,A6
JSR CloseLibrary(A6)
CloseDos MOVE.L DosBase(A4),A1
JSR CloseLibrary(A6)
GetOut UNLK A4
MOVEQ #0,D0
RTS
MovePicture MOVE.L D0,A1
MOVE.L PublicMemory(A4),A0
MOVE.L A1,A3
BSR.S Moving
LEA 16000(A3),A1
Moving MOVEQ #40-1,D1
MoveLine MOVEQ #64-1,D0
MOVE.L A1,A2
MoveByte MOVE.B (A1)+,(A0)+
DBF D0,MoveByte
LEA 80(A2),A1
DBF D1,MoveLine
RTS
AddressWW DC.W 259,103,122,50
DC.B 3,2
DC.L $240,$3100A,AddressGG,0,TextAddress,0,0
DC.W 0,0,0,0,1
AddressGG DC.W 0,0,24,26,72,10,0,3,4
DC.L Border,0,0,0,AddressSInfo
DC.W 0,0,0
AddressSInfo DC.L AddressBuffer,AddressBuffer
DC.W 0,7,0,0,0,0,0,0,0,0,0,0,0,0
Border DC.W 0,0
DC.B 1,0,0,5
DC.L Lines,0
Lines DC.W -4,-2,76,-2,76,9,-4,9,-4,-2
RememberKey DC.L 0
AddressBuffer DCB.B 7,0
ImageFile DC.B 'Image.CE',0
IntName DC.B 'intuition.library',0
DosName DC.B 'dos.library',0
TextAddress DC.B 'Points to:',0
EVEN