diff --git a/com.wudsn.ide.ref/PAS/Atari8/MP/.gitignore b/com.wudsn.ide.ref/PAS/Atari8/MP/.gitignore new file mode 100644 index 00000000..344ec739 --- /dev/null +++ b/com.wudsn.ide.ref/PAS/Atari8/MP/.gitignore @@ -0,0 +1 @@ +/Hello.xex diff --git a/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.bat b/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.bat new file mode 100644 index 00000000..1c7274d4 --- /dev/null +++ b/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.bat @@ -0,0 +1,11 @@ +mp.exe Hello.pas +if ERRORLEVEL 1 goto :error + +mads.exe Hello.a65 -x -i:base -o:Hello.xex +if ERRORLEVEL 1 goto :error + +start Hello.xex +goto: eof + +:error +pause diff --git a/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.pas b/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.pas new file mode 100644 index 00000000..64cf8a8c --- /dev/null +++ b/com.wudsn.ide.ref/PAS/Atari8/MP/Hello.pas @@ -0,0 +1,43 @@ +Program Hello; + +// Comment +var SDLSTL: word absolute $230; +var COLPF2: byte absolute $d018; +var COLBK: byte absolute $d01a; +var NMIEN: byte absolute $d40e; + +Procedure MeinDLI; assembler; interrupt; +asm +{ pha + + lda #$38 + sta wsync + sta COLPF2 + + pla +}; +end; + + +Procedure HiThere; +Begin + Writeln('Hello World'); +End; + + +var dl_ptr: ^byte; +Begin + HiThere; + SetIntVec(iDLI, @MeinDLI); + + dl_ptr:=Pointer(SDLSTL+10); + + dl_ptr^:=dl_ptr^ or $80; + NMIEN:=$c0; + + repeat + COLBK:=14; + COLBK:=0; + until false; + +End.