Compare commits

..

No commits in common. "c779cd0d3fb17238564e7bd5a336dc7a663eb9bb" and "3c8525dcca46456c726f93d518f1426888b4907f" have entirely different histories.

6 changed files with 10 additions and 45 deletions

View file

@ -240,7 +240,6 @@ procedure freadreal(var v:real;var f:file); external;
procedure openchannel(name:filenamestr; var f:file; mode:filemode; var error:integer); external;
procedure open(var f:file; name:pathnamestr; mode: filemode); external;
procedure noecho(var f:file; noecho:boolean; var old:boolean); external;
procedure nointr(var f:file; aBool:boolean; var old:boolean); external;
procedure intstr(v:integer; fieldWith:integer; var rbuf:string);
external;
@ -270,8 +269,8 @@ procedure TextDefault; external;
procedure PTerm; external; (* from runtime.s *)
procedure PExec(prgfile:pathnamestr; var args:PArgVec; argCount:integer;var error:integer); external;
procedure PExec1(prgfile:pathnamestr; arg1:string; var error:integer); external;
procedure PExec2(prgfile:pathnamestr; arg1, arg2:string; var error:integer); external;
procedure PExec2(prgfile:pathnamestr; arg1:string; var error:integer); external;
procedure PExec3(prgfile:pathnamestr; arg1, arg2:string; var error:integer); external;
function ParamStr(i:integer):string; external;
function ParamCount():integer; external;

View file

@ -2563,16 +2563,6 @@ begin
end;
end;
procedure nointr(var f:file;aBool:boolean;var old:boolean);
begin
if f.typ <> IOChannel then
fileerror(f, IOInvalidOp)
else
begin
old := f.nointr;
f.nointr := nointr;
end;
end;
(*
implementation of Xorshift algorithm by George Marsaglia,
see: Marsaglia, George (July 2003).
@ -2609,7 +2599,6 @@ begin
if ord(aChar) <= ord('z') then
upcase := chr(ord(aChar) - 32)
else
upcase := aChar
else
upcase := aChar;
end;
@ -2675,14 +2664,14 @@ begin
end;
end;
procedure PExec1(prgfile:pathnamestr; arg1:string; var error:integer);
procedure PExec2(prgfile:pathnamestr; arg1:string; var error:integer);
var args:PArgVec;
begin
args[0] := arg1;
PExec(prgfile, args, 1, error);
end;
procedure PExec2(prgfile:pathnamestr; arg1, arg2:string; var error:integer);
procedure PExec3(prgfile:pathnamestr; arg1, arg2:string; var error:integer);
var args:PArgVec;
begin
args[0] := arg1;

View file

@ -1,5 +1,5 @@
(* Copyright 2021-2024 Sebastian Lederer. See the file LICENSE.md for details *)
{$H600}
{$H384}
{$S64}
program PascalCompiler;
{$R+}

View file

@ -324,7 +324,7 @@ begin
PExec(EDITORPROG, args, 3, error);
end
else
PExec1(EDITORPROG, ShellWorkFile, error);
PExec2(EDITORPROG, ShellWorkFile, error);
writeln('PExec error ', error);
end;
@ -334,7 +334,7 @@ var filename:filenamestr;
begin
requireWorkfile;
filename := replaceExtension(ShellWorkFile, '.s');
PExec1(ASMPROG, filename, error);
PExec2(ASMPROG, filename, error);
writeln('PExec error ', error);
end;
@ -344,7 +344,7 @@ var filename:filenamestr;
begin
requireWorkfile;
filename := replaceExtension(ShellWorkFile, '.pas');
PExec2(COMPILERPROG, '-S', filename, error);
PExec3(COMPILERPROG, '-S', filename, error);
writeln('PExec error ', error);
end;
@ -354,7 +354,7 @@ var filename:filenamestr;
begin
requireWorkfile;
filename := replaceExtension(ShellWorkFile, '.pas');
PExec1(COMPILERPROG, filename, error);
PExec2(COMPILERPROG, filename, error);
writeln('PExec error ', error);
end;
@ -373,7 +373,7 @@ end;
procedure krunch;
var error:integer;
begin
PExec1(RECLAIMPROG, DefaultVolume, error);
PExec2(RECLAIMPROG, DefaultVolume, error);
writeln('PExec error ', error);
end;

View file

@ -32,7 +32,6 @@ type Framebuffer struct {
paletteSlot word
vmem [VmemWords]word
readCount int
paletteChanged bool
}
func (f *Framebuffer) initialize() {
@ -105,26 +104,6 @@ func (f *Framebuffer) readPalette() word {
return word(0)
}
func (f *Framebuffer) startFrame() {
// when the palette changes, we
// need to redraw every pixel
// to get the new colors
if f.paletteChanged {
oldRAddr := f.readAddr
oldWAddr := f.writeAddr
f.readAddr = 0
f.writeAddr = 0
for i := 0; i < VmemWords; i++ {
f.writeVmem(f.readVmem())
}
f.readAddr = oldRAddr
f.writeAddr = oldWAddr
f.paletteChanged = false
}
}
func (f *Framebuffer) writePalette(value word) {
// 4 bits per color channel
r := uint8((value & 0b111100000000) >> 8)
@ -137,7 +116,6 @@ func (f *Framebuffer) writePalette(value word) {
b = b << 4
f.palette[f.paletteSlot] = color.RGBA{r,g,b,0}
f.paletteChanged = true
}
func (f *Framebuffer) readCtl() word {

View file

@ -43,7 +43,6 @@ type Game struct{
func (g *Game) Update() error {
startTime := time.Now()
framebuffer.startFrame()
for i := 0; i < g.stepsPerFrame; i++ {
err := cpu.step()
if err != nil {