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
Documentation about the Vampire hardware

Vampire Myth Busting: You Can't Debug On a Vampirepage  1 2 3 

Ronnie Beck
(Apollo Team Member)
Posts 199
28 Jun 2019 08:48


This is clearly wrong.  You can debug quite easily on a Vampirised Amiga.  But this claim is repeatedly made, as seen here:

https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=40755&forum=25&start=1800&1807#824693

In this short video I show remote debugging using GCC compiled code using gdbserver on an my V500.

EXTERNAL LINK 
I think it isn't helpful to let such misconceptions remain uncorrected.  Hence the creation of the video.  As you can see, writing software for an Amiga carrying a Vampire card is just like developing for a modern Linux, windows or Mac.  It is very convenient indeed.

Also, I think the work from Stefan "bebbo" Franke is excellent and despite being WIP, he already has a very usable GCC 6.5 compiler tool kit and debugger that works with the Amiga and of course with the vampire.  I highly recommend checking it out.


Mr Niding

Posts 459
28 Jun 2019 10:07


Thanks :)

As a non-developer Im not qualified to rebutt such claims, so could you clinically explain it to the people on AW.net for example?


Steve Ferrell

Posts 424
28 Jun 2019 10:22


Ronnie Beck wrote:

  This is clearly wrong.  You can debug quite easily on a Vampirised Amiga.  But this claim is repeatedly made, as seen here:
   
    https://amigaworld.net/modules/newbb/viewtopic.php?topic_id=40755&forum=25&start=1800&1807#824693
   
    In this short video I show remote debugging using GCC compiled code using gdbserver on an my V500.
   
    EXTERNAL LINK   
    I think it isn't helpful to let such misconceptions remain uncorrected.  Hence the creation of the video.  As you can see, writing software for an Amiga carrying a Vampire card is just like developing for a modern Linux, windows or Mac.  It is very convenient indeed.
   
    Also, I think the work from Stefan "bebbo" Franke is excellent and despite being WIP, he already has a very usable GCC 6.5 compiler tool kit and debugger that works with the Amiga and of course with the vampire.  I highly recommend checking it out.
 

 
Over at AW, and on any forum which hasn't banned him yet, Kolla just keeps parroting the same lies and unfortunately he has a handful of supporters who keep encouraging him.  I think that earlier in the thread that you referenced he was still claiming that the Vampire's FPU was inaccurate.  He also continues to claim that the Vampire is useless for debugging because developers can't access the MMU.  I honestly think he suffers from some form of mental illness.  I would guess that well over 90% of all classic Amiga software was written and debugged on stock Amigas that had no MMU's or FPU's.
 


Mr Niding

Posts 459
28 Jun 2019 12:30


@Steve

Regardless how xyz people approach a topic, if Ronnie (or others) clinically demostrates features that proves its functionality, then any counterarguments will be dismissed by what I think is the silent majority.
We are all 30++ years old, and as such able (most of us) to see noise and accept evidence when presented to us, even if we dont fully understand the coding/OS level workings.

So instead of getting all worked up over negativity, we should just stick to presenting data and videos demostrating what the core and Vampire can do.


Kamelito Loveless

Posts 260
28 Jun 2019 17:05


>I would guess that well over 90% of all classic Amiga software was written and >debugged on stock Amigas that had no MMU's or FPU's.
   
Well, Carolyn S. Head of CATS wrote that every developers should use an MMU capable Amiga to avoid bugs in production using Enforcer and Mungwall so I think that 90% is false. These are vital tools and the developer docs state that you should use them and show you how.


Steve Ferrell

Posts 424
28 Jun 2019 17:09


Mr Niding wrote:

@Steve
 
  Regardless how xyz people approach a topic, if Ronnie (or others) clinically demostrates features that proves its functionality, then any counterarguments will be dismissed by what I think is the silent majority.
  We are all 30++ years old, and as such able (most of us) to see noise and accept evidence when presented to us, even if we dont fully understand the coding/OS level workings.
 
  So instead of getting all worked up over negativity, we should just stick to presenting data and videos demostrating what the core and Vampire can do.

The proof exists in the huge library of classic Amiga software developed so many years ago on non-MMU equipped Amigas. 

