English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 24 February 2018, 09:30   #101
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
Quote:
Originally Posted by bloodline View Post
If I've read this correctly, intuition...
yes, and layers. hmm, AmigaErrors lists those aswell,
but also some other interpretations:
Code:
* CPU traps (exceptions) are defined by the 680x0 CPU and not by
the Amiga OS. There are 256 vectors for CPU exceptions: the lower
64 are hardware defined, the upper 192 are user-definable interrupt
vectors. 

Specific CPU traps you might see in a Guru are:

 00000002  Bus error
 00000003  Address error
 00000004  Illegal instruction
 00000005  Divide by zero
 00000006  CHK instruction
 00000007  TRAPV instruction
 00000008  Privilege violation
 00000009  Trace
 0000000A  Op Code 1010
 0000000B  Op Code 1111
emufan is offline  
Old 24 February 2018, 09:43   #102
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by emufan View Post
yes, and layers. hmm, AmigaErrors lists those aswell,
but also some other interpretations:
Hmmm, I'm surprised about layers complaining... I thought, that used graphics.library not hitting the hardware directly... perhaps this could be highlighting something wrong with my Blitter code.

Quote:
Code:
* CPU traps (exceptions) are defined by the 680x0 CPU and not by
the Amiga OS. There are 256 vectors for CPU exceptions: the lower
64 are hardware defined, the upper 192 are user-definable interrupt
vectors. 

Specific CPU traps you might see in a Guru are:

 00000002  Bus error
 00000003  Address error
 00000004  Illegal instruction
 00000005  Divide by zero
 00000006  CHK instruction
 00000007  TRAPV instruction
 00000008  Privilege violation
 00000009  Trace
 0000000A  Op Code 1010
 0000000B  Op Code 1111
I think I can catch these directly in the CPU emulation code.
bloodline is offline  
Old 24 February 2018, 09:59   #103
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
layers is 03, is in one of your guru images.
I have no clue at all, maybe some expert can be of more help
emufan is offline  
Old 24 February 2018, 10:18   #104
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by emufan View Post
layers is 03, is in one of your guru images.
I have no clue at all, maybe some expert can be of more help
Here is a video of a boot...

[ Show youtube player ]

-edit -better video below:

[ Show youtube player ]

The screen corruption suggests perhaps my copper is not working right... the bitplane pointers must be off...

Last edited by bloodline; 24 February 2018 at 11:07.
bloodline is offline  
Old 24 February 2018, 11:26   #105
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
Quote:
Originally Posted by bloodline View Post
Here is a video of a boot...
ah, ok. thats already the workbench, distorted.
so it's possibly the intuition/layers libs and not an early cpu exception.
nice work, but that's beyond my abilities to give some help
emufan is offline  
Old 24 February 2018, 19:38   #106
kolla
Banned
 
Join Date: Nov 2007
Location: Trondheim, Norway
Posts: 1,893
The simplicity of the Amiga floppy drive also makes the floppy port great for alternative uses, such as the AmigaLink '"ethernet"' adapter (heavy quotes, it uses 10base2 coax as a... ehm... "bus", and not as radio ether). More hardware hackers should make use of it for peripherals, as it's a port that exists on just about every Amiga model (except CD32)

Hm, as owner of a pair AmigaLink adapters I should probably put an effort into replicating them.
kolla is offline  
Old 24 February 2018, 20:56   #107
Gorf
Registered User
 
Gorf's Avatar
 
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,295
Quote:
Originally Posted by kolla View Post
The simplicity of the Amiga floppy drive also makes the floppy port great for alternative uses, such as the AmigaLink '"ethernet"' adapter (heavy quotes, it uses 10base2 coax as a... ehm... "bus", and not as radio ether). More hardware hackers should make use of it for peripherals, as it's a port that exists on just about every Amiga model (except CD32)

Hm, as owner of a pair AmigaLink adapters I should probably put an effort into replicating them.
Do you know by any chance how the data stream is encoded there? Does it also use MFM or is it raw or some other method?
Gorf is offline  
Old 24 February 2018, 21:34   #108
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Gorf View Post
Do you know by any chance how the data stream is encoded there? Does it also use MFM or is it raw or some other method?
If it is some variant of Ethernet, then it will likely use some kind of Phase encoding.

See https://en.m.wikipedia.org/wiki/Ethernet_physical_layer

MFM is really for magnetic media.
bloodline is offline  
Old 24 February 2018, 22:21   #109
Gorf
Registered User
 
Gorf's Avatar
 
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,295
Quote:
Originally Posted by bloodline View Post
If it is some variant of Ethernet, then it will likely use some kind of Phase encoding.

See https://en.m.wikipedia.org/wiki/Ethernet_physical_layer

