[TUHS] Introduction

Oliver Lehmann lehmann at ans-netz.de
Tue Jul 8 00:45:20 AEST 2008

Jose R. Valverde wrote:

> Then, all I can think of is the other approach I mentioned: that the 
> original authors first wrote prf.c, had a look at the assembly generated
> and then tweaked the assembly code generated from sys*.c by hand and
> reproduced some similar patterns.

prf.c has another author than the source files I've got the problem with.
prf.c was "developed" by the guys at EAW who created WEGA. Developed means
here, they disassembled the ZEUS objects and created C files out of the
ASM listing like I do. Probably they didn't figured out the "ldl rr4,rr2"
part of the original ZEUS object (which was probably there) too and they
decided that how it is done now has the same effect.
So - you can say all sources which contain german text are created based
on ZEUS disassembled objects so they are not "original" ZEUS. all the
source files containing a "whatstring" from the version control system
are files created by me by disassembling the original ZEUS objects.

One interesting thing for example can be found in the WEGA-debug.c:

	callr	_gethex
	and	r2,#16128
	ldl	rr4,rr2
	and	r4,#32512
	ldl	|_stkseg+~L1+8|(fp),rr4

is the ASM code from the original object

What they've tryed at EAW when writing the debug.c file was:

#define UMASK	0x3f00ffffL
#define KMASK	0x7f00ffffL
kadr = (unsigned int *)((long)(gethex() & UMASK) & KMASK);

But this gets compiled into:

	callr	_gethex
	and	r2,#16128
	ldl	|_stkseg+~L1+8|(fp),rr2

which is the same because - when the AND with 16128 happend, an AND with
any higher value won't change the register - so the optimizer probably
decided to remove the and with 32512 - which is not removed in the
original object....

> Well, if I can find some time to install SystemIII for VAX on SIMH, may
> be I will be able to reproduce this, but I seriously doubt it as they
> are different architectures.

A friend of mine is working on a P8000 emulator - 8Bit is kinda done,
16bit part is "in progress" - no idea how long it will take him to
complete it since I have no circuit plans of the 16Bit part - only the
original (good documented) Firmware Sources.

When it is done and it can be released officially you can all enjoy the
feeling on working with a P8000! ;)

 Oliver Lehmann

More information about the TUHS mailing list