diff --git a/lib/stdlib.inc b/lib/stdlib.inc index e0b08a7..62eb8fc 100644 --- a/lib/stdlib.inc +++ b/lib/stdlib.inc @@ -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; diff --git a/lib/stdlib.pas b/lib/stdlib.pas index a57ba1c..945ece9 100644 --- a/lib/stdlib.pas +++ b/lib/stdlib.pas @@ -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; diff --git a/pcomp/pcomp.pas b/pcomp/pcomp.pas index a3e4986..8936f7a 100644 --- a/pcomp/pcomp.pas +++ b/pcomp/pcomp.pas @@ -1,5 +1,5 @@ (* Copyright 2021-2024 Sebastian Lederer. See the file LICENSE.md for details *) -{$H600} +{$H384} {$S64} program PascalCompiler; {$R+} diff --git a/progs/shell.pas b/progs/shell.pas index 6423b3f..610dcfe 100644 --- a/progs/shell.pas +++ b/progs/shell.pas @@ -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; diff --git a/tridoraemu/framebuffer.go b/tridoraemu/framebuffer.go index 189100a..4586287 100644 --- a/tridoraemu/framebuffer.go +++ b/tridoraemu/framebuffer.go @@ -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 { diff --git a/tridoraemu/tridoraemu.go b/tridoraemu/tridoraemu.go index 88804b4..875c3c0 100644 --- a/tridoraemu/tridoraemu.go +++ b/tridoraemu/tridoraemu.go @@ -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 {