| [hatari-devel] Profiler / disassembly tests for Hatari |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: Hatari Development <hatari-devel@xxxxxxxxxxxxxxxxxxx>
- Subject: [hatari-devel] Profiler / disassembly tests for Hatari
- From: Eero Tamminen <oak@xxxxxxxxxxxxxx>
- Date: Sat, 1 Nov 2025 02:17:25 +0200
- Dkim-filter: OpenDKIM Filter v2.11.0 smtp.dnamail.fi A55612113935
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=helsinkinet.fi; s=2025-03; t=1761956245; bh=04RbIHT5Vc9HqnqAIC6yyvMBiTISADfJf7TVM2z5tkM=; h=Date:To:From:Subject:From; b=Lr9fVdOhzbe2hk0q5m8t6UowHX9iohmkb3Q8QTKBqC+4+MRFc/UYTkpmCmBX+/if+ ZRHdLhcCKf+zAJIkJgIJ1CYJFs2HYnXmvXgdu5RCtv33kufScK1bwqFg9mvKfZSo7D J3gBt6VPVXQu3JNdfK4RgjGqSAQDS3wcSm7+D6T9aE9q5Cqk4KLF+ut4MzcHW429cL AAOXJyuWRdgFITi8Lt0O0doSwmYdZLL/P/SkQ8cVw99R/QwRD2isaneH2W4+nRAEfa L1//gLRxXBiQPWDuO9z//cbTeF+g+EP3ZRgPcW0aapNF1+AQv4II5Q9+NXdeQuE50M v+WncCA4fCw3A==
Hi Nicolas/Thomas,
WinUAE CPU core disassembly wrapper did not work at all (it ignored the
provided FILE*) which I've now fixed:
https://www.atari-forum.com/viewtopic.php?p=487749#p487749
This isn't the first time disassembly output causes problems for
profiling, so I though to add tests for it.
Those tests work locally now, and they also validate that symbol
handling & breakpoint chaining (used for profiling) do work. They work
by comparing disassembly output with profiling information, against
output saved to Git.
(Tests run "cyccheck.prg" from the "cycles" test, as that was
unstripped, unlike most other test binaries.)
However, I'm wondering whether disassembly outputs [1] (e.g. cycle
counts in them) would change often enough to be nuisance...
I.e. how often you'd think there will be changes to:
* This test program
* Handling of interrupts used by FakeTOS
* WinUAE CPU core disassembly output format
* 68000 & 030+MMU cycle counts
?
Note: I've written test scripts so that they save the output if it
differs i.e. test update is just "mv" + "git commit".
- Eero
[1] It's no that long as "cyccheck.prg" runs only through 188 addresses
on 68000 before calling Pterm0(). Such a small size should mean less
chance for Hatari emulation cycle changes affecting it.
(On 030 that program goes through 328 addresses though, with most of the
extra ones being NOPs. It seems to go into some error mode on 030, but
wha it does, doesn't really matter for the profiling/disasembly testing.)