MFM is really for magnetic media.
yes, probably Manchester encoded as soon as the signal leaves the AmigaLink adapter to the coax, but how does it handle is the communication between floppy-port and Paula(?)/RAM?
Gorf is offline  
Old 24 February 2018, 22:30   #110
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by Gorf View Post
yes, probably Manchester encoded as soon as the signal leaves the AmigaLink adapter to the coax, but how does it handle is the communication between floppy-port and Paula(?)/RAM?
Anyway the programmer wants, Paula doesn't affect the signal at all, it's simply a direct link.
bloodline is offline  
Old 24 February 2018, 23:43   #111
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by emufan View Post
layers is 03, is in one of your guru images.
I have no clue at all, maybe some expert can be of more help
Actually now I've read the link you pasted in more detail, it appears the Guru is actually an Address error... now I need to see why...
bloodline is offline  
Old 25 February 2018, 01:58   #112
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Two possible causes for the address error seem to be immediately testable.

The first is that my Copper is doing something wrong and either writing garbage to the custom registers, or writing a good value at the wrong time.

The second is the possibility that the OS code relies on the blitter registers being left in a certain state after it has completed an operation, at the moment I simply clear the blitter registers once it completes.

I will assume that issue 2 is the most likely candidate and will try to fix it in the morning.
bloodline is offline  
Old 25 February 2018, 10:23   #113
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
And now we have a new Guru!!

#81000005.0000DDF0
Attached Thumbnails
Click image for larger version

Name:	guru4.png
Views:	185
Size:	31.8 KB
ID:	56990  
bloodline is offline  
Old 25 February 2018, 10:33   #114
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
Quote:
Originally Posted by bloodline View Post
And now we have a new Guru!!

#81000005.0000DDF0
now exec.library:
Code:
81000005  Corrupted memory list


#1) until your emu can use amiga guide files, i add the AmigaErrors Guru codes here,
also for future requests.
Code:
Format of a Guru number:

      SSGGEEEE AAAAAAAA

Where:
  SS is a Subsystem ID
  GG is a General Error
  EEEE is a Specific Error

  AAAAAAAA is the Address of the Task

The numbers will be displayed in Hexadecimal (0-9,A-F).

Subsystem ID Code

  00  CPU Trap

Libraries

  01  Exec
  02  Graphics
  03  Layers
  04  Intuition
  05  Math
  06  Clist
  07  DOS
  08  RAM
  09  Icon
  0A  Expansion

Devices

  10  Audio
  11  Console
  12  Gameport
  13  Keyboard
  14  Trackdisk
  15  Timer

Resource

  20  CIA
  21  Disk
  22  Misc

Other

  30  Bootstrap
  31  Workbench
  32  Diskcopy

If the first digit of the Subsystem ID is greater than 3 then it
is an unrecoverable error. Subtract 8 from ID to get Subsystem ID.

General Errors

  01  Insufficient memory
  02  MakeLibrary error
  03  OpenLibrary error
  04  OpenDevice error
  05  OpenResource error
  06  I/O Error
  07  No Signal

 Specific Alert Codes

Exec Library

 81000001  68000 exception vector checksum
 81000002  ExecBase checksum
 81000003  Library checksum error
 81000004  No memory to make library
 81000005  Corrupted memory list
 81000006  No memory for interrupt servers
 81000007  InitAPtr
 81000008  Semaphore corrupt
 81000009  Free twice
 8100000A  Bogus exception

Graphics Library

 82010001  No memory for copper display list
 82010002  No memory for copper instruction list
 82000003  Copper list overload
 82000004  Copper intermediate list overload
 82010005  No memory for copper list head
 82010006  Long frame, no memory
 82010007  Short frame, no memory
 82010008  No memory for flood fill
 82010009  Text, no memory for TmpRas
 8201000A  No memory for BltBitMap
 8201000B  Region memory
 82010030  MakeVPort
 82011234  GfxNoLCM

Layers Library

 83010001  Layers No Memory

Intuition Library

 84000001  Unknown gadget type
 04000001  Recoverable version of previous message
 84010002  No memory to create port
 84010003  Item plane allocation, no memory
 84010004  Sub allocation, no memory
 84010005  Plane allocation, no memory
 84010006  Item box top less than RelZero
 84010007  No memory to open screen
 84010008  Open screen, raster allocation, no memory
 84010009  Open sys screen, unknown type
 8401000A  Add SW gadgets, no memory
 8401000B  No memory to open window
 8400000C  Bad State Return entering intuition
 8400000D  Bad message received by IDCMP
 8400000E  Weird message causing incomprehension
 8400000F  Couldn't open the console device

DOS Library

 07010001  No memory at startup
 07000002  EndTask didn't
 07000003  Opkt failure
 07000004  Unexpected packet received
 07000005  Freevec failed
 07000006  Disk block sequence error
 07000007  Bitmap corrupt
 07000008  Key already free
 07000009  Invalid checksum
 0700000A  Disk Error
 0700000B  Key out of range
 0700000C  Bad overlay

RAM Library

 08000001  Bad segment list

