Overview Features Coding ApolloOS Performance Forum Downloads Products Contact Goto
Apollo-Computer

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 136
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 136
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 6254
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 136
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 261
30 Sep 2021 13:25


Look like an enhanced « version » of Adebug.

posts 5