Going to the extreme of producing videos of debuggers being used on the Vampire, while appreciated by some, is just overkill and won't convince Kolla or his supporters that apps can be developed and debugged on a Vampire.  He has his beliefs and facts nor video evidence will convince him otherwise.


Kamelito Loveless

Posts 260
28 Jun 2019 17:23


I don’t see why you could not debug under the Vampire 68000 to 68060 if supported by the compiler, for now there is no compiler generating all the specifics mnemonics of the 68080 including AMMX.It seems that Gunnar is helping Beebo to achieve this goal which is awesome, but for now it is not clear to me if supporting all 68080 is planned and I’ve no clue on the milestone.


Steve Ferrell

Posts 424
28 Jun 2019 17:39


Kamelito Loveless wrote:

  >I would guess that well over 90% of all classic Amiga software was written and >debugged on stock Amigas that had no MMU's or FPU's.
     
  Well, Carolyn S. Head of CATS wrote that every developers should use an MMU capable Amiga to avoid bugs in production using Enforcer and Mungwall so I think that 90% is false. These are vital tools and the developer docs state that you should use them and show you how.
 

 
That's really funny because at least 4 generations of the first Amigas didn't have MMU's and therefore couldn't even use Enforcer or MungWall and app developers got along just fine.
 
Carolyn's writing from 30+ years ago aren't relevant today.  Serious Amiga developers will use a cross-compiler/debugger on a Linux or Windows system. Amateur developers today will create apps on their Vampires or classic Amigas just as developers did so many years ago on Amigas lacking MMU's and FPU's.
 
You do realize that neither Enforcer nor MungWall will run on a Windows PC, right? Nor are they needed on a PC.  I think that part of the misunderstandings going on here are that there are those who don't understand what a cross-compiler really is and what it does.  On my Windows system, the cross-compiler is a native Windows application that creates 68K binaries instead of x86_64 binaries.  I can do all my coding and debugging on that Windows system and then move the binary to a real Vampire or a real Amiga for testing, or I can have the cross-compiler generate said binaries in a folder that is shared with a WinUAE virtual Amiga and test it there.
 
Coding on a real, classic Amiga equipped with an MMU and running MungWall or Enforcer should be a developer's tools of last resort when when we have much better tools from the 21st century.  But if you enjoy your retro-hobby to the point of using period tools and period hardware to develop your apps, then I say go for it.  It will be a long and painful experience but as the saying goes, to each his own.


Wawa T

Posts 695
28 Jun 2019 17:45


@ronnie beck
interesting setup. perhaps i should look at installing such ide and getting gdb to work with vampire prefferably over serial, but if it works over lan id love to know details how to set it up. particularly to debug aros.



Roy Gillotti

Posts 517
28 Jun 2019 18:07


wawa t wrote:

  @ronnie beck
  interesting setup. perhaps i should look at installing such ide and getting gdb to work with vampire prefferably over serial, but if it works over lan id love to know details how to set it up. particularly to debug aros.
 
 

  I'm using telnet to my Linux box and copying my compiled files over a Samba share on my linux box.


Wawa T

Posts 695
28 Jun 2019 19:21


ah i have forgot grond/nixus left me his wifi pcmcia card. might look at what driver and setup it needs to get put into service, however since its mostly still low level stuff to be tested lan might be still out of question.
however might take look at eclipse anyway.



Kamelito Loveless

Posts 260
28 Jun 2019 19:26


Don't know if it was the first but the A2620 is from 1988. I know perfectly what cross development is. Cross development and enforcer/mungwall... are complementary to me. You could cross compile debug and once done you could run your program on the target system using enforcer etc. Is there static analysis tool in your setup?


Renee Cousins
(Apollo Team Member)
Posts 142
28 Jun 2019 19:30


Cool, Ronnie. Can this also catch CPU exceptions, bad pointers and watch variable reads and writes? Would I be able to find a bug in some static library that I don't have the source for?


A1200 Coder

Posts 74
28 Jun 2019 19:41


A problem with MMU coding on Amiga is that there is hardly any documentation on MMU programming, besides Motorola's technical manuals, which don't give much hints on how to actually handle the mmu on the Amiga.

