So, hier nochmal ein wenig zum Angeben:
Code:
program test;
procedure move(src, dst, count: Integer); {$ filename='move.gbasm' $};
procedure fillchar(dst: Integer; chr: byte; count: Integer); {$ filename='fillchar.gbasm' $};
procedure waitforvblank; {$ filename='waitforvblank.gbasm' $};
function buttonstate: Integer; {$ filename='buttons.gbasm' $};
procedure rs232send(b: Char); {$ filename='rs232_send.gbasm' $};
function rs232read: Byte; {$ filename='rs232_read.gbasm' $};
procedure IntToStr(pValue, pOffset: Integer); {$ filename='inttobcd.gbasm' $};
var sec,min,hou,cnt: byte;
procedure inttimer; interrupt = 'TIMER';
begin cnt:=cnt+1; end;
procedure intvblank; interrupt = 'V-BLANK';
begin IntToStr(hou,$9883); IntToStr(min,$9886); IntToStr(sec,$9889); end;
begin
cnt:=0;
sec:=50; min:=43; hou:=19;
mem[$FFFF]:=%00000101;
mem[$FF06]:=-250;
mem[$FF07]:=4;
waitforvblank;
fillchar($9800,32,1024);
mem[$9884]:=':'; mem[$9887]:=':';
mem[$988A]:='U'; mem[$988B]:='h'; mem[$988C]:='r';
while true do
begin
if cnt = 16 then begin cnt:=0; sec:=sec+1; end;
if sec = 60 then begin sec:=0; min:=min+1; end;
if min = 60 then begin min:=0; hou:=hou+1; end;
if hou = 24 then begin hou:=0; end;
end;
end.
Folgendes Bild verdeutlicht den Sinn des Programms vlt. mehr als der Pascal-Code. Jedenfalls hab ich es mit meinem Pascal-Compiler geschrieben, wofür ich gerade einige Funktionen schreibe um das Programmieren zu vereinfachen.
Was leider noch nicht funktioniert sind Strings (wird aber bald auch unterstützt), wie man unschwer am Wort "Uhr" erkennen kann.
Ist vieleicht ne Motivation für andere Leute sich näher mit dem Gameboy zu beschäftigen, man hat hier ja leider schon etwas länger nichts mehr gehört...
Hat jemand vlt. noch ein par Ideen, was man mit dem seriellen Port so machen könnte? Ich bin noch auf der Suche nach fuchsigen Schaltungen...
Lesezeichen