Browse Source

amunits: syscall-ified PTReplay. also removed dependency on the deprecated PasToC unit

git-svn-id: trunk@30974 -
Károly Balogh 10 years ago
parent
commit
d5d84be2a2
1 changed files with 35 additions and 333 deletions
  1. 35 333
      packages/amunits/src/otherlibs/ptreplay.pas

+ 35 - 333
packages/amunits/src/otherlibs/ptreplay.pas

@@ -31,11 +31,6 @@
 
 }
 
-{$I useamigasmartlink.inc}
-{$ifdef use_amiga_smartlink}
-   {$smartlink on}
-{$endif use_amiga_smartlink}
-
 UNIT ptreplay;
 
 INTERFACE
@@ -66,32 +61,32 @@ USES Exec;
 
 VAR PTReplayBase : pLibrary;
 
-FUNCTION PTLoadModule(name : pCHAR) : pModule;
-PROCEDURE PTUnloadModule(module : pModule);
-FUNCTION PTPlay(module : pModule) : ULONG;
-FUNCTION PTStop(module : pModule) : ULONG;
-FUNCTION PTPause(module : pModule) : ULONG;
-FUNCTION PTResume(module : pModule) : ULONG;
-PROCEDURE PTFade(module : pModule; speed : BYTE);
-PROCEDURE PTSetVolume(module : pModule; vol : BYTE);
-FUNCTION PTSongPos(module : pModule) : BYTE;
-FUNCTION PTSongLen(module : pModule) : BYTE;
-FUNCTION PTSongPattern(module : pModule; Pos : WORD) : BYTE;
-FUNCTION PTPatternPos(Module : pModule) : BYTE;
-FUNCTION PTPatternData(Module : pModule; Pattern : BYTE; Row : BYTE) : POINTER;
-PROCEDURE PTInstallBits(Module : pModule; Restart : SHORTINT; NextPattern : SHORTINT; NextRow : SHORTINT; Fade : SHORTINT);
-FUNCTION PTSetupMod(ModuleFile : POINTER) : pModule;
-PROCEDURE PTFreeMod(Module : pModule);
-PROCEDURE PTStartFade(Module : pModule; speed : BYTE);
-PROCEDURE PTOnChannel(Module : pModule; Channels : SHORTINT);
-PROCEDURE PTOffChannel(Module : pModule; Channels : SHORTINT);
-PROCEDURE PTSetPos(Module : pModule; Pos : BYTE);
-PROCEDURE PTSetPri(Pri : SHORTINT);
-FUNCTION PTGetPri : SHORTINT;
-FUNCTION PTGetChan : SHORTINT;
-FUNCTION PTGetSample(Module : pModule; Nr : smallint) : pPTSample;
-
-FUNCTION PTLoadModule(name : string) : pModule;
+FUNCTION PTLoadModule(name : pCHAR location 'a0') : pModule; syscall PTReplayBase 030;
+PROCEDURE PTUnloadModule(module : pModule location 'a0'); syscall PTReplayBase 036;
+FUNCTION PTPlay(module : pModule location 'a0') : ULONG; syscall PTReplayBase 042;
+FUNCTION PTStop(module : pModule location 'a0') : ULONG; syscall PTReplayBase 048;
+FUNCTION PTPause(module : pModule location 'a0') : ULONG; syscall PTReplayBase 054;
+FUNCTION PTResume(module : pModule location 'a0') : ULONG; syscall PTReplayBase 060;
+PROCEDURE PTFade(module : pModule location 'a0'; speed : BYTE location 'd0'); syscall PTReplayBase 066;
+PROCEDURE PTSetVolume(module : pModule location 'a0'; vol : BYTE location 'd0'); syscall PTReplayBase 072;
+FUNCTION PTSongPos(module : pModule location 'a0') : BYTE; syscall PTReplayBase 078;
+FUNCTION PTSongLen(module : pModule location 'a0') : BYTE; syscall PTReplayBase 084;
+FUNCTION PTSongPattern(module : pModule location 'a0'; Pos : WORD location 'd0') : BYTE; syscall PTReplayBase 090;
+FUNCTION PTPatternPos(Module : pModule location 'a0') : BYTE; syscall PTReplayBase 096;
+FUNCTION PTPatternData(Module : pModule location 'a0'; Pattern : BYTE location 'd0'; Row : BYTE location 'd1') : POINTER; syscall PTReplayBase 102;
+PROCEDURE PTInstallBits(Module : pModule location 'a0'; Restart : SHORTINT location 'd0'; NextPattern : SHORTINT location 'd1'; NextRow : SHORTINT location 'd2'; Fade : SHORTINT location 'd3'); syscall PTReplayBase 108;
+FUNCTION PTSetupMod(ModuleFile : POINTER location 'a0') : pModule; syscall PTReplayBase 114;
+PROCEDURE PTFreeMod(Module : pModule location 'a0'); syscall PTReplayBase 120;
+PROCEDURE PTStartFade(Module : pModule location 'a0'; speed : BYTE location 'd0'); syscall PTReplayBase 126;
+PROCEDURE PTOnChannel(Module : pModule location 'a0'; Channels : SHORTINT location 'd0'); syscall PTReplayBase 132;
+PROCEDURE PTOffChannel(Module : pModule location 'a0'; Channels : SHORTINT location 'd0'); syscall PTReplayBase 138;
+PROCEDURE PTSetPos(Module : pModule location 'a0'; Pos : BYTE location 'd0'); syscall PTReplayBase 144;
+PROCEDURE PTSetPri(Pri : SHORTINT location 'd0'); syscall PTReplayBase 150;
+FUNCTION PTGetPri : SHORTINT; syscall PTReplayBase 156;
+FUNCTION PTGetChan : SHORTINT; syscall PTReplayBase 162;
+FUNCTION PTGetSample(Module : pModule location 'a0'; Nr : smallint location 'd0') : pPTSample; syscall PTReplayBase 168;
+
+FUNCTION PTLoadModule(const name : String) : pModule;
 
 {You can remove this include and use a define instead}
 {$I useautoopenlib.inc}
