testing bochs

folkert <[email protected]> Thu, 27 Jul 2023 20:22:42 +0200
Newsgroups gmane.comp.emulators.bochs.devel
Message-ID <[email protected]>
Hi,

I'm working on an 8088 emulator test set.
The idea is to create a set of tests to validate a new 8088 emulator.
Altough not complete, it tests quite a bit of the instruction-set of
that processor.

I always also verify the test set against a real processor (via a
PI86) so the test should be fine. But I (still) would like to run it
against other emulators, to see if I missed anything or so.
So indeed, I would like to run it against Bochs.

The test set consists of about 6500 assembly (generated) files. They
are assembled into a .bin-file that should be loaded at 0000:0000
and then start to run either at 0000:0000 or (preferably) at
0000:0800. When it encounters a problem, it invokes HLT. If all went
well, it sets SI to $a5ee, sends $ff to i/o-port $80 and then
invokes HLT as well.
This page:
https://stackoverflow.com/questions/6142925/how-can-i-use-bochs-to-run-assembly-code
describes how to start a .bin from the command-line, so that hurdle
is taken. Yet one is left: how can I get bochs to:
- terminate when it reaches a HLT instruction
- log something when it either an i/o port is touched or anything
  else I could do from code?

Thanks.


regards

p.s. the test set is at
https://github.com/folkertvanheusden/8086-processor-emulation-validation-testset
and is released in the public domain