04 April 2017, 14:24 | #1 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
BasicDiag - bootblock diagnostic program
Hello, I want to present my bootblock diagnostic program that is checking basic hardware parts of every Amiga, equipped with floppy drive. It is recognising CPU 680x0 model (in case of 68060 also it's version: "68060" - full, "XX060" - EC/LC and revision "(rev X)"), FPU model (68881/68882/IN040/IN060), graphics chipset (OCS/ECS/AGA) and it's standard (PAL/NTSC), Kickstart version from 1.2 (33.166) to 3.1 (40.72). Older Kickstarts (0.7 beta, 1.0, 1.1) will be recognised as "Kickstart 1.x (xx.x)" and newer (43+) as "Kickstart 3.x (ver.rev)". Kickstart 3.5 (40.71) will be detected as "Kickstart 3.1 (40.71)". Also amount of available free CHIP and FAST memory (in "kB") is displaying.
All code is written in assembler (I'm using my own detection routines) and current size of diagnostic bootblock is 988 bytes. You can download source code (with Polish comments) and ADF image here: http://romanworkshop.blutu.pl/asm68/bdiag.7z Last edited by RomanWorkshop; 20 November 2018 at 19:04. |
04 April 2017, 21:00 | #2 |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
just tested a bit and found an issue with A1000 OCS kickstart 1.0.
see image attached. other quickstart (winuae) configs give good rsults #1) oh, kicks 1.2+ only? |
04 April 2017, 21:41 | #3 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
Thats why it is Kickstart 1.2+ program Reason of this is simple: older Kickstarts (0.7b, 1.0 and 1.1) have $FFFF (65535) values at address $F8000C (version) and $F8000E (revision).
|
04 April 2017, 21:54 | #4 |
Registered User
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
|
ok, ic, something learned
|
05 April 2017, 05:15 | #5 |
Registered User
Join Date: Jun 2016
Location: europe
Posts: 1,039
|
Works fine on A4000/040 KS39.
BTW, you can save 10 (or 8, if you have to preserve d2) bytes in the $f8000c/$f8000e code by using subs instead of cmps: moveq #33,d1 sub.w d1,d2 ... subq.w #34-33,d2 ... subq.w #36-34,d2 ... subq.w #37-36,d2 ... subq.w #39-37,d2 ... |
11 April 2017, 15:59 | #7 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
I was improved Kickstart version check routine. Now versions older than 1.2 are recognized as "Kickstart 1.x (xx.x)". Kickstart 3.5 (40.71) will be recognized as "Kickstart 3.1 (40.71)". Kickstarts newer than 3.1 (40.72) will be recognized as "Kickstart 3.x".
|
17 April 2017, 08:55 | #9 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
I addeded displaying amount of available free CHIP and FAST memory (in "kB"). Size of program is now 928 bytes.
|
17 April 2017, 11:15 | #10 |
Registered User
Join Date: Mar 2016
Location: Australia
Posts: 881
|
|
17 April 2017, 12:40 | #11 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
I'm using "AvailMem" function from Exec, which returning number of free bytes of selected memory type. Next I'm dividing this value by 1024 and I get memory size in "kB".
|
20 November 2018, 19:02 | #12 |
Registered User
Join Date: Dec 2016
Location: Poland
Posts: 17
|
In new version of BasicDiag 1.05 (988 bytes), I added detection of pressing mouse buttons. When you press left mouse button (LMB), Amiga continues booting from floppy (startup CLI is showing up). When you press right mouse button (RMB), Amiga is reseting.
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Emplant Diagnostic | Irl | support.Hardware | 14 | 27 June 2018 09:06 |
Diagnostic ROMS | Chucky | support.Hardware | 8 | 21 August 2016 11:55 |
Diagnostic software | TheDarkCoder | support.Hardware | 2 | 24 September 2014 14:32 |
Diagnostic application | whitebird | support.Apps | 0 | 04 September 2014 14:56 |
The Diagnostic 2.0 (Logica) rom | pucci | support.WinUAE | 1 | 07 September 2011 08:43 |
|
|