@@ -105,305 +100,18 @@ var
 
 IMPLEMENTATION
 
-uses
 {$ifndef dont_use_openlib}
-amsgbox,
+uses
+  amsgbox;
 {$endif dont_use_openlib}
-pastoc;
-
-FUNCTION PTLoadModule(name : pCHAR) : pModule;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L name,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -030(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE PTUnloadModule(module : pModule);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -036(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION PTPlay(module : pModule) : ULONG;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -042(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTStop(module : pModule) : ULONG;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -048(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTPause(module : pModule) : ULONG;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -054(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTResume(module : pModule) : ULONG;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -060(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE PTFade(module : pModule; speed : BYTE);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVE.L  speed,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -066(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTSetVolume(module : pModule; vol : BYTE);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVE.L  vol,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -072(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION PTSongPos(module : pModule) : BYTE;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -078(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTSongLen(module : pModule) : BYTE;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -084(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTSongPattern(module : pModule; Pos : WORD) : BYTE;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L module,A0
-        MOVE.L  Pos,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -090(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTPatternPos(Module : pModule) : BYTE;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -096(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTPatternData(Module : pModule; Pattern : BYTE; Row : BYTE) : POINTER;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  Pattern,D0
-        MOVE.L  Row,D1
-        MOVEA.L PTReplayBase,A6
-        JSR     -102(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE PTInstallBits(Module : pModule; Restart : SHORTINT; NextPattern : SHORTINT; NextRow : SHORTINT; Fade : SHORTINT);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  Restart,D0
-        MOVE.L  NextPattern,D1
-        MOVE.L  NextRow,D2
-        MOVE.L  Fade,D3
-        MOVEA.L PTReplayBase,A6
-        JSR     -108(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION PTSetupMod(ModuleFile : POINTER) : pModule;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L ModuleFile,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -114(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-PROCEDURE PTFreeMod(Module : pModule);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVEA.L PTReplayBase,A6
-        JSR     -120(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTStartFade(Module : pModule; speed : BYTE);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  speed,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -126(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTOnChannel(Module : pModule; Channels : SHORTINT);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  Channels,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -132(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTOffChannel(Module : pModule; Channels : SHORTINT);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  Channels,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -138(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTSetPos(Module : pModule; Pos : BYTE);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.L  Pos,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -144(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-PROCEDURE PTSetPri(Pri : SHORTINT);
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVE.L  Pri,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -150(A6)
-        MOVEA.L (A7)+,A6
-  END;
-END;
-
-FUNCTION PTGetPri : SHORTINT;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L PTReplayBase,A6
-        JSR     -156(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTGetChan : SHORTINT;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L PTReplayBase,A6
-        JSR     -162(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.B  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTGetSample(Module : pModule; Nr : smallint) : pPTSample;
-BEGIN
-  ASM
-        MOVE.L  A6,-(A7)
-        MOVEA.L Module,A0
-        MOVE.W  Nr,D0
-        MOVEA.L PTReplayBase,A6
-        JSR     -168(A6)
-        MOVEA.L (A7)+,A6
-        MOVE.L  D0,@RESULT
-  END;
-END;
-
-FUNCTION PTLoadModule(name : string) : pModule;
+
+
+FUNCTION PTLoadModule(const name : string) : pModule;
+var
+  s: RawByteString;
 begin
-    PTLoadModule := PTLoadModule(pas2c(name));
+  s:=name;
+  PTLoadModule := PTLoadModule(PChar(s));
 end;
 
 const
@@ -489,9 +197,3 @@ begin
 
 
 END. (* UNIT PTREPLAY *)
-
-
-
-
-
-