* DClockAux.asm ************************************************************ * * DClockAux.asm --------- Assembly language sub-routines for * DClock-Handler. * * Author ---------------- Olaf 'Olsen' Barthel, MXM * Brabeckstrasse 35 * D-3000 Hannover 71 * * Federal Republic of Germany * * This program truly is in the PUBLIC DOMAIN. Written on a cold * and damp September evening, hoping the next morning would be * better. * * Compiled using Aztec C 5.0a, CygnusEd Professional 2 & ARexx. * **************************************************************************** SECTION DClockAux,CODE ; Imported symbols XREF _ModifiedDisplayBeep XREF _ModifiedCloseWBench XREF _OldCloseWBench XREF _OldDisplayBeep ; Library reference XREF _LVORawDoFmt ; Exported symbols XDEF _NewDisplayBeep XDEF _NewCloseWBench XDEF _Format *------------------------------------------------------------------------------ DS.L 0 _NewDisplayBeep:MOVEM.L D2-D7/A0-A6,-(SP) ; Save most registers JSR _geta4# ; Tickle the base register JSR _ModifiedDisplayBeep ; Call our magic creation MOVEM.L (SP)+,D2-D7/A0-A6 ; Restore registers RTS *------------------------------------------------------------------------------ _NewCloseWBench:MOVEM.L D2-D7/A2-A6,-(SP) ; Save most registers JSR _geta4# ; Tickle the base register JSR _ModifiedCloseWBench ; Call our magic creation MOVE.L _OldCloseWBench,A1 ; Remember old routine MOVEM.L (SP)+,D2-D7/A2-A6 ; Restore registers JMP (A1) ; Jump to old routine... *------------------------------------------------------------------------------ _Format: MOVEM.L A2/A3/A6,-(SP) MOVE.L 4+12(SP),A3 ; Destination string MOVE.L 8+12(SP),A0 ; Format string LEA 12+12(SP),A1 ; Arguments (stack) LEA stuffchar(PC),A2 ; Formatting routine MOVEA.L 4,A6 ; ExecBase JSR _LVORawDoFmt(A6) ; Format it MOVEM.L (SP)+,A2/A3/A6 ; Restore registers RTS stuffchar: MOVE.B D0,(A3)+ ; Puts a character into the RTS ; char buffer. *------------------------------------------------------------------------------ END