I tried once, years ago, to set up a pagetable for 68030 mmu, that would protect own code section from writes and only leave selected areas open for both read/write by CPU (like screen memory, variable space) but the code always failed with a bus error on startup. I also shut down the OS with all interrupts, so it would have been a nice environment, any illegal writes by CPU would be caught right away in my exception handler and program would be terminated with a return back to OS.

Another problem is of course that 68030/68040/68060 and now also 68080 have all different MMUs, and each need different code to handle the MMU.


Kamelito Loveless

Posts 260
28 Jun 2019 19:57


Mike Sinz former CBM Engineer released the source code of Enforcer and others tools so it can be adapted for the Vampire.
You could also learn from them how to program the MMU if you wish too even if just for eductionnal purposes.

EXTERNAL LINK 


Thellier Alain

Posts 141
28 Jun 2019 21:04


If it is remote debugging then you dont debug on a Vampire but on a PC :-p
This is fine for me, I have nom problems with that. Me I am using winuae for my 68k compiling or cygwin x86 for my Amiga NG compilations

Old programs may have been coded without Enforcer but may also have non visible bugs.
I have enforcer that run all the time in WinUAE and sometime it alert about bad accesses from old programs/tools

Anyway I am sure that we will be able to code Nice stuffs for the Vampire one way or another




Steve Ferrell

Posts 424
28 Jun 2019 21:08


Kamelito Loveless wrote:

Don't know if it was the first but the A2620 is from 1988. I know perfectly what cross development is. Cross development and enforcer/mungwall... are complementary to me. You could cross compile debug and once done you could run your program on the target system using enforcer etc. Is there static analysis tool in your setup?

Sorry, I didn't mean to imply that you didn't know what a cross-compiler is/does but there are quite a few folks here who don't.  I use AmiDevC++ and unfortunately it doesn't support static analysis, or if I does, I haven't found out how to enable it.  It does support dynamic analysis.
EXTERNAL LINK 
MMU enabled debugging tools are helpful when dynamically debugging on a classic system, but they certainly aren't a necessity, and if I crash my virtual Amiga under dynamic analysis it's back up and running in seconds. I wrote software for years on MMU-less Amigas until I could afford an 030 accelerator card in 1994.  But by then, the Amiga was on life support and I and many other coders moved on to platforms that were still alive and healthy.  I regained an interest in Amiga coding again when the Vampire was released and decided to jump back into Amiga coding a couple years ago by updating a vector plotting library, using period tools on my real A1200. See: EXTERNAL LINK  I did this to see how feasible/painful it would be to step back in time.  I used SAS/Lattice C ver. 6 and didn't use Enforcer nor MungWall at all.  I performed all my testing dynamically without any systems crashes.  The only problem I encountered is an old one that's tied to the OS itself....memory fragmentation, and even that was rare nor was it catastrophic.  Fixed with a quick reboot. My biggest complaint was the speed, or lack of it.  Building the PLPLOT library literally took 20-30 minutes on my accelerated A1200 whereas on a PC, the same version took seconds to compile.  The Vampire should be several orders of magnitude faster than my trusty A1200 so using it to code and debug should be a fairly positive experience unless you're messing around with OS internals.


Renee Cousins
(Apollo Team Member)
Posts 142
28 Jun 2019 21:58


A1200 coder wrote:

A problem with MMU coding on Amiga is that there is hardly any documentation on MMU programming, besides Motorola's technical manuals, which don't give much hints on how to actually handle the mmu on the Amiga.

I would not try to poke an MMU directly. There's already a clean implementation for AmigaOS that makes programming the MMU quite painless, faster and a lot more stable.

EXTERNAL LINK 


Renee Cousins
(Apollo Team Member)
Posts 142
28 Jun 2019 21:59


thellier alain wrote:

If it is remote debugging then you dont debug on a Vampire but on a PC :-p

This is not possible with AMMX though, is it.



Samuel Crow

Posts 424
29 Jun 2019 01:38


Is there still no documentation on the memory protection unit?  That was supposed to be implemented around Gold 2.0 core but the only person that seems to know anything about it is Gunnar himself.

posts 41page  1 2 3