Expansion Library

 0A000001  Bad Expansion Free

Trackdisk Device

 14000001  Calibrate: seek error
 14000002  Delay: Error on time wait

Timer Device

 15000001  Bad request
 15000002  Bad supply

Disk Resource

 21000001  Get unit: already has disk
 21000002  Interrupt: no active unit

Bootstrap

 30000001  Boot code returned an error

* CPU traps (exceptions) are defined by the 680x0 CPU and not by
the Amiga OS. There are 256 vectors for CPU exceptions: the lower
64 are hardware defined, the upper 192 are user-definable interrupt
vectors. 

Specific CPU traps you might see in a Guru are:

 00000002  Bus error
 00000003  Address error
 00000004  Illegal instruction
 00000005  Divide by zero
 00000006  CHK instruction
 00000007  TRAPV instruction
 00000008  Privilege violation
 00000009  Trace
 0000000A  Op Code 1010
 0000000B  Op Code 1111

Other CPU traps include autovectors for different level interrupts,
TRAP instruction vectors and reserved traps.
emufan is offline  
Old 25 February 2018, 11:05   #115
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by emufan View Post
now exec.library:
Code:
81000005  Corrupted memory list
Thanks for the posting! It made me wonder about adding some slow ram...

I added 1.5Meg of slow ram and... !!!BOOM!!

And we have a booted machine (notice how I haven't implemented the Blitter fill function yet...), but with a Disk Validation error... I'm wondering if Toni can assist here, what might I be doing wrong with the disk DMA?

You won't believe how excited I am to have got this far

-Edit- Just over a month's worth of work, I think I will try and get sprite 0 working now (give the floppy drive a rest, until someone can give me some more pointers... perhaps my blitter code is still not quite right) and start feeding Denise with some mouse data... also attached is a fresh Mac build (you'll need the raw disk image i posed last time, or create you own).

Video of the booting... I clearly have quite a few ram errors somewhere

[ Show youtube player ]
Attached Thumbnails
Click image for larger version

Name:	bootscreen15.png
Views:	334
Size:	32.4 KB
ID:	56991  

Last edited by bloodline; 01 March 2018 at 15:57.
bloodline is offline  
Old 25 February 2018, 13:55   #116
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
nice one
I like the OSD gadgets you added, the rotating thing and the LEDs
emufan is offline  
Old 25 February 2018, 14:50   #117
bloodline
Registered User
 
bloodline's Avatar
 
Join Date: Jan 2017
Location: London, UK
Posts: 433
Quote:
Originally Posted by emufan View Post
nice one
I like the OSD gadgets you added, the rotating thing and the LEDs
The "rotating thing" shows the current position of the disk, and the little white dot on it shows the position of the disk head. This was originally so I could debug, but it is quite fun to watch.

-edit- with the Amiga, you have to actually simulate a physical disk, so I thought that I may as well turn that Simulation into an animation

Last edited by bloodline; 25 February 2018 at 15:09.
bloodline is offline  
Old 25 February 2018, 17:38   #118
emufan
Registered User
 
Join Date: Feb 2012
Location: #DrainTheSwamp
Posts: 4,545
oh, yes, a disk, makes sense
emufan is offline  
Old 25 February 2018, 19:27   #119
Locutus
Registered User
 
Join Date: Jul 2014
Location: Finland
Posts: 1,178
Quote:
Originally Posted by bloodline View Post
The "rotating thing" shows the current position of the disk, and the little white dot on it shows the position of the disk head. This was originally so I could debug, but it is quite fun to watch.

-edit- with the Amiga, you have to actually simulate a physical disk, so I thought that I may as well turn that Simulation into an animation
Total killer feature :-D

Toni: you are far behind now!
Locutus is offline  
Old 26 February 2018, 10:38   #120
hooverphonique
ex. demoscener "Bigmama"
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 1,624
Quote:
Originally Posted by bloodline View Post
Thanks for the posting! It made me wonder about adding some slow ram...

I added 1.5Meg of slow ram and... !!!BOOM!!
You are probably already aware of this, but the above smells like you have some memory corruption issue that manifests itself differently when having slow fast compared to chip ram only..

Quote:
Originally Posted by bloodline View Post
Video of the booting... I clearly have quite a few ram errors somewhere
[ Show youtube player ]
Awesome!
hooverphonique is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
Amiga emulator for iOS steviebwoy support.OtherUAE 35 15 November 2014 10:14
Amiga emulator for a PSP? Vars191 support.OtherUAE 1 09 May 2010 02:08
Frederic's Emulator inside and Emulator thread Fred the Fop Retrogaming General Discussion 22 09 March 2006 07:31
ADF Files -> Amiga(amiga with dos Emulator) Schattenmeister support.Hardware 8 14 October 2003 00:10
Which Amiga emulator is best? Tim Janssen Amiga scene 45 15 February 2002 19:52

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 01:01.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.23843 seconds with 14 queries