* a very early aboxlib implementation

git-svn-id: trunk@1819 -
This commit is contained in:
Károly Balogh 2005-11-25 05:29:15 +00:00
parent ee18b4f6ce
commit b881329fdc
3 changed files with 57 additions and 1 deletions

1
.gitattributes vendored
View File

@ -3758,6 +3758,7 @@ rtl/macos/systhrd.inc svneol=native#text/plain
rtl/macos/sysutils.pp svneol=native#text/plain
rtl/morphos/Makefile svneol=native#text/plain
rtl/morphos/Makefile.fpc svneol=native#text/plain
rtl/morphos/aboxlib.pas -text
rtl/morphos/ahi.pas svneol=native#text/plain
rtl/morphos/asl.pas svneol=native#text/plain
rtl/morphos/classes.pp svneol=native#text/plain

View File

@ -13,7 +13,7 @@ units=$(SYSTEMUNIT) objpas macpas strings \
charset ucomplex getopts matrix \
variants types rtlconsts sysconst dateutil \
exec timer doslib utility hardware inputevent graphics layers \
intuition clipboard datatypes asl ahi get9 \
intuition aboxlib clipboard datatypes asl ahi get9 \
fpmkunit
rsts=math rtlconsts varutils typinfo variants classes sysconst dateutil fpmkunit
@ -194,8 +194,13 @@ layers$(PPUEXT) : layers.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
intuition$(PPUEXT): intuition.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT) \
inputevent$(PPUEXT) timer$(PPUEXT) layers$(PPUEXT)
aboxlib$(PPUEXT): aboxlib.pas
clipboard$(PPUEXT): clipboard.pas exec$(PPUEXT)
datatype$(PPUEXT): datatypes.pas exec$(PPUEXT) doslib$(PPUEXT) intuition$(PPUEXT) \
utility$(PPUEXT) graphics$(PPUEXT)
asl$(PPUEXT): asl.pas exec$(PPUEXT) graphics$(PPUEXT) utility$(PPUEXT)
ahi$(PPUEXT): ahi.pas exec$(PPUEXT) utility$(PPUEXT)

50
rtl/morphos/aboxlib.pas Normal file
View File

@ -0,0 +1,50 @@
{
This file is part of the Free Pascal run time library.
Copyright (c) 2005 Karoly Balogh
abox.lib implementation for MorphOS/PowerPC
MorphOS port was done on a free Pegasos II/G4 machine
provided by Genesi S.a.r.l. <www.genesi.lu>
See the file COPYING.FPC, included in this distribution,
for details about the copyright.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
**********************************************************************}
unit aboxlib;
interface
function DoMethod(obj : longword; msg : array of LongWord): longword;
function DoMethodA(obj : longword; msg1 : Pointer): longword; assembler;
implementation
function DoMethodA(obj : longword; msg1 : Pointer): longword; assembler;
asm
mflr r31
lwz r9,-4(r3)
stw r9,32(r2)
stw r4,36(r2)
stw r3,40(r2)
lwz r11,104(r2)
lwz r3,8(r9)
mtlr r11
blrl
mtlr r31
end ['R31'];
function DoMethod(obj : longword; msg : array of LongWord): longword;
begin
DoMethod:=DoMethodA(obj, @msg);
end;
end.