Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Debugger Thoughts

Tommo Noorduin

Posts 132
27 Sep 2021 13:10




EXTERNAL LINK  68080_debug_layout_1280x720.png 1280*720 39kb

I was wondering how a V4 debug screen could look like.

The 68080 is a big one.
The red colors is V , black is what other 680x0 can have.

B is the extended 8..15 address registers so i would keep them close to A.
D and E are data. but E can also be float, so E close to FP registers and also D.
I like memory to be long repeated, but quad repeated is also handy with the new posibilities.
Central could be a disassembled view.

To view all of this a big screen would be good, i am thinking of 1280x720.
2 or 3 bitplanes would be enoughto keep memorie consumption low.

A view where the address pointers point to direct behind it is handy.
Other memorie should be closeby.

The data presented in ascii right behind data registers. But i would also like a bit view.
A bitview could be done by placing 1pixel-standing-lines close together.
Maybe even in a very light red/green/blue tint to show 16bit color seperation.
This light red/green/blue tint could also be applyed to 24bit color for normal (ascii-hex) view.
Float viewable as exponent 7.742-E4 but friendly 1743.632 would be nice if it fits the range.

After each step it would be nice to see a slight highlight to see what is changed vs the previous step.
On this picture it is a light blue background as example.

I have no knowledge about the amiga hardware yet, but what i first can try is make a very simple one instruction disassember.

I am thinking that other people more familiar could use it.
To make human-sensible text of a memorie lokation with 68080 instructions.
So they could try something out.

plan is:
-it only needs 1 input value, a memorie lokation

let's call it DIS_THIS. (disasemble this instruction)
call it like this:
    lea  code,a0          ; memorie lokation to look at
    bsr  DIS_THIS          ; where A0 points to
    your_printing_routine  ; this is your code that prints the first instruction
    bsr  DIS_THIS
    your_printing_routine  ; this is the next instruction you print

your printing routine looks inside the called routine.

    lea  DIS_THIS,(a0) ;

The null terminated string is at 4(a0)
And a word value of the lenght is right before it.

example1:
    lea    4(a0),a1
lp:
    move.b (a1)+,(a4)+ ;copy null terminated string
    bne.s  lp

example2:
    lea    4(a0),a1
    move.w -2(a1),d0 ;number of characters
    subq.w #1,d0
lp:
    move  (a1)+,(a4)+ ;string copy
    dbra  lp

In the picture you can find '3 Memorie'.
That has a working example of a result.




Tommo Noorduin

Posts 132
27 Sep 2021 13:11


some goals for now:
-use only a0..3 d0..3
-68020+ to decode.
-PC-relative at later stage.
-first easy most used instructions (no outer displacement stuff)
-1 block of text for people that want to change things.
  ('MOVE' > 'Movee_it') or ( operand_seperator ',' > '/' )
  so MOVE.W 4(A3,D2),D0  becomes Movee_it.W 4(A3,D2)/D0
  (it needs to be recompiled after that)
-1 block of usefull info that can be used or completly ignored
-only pc related can be calculated, because there is no way getting the values of used registers.
-a0 will be pointed to the next instruction.
-version for C and Basic users: push value to stack and return in D0
-free sourcecode, easy to read.

well...  just a concept, i have some lines written, but it could be to complex for my simpel mind to work out.




Gunnar von Boehn
(Apollo Team Member)
Posts 6197
27 Sep 2021 13:23


Hi Tommo,

very nice idea and proposal. Are you also online on our Discord Channel?

I would like to point out the Meeku is also working on a Debugger.
If you are a team work guy, then maybe it would make sense for you to brainstorm together with Meeku?

Cheers
Gunnar


Tommo Noorduin

Posts 132
27 Sep 2021 14:59


Thank you, nice pointing to me to Meeku.

sidestep.
Discord is not making it easy for me using TOR, for now i am tired proving i am something called 'human' ...




Kamelito Loveless

Posts 259
30 Sep 2021 13:25


Look like an enhanced « version » of Adebug.

posts 5