home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
17 Bit Software 1: Collection A
/
17Bit_Collection_A.iso
/
files
/
950.dms
/
950.adf
/
EYE
/
deb.asm
< prev
next >
Wrap
Assembly Source File
|
1993-03-09
|
7KB
|
337 lines
********************************************************************************
* Debugger for CoreEye 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 ;(libName,version)(A1,D0)
CloseLibrary EQU -414 ;(library)(A1)
AllocMem EQU -198 ;(byteSize,requirements)(D0-D1)
FreeMem EQU -210 ;(memoryBlock,byteSize)(A1,D0)
FindTask EQU -294 ;(name)(A1)
GetMsg EQU -372 ;(port)(A0)
ReplyMsg EQU -378 ;(message)(A1)
WaitPort EQU -384 ;(port)(A0)
Open EQU -30 ;(name,accessMode)(D1-D2)
Close EQU -36 ;(file)(D1)
Read EQU -42 ;(file,buffer,length)(D1-D3)
Write EQU -48 ;(file,buffer,length)(D1-D3)
Output EQU -60 ;()
Lock EQU -84 ;(name,type)(D1-D2)
UnLock EQU -90 ;(lock)(D1)
Examine EQU -102 ;(lock,fileInfoBlock)(D1-D2)
Execute EQU -222 ;(string,file,file)(D1-D3)
* stack frame map
Flags EQU -60
WhichFile EQU -59
NumberFiles EQU -58
FromFile EQU -57
ClickCounter EQU -56
ByteMode EQU -55
SaveLock EQU -52
SaveLength EQU -48
WBMessage EQU -44
PublicMem EQU -40
ChipMem EQU -36
RP2 EQU -32
WW2 EQU -28
RP1 EQU -24
WW1 EQU -20
IntBase EQU -16
GfxBase EQU -12
DosBase EQU -8
Pointer EQU -4
******************** Code ******************************************************
MOVE.L 4.W,A6
MOVE.L #20000,D0
MOVEQ #1,D1
JSR AllocMem(A6)
MOVE.L D0,MemPtr
BEQ.W ProgramReady
LEA DosName(PC),A1
MOVEQ #0,D0
JSR OpenLibrary(A6)
MOVE.L D0,A6
MOVE.L #XFile,D1
MOVE.L #1005,D2
JSR Open(A6)
MOVE.L D0,D1
MOVE.L D0,-(A7)
MOVE.L MemPtr(PC),D2
MOVE.L #20000,D3
JSR Read(A6)
MOVE.L (A7)+,D1
JSR Close(A6)
MOVE.L MemPtr(PC),A0
SearchHunkCode CMPI.L #$3E9,(A0)+
BNE.S SearchHunkCode
MOVE.L (A0)+,D0
LSL.L #2,D0
MOVE.W D0,CodeOnly
LEA 0(A0,D0.W),A1
MOVE.L A1,A2
MOVE.L A0,CodePtr
SearchHunkReloc CMPI.L #$3EC,(A1)+
BNE.S SearchHunkReloc
MOVE.L (A1)+,D1
ADDQ.W #4,A1
SUBQ.W #1,D1
MOVE.W D1,Counter+2
RebuiltReloc MOVE.L (A1)+,D2
MOVE.W D2,(A2)+
DBF D1,RebuiltReloc
SUBA.L A0,A2
MOVE.W A2,Decrunched
MOVE.L #WorkFile,D1
MOVE.L #1006,D2
JSR Open(A6)
MOVE.L D0,D1
MOVE.L D0,-(A7)
MOVE.L CodePtr(PC),D2
MOVE.W Decrunched(PC),D3
EXT.L D3
JSR Write(A6)
MOVE.L (A7)+,D1
JSR Close(A6)
MOVE.L #PowerPacker,D1
MOVEQ #0,D2
MOVEQ #0,D3
JSR Execute(A6)
MOVE.L #WorkFile,D1
MOVEQ #-2,D2
JSR Lock(A6)
MOVE.L D0,D1
MOVE.L D0,-(A7)
MOVE.L MemPtr(PC),D2
JSR Examine(A6)
MOVE.L (A7)+,D1
JSR UnLock(A6)
MOVE.L MemPtr(PC),A3
MOVE.L 124(A3),D0
SUBI.W #12,D0
MOVE.W D0,Crunched
MOVE.L #WorkFile,D1
MOVE.L #1005,D2
JSR Open(A6)
MOVE.L D0,D1
MOVE.L D0,-(A7)
MOVE.L MemPtr(PC),D2
MOVE.L #20000,D3
JSR Read(A6)
MOVE.L (A7)+,D1
JSR Close(A6)
MOVE.L MemPtr(PC),A0
ADDQ.W #4,A0
MOVE.W Crunched(PC),D0
ADDQ.W #3,D0
LEA Place(PC),A1
MoveProgram MOVE.B (A0)+,(A1)+
DBF D0,MoveProgram
MOVE.B 3(A0),Corect3+1
SUBA.L #Code,A1
MOVE.L A1,D0
BTST #1,D0
BEQ.S LWAlign
ADDQ.W #2,D0
LWAlign LEA Code(PC),A0
LEA 0(A0,D0.W),A1
MOVE.L #$3F2,(A1)+
SUBA.L #Program,A1
MOVE.W A1,AllLength
LSR.L #2,D0
MOVE.L D0,Length1
MOVE.L D0,Length2
LSL.L #2,D0
SUBI.W #16,D0
LSR.W #1,D0
SUBQ.W #1,D0
MOVE.W D0,Code+2
MOVE.W CodeOnly(PC),D0
ADDI.W #732,D0
BTST #2,D0
BEQ.S DLWAlign
ADDQ.W #4,D0
DLWAlign MOVE.L D0,Begin+6
MOVE.L D0,FreeChipMem+2
MOVE.W Decrunched(PC),Corect1+2
MOVE.W Crunched(PC),D0
ADD.W D0,Corect1+6
MOVE.W CodeOnly(PC),Corect2+2
BSR.W Code
MOVE.L #EyeFile,D1
MOVE.L #1006,D2
JSR Open(A6)
MOVE.L D0,D1
MOVE.L D0,-(A7)
MOVE.L #Program,D2
MOVE.W AllLength(PC),D3
EXT.L D3
JSR Write(A6)
MOVE.L (A7)+,D1
JSR Close(A6)
MOVE.L A6,A1
MOVE.L 4.W,A6
JSR CloseLibrary(A6)
MOVE.L MemPtr(PC),A1
MOVE.L #20000,D0
JSR FreeMem(A6)
ProgramReady MOVEQ #0,D0
RTS
MemPtr DC.L 0
CodePtr DC.L 0
CodeOnly DC.W 0
Decrunched DC.W 0
Crunched DC.W 0
AllLength DC.W 0
XFile DC.B 'x',0
WorkFile DC.B 'x.work',0
EyeFile DC.B 'Eye',0
PowerPacker DC.B 'sys:tools/pp',0
EVEN
Program DC.L $3F3,0,1,0,0
Length1 DC.L 0,$3E9
Length2 DC.L 0
Code MOVE.W #0,D0
LEA Begin(PC),A0
Decode EORI.W #$620D,(A0)+
DBF D0,Decode
Begin MOVE.L 4.W,A6
MOVE.L #0,D0
MOVEQ #2,D1
JSR AllocMem(A6)
LINK A4,#-60
MOVE.L D0,ChipMem(A4)
BEQ.W Quit
CLR.L WBMessage(A4)
LEA DosName(PC),A1
MOVEQ #0,D0
JSR OpenLibrary(A6)
MOVE.L D0,DosBase(A4)
BEQ.W FreeChipMem
SUBA.L A1,A1
JSR FindTask(A6)
MOVE.L D0,A3
TST.L 172(A3)
BEQ.S FromWB
MOVE.L DosBase(A4),A6
JSR Output(A6)
MOVE.L D0,D1
LEA Copyright(PC),A0
MOVE.L A0,D2
MOVEQ #TextLength,D3
JSR Write(A6)
MOVE.L 4.W,A6
BRA.S AfterGetMsg
FromWB LEA 92(A3),A0
JSR WaitPort(A6)
LEA 92(A3),A0
JSR GetMsg(A6)
MOVE.L D0,WBMessage(A4)
AfterGetMsg MOVE.L ChipMem(A4),A2
Corect1 LEA 0(A2),A1
LEA Place+4(PC),A0
BSR.S Decrunch
Corect2 LEA 0(A2),A0
MOVE.L A0,A3
MOVE.L A2,D0
Counter MOVE.W #0,D1
Reloc32 MOVE.W (A0)+,D2
ADD.L D0,0(A2,D2.W)
DBF D1,Reloc32
MOVE.W #732/2-1,D1
ClearBuffers CLR.W (A3)+
DBF D1,ClearBuffers
JSR (A2)
MOVE.L DosBase(A4),A1
JSR CloseLibrary(A6)
FreeChipMem MOVE.L #0,D0
MOVE.L ChipMem(A4),A1
JSR FreeMem(A6)
MOVE.L WBMessage(A4),D5
BEQ.S Quit
MOVE.L D5,A1
JSR ReplyMsg(A6)
Quit UNLK A4
MOVEQ #0,D0
RTS
Decrunch LEA Place(PC),A5
Corect3 MOVEQ #0,D1
MOVE.L -(A0),D5
LSR.L D1,D5
MOVEQ #32,D7
SUB.B D1,D7
Dec1 BSR.S Dec9
TST.B D1
BNE.S Dec4
MOVEQ #0,D2
Dec2 MOVEQ #2,D0
BSR.S Dec10
ADD.W D1,D2
CMPI.W #3,D1
BEQ.S Dec2
Dec3 MOVEQ #8,D0
BSR.S Dec10
MOVE.B D1,-(A1)
DBF D2,Dec3
CMPA.L A1,A2
BCS.S Dec4
RTS
Dec4 MOVEQ #2,D0
BSR.S Dec10
MOVEQ #0,D0
MOVE.B 0(A5,D1.W),D0
MOVE.L D0,D4
MOVE.W D1,D2
ADDQ.W #1,D2
CMPI.W #4,D2
BNE.S Dec7
BSR.S Dec9
MOVE.L D4,D0
TST.B D1
BNE.S Dec5
MOVEQ #7,D0
Dec5 BSR.S Dec10
MOVE.W D1,D4
Dec6 MOVEQ #3,D0
BSR.S Dec10
ADD.W D1,D2
CMPI.W #7,D1
BEQ.S Dec6
BRA.S Dec8
Dec7 BSR.S Dec10
MOVE.W D1,D4
Dec8 MOVE.B 0(A1,D4.W),-(A1)
DBF D2,Dec8
CMPA.L A1,A2
BCS.S Dec1
RTS
Dec9 MOVEQ #1,D0
Dec10 MOVEQ #0,D1
SUBQ.W #1,D0
Dec11 LSR.L #1,D5
ROXL.L #1,D1
SUBQ.B #1,D7
BNE.S Dec12
MOVEQ #32,D7
MOVE.L -(A0),D5
Dec12 DBF D0,Dec11
RTS
Copyright DC.B $9B,'1;33;3430mCoreEye',$9B,'0;31;40m '
DC.B 'Version 1.00 Copyright ',$A9,' 14.09.1990 by MC68',10
TextLength EQU *-Copyright
DosName DC.B 'dos.library',0
EVEN
Place DCB.B 10000,0