4-slot board UniBios 4.0 - Address Error

Joined
Nov 16, 2015
Posts
19
Hello,
I have a 4-slot board with UniBios 4.0. When starting up, the following error message is displayed;
error.jpg
I have cleaned the contacts of the cartridge and the board thoroughly, but this has not eliminated the error.
Can anyone tell from the error message where the problem might be?
Thanks a lot!
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
540
The code around that location is this
Code:
c09a3a: 3038 0108                 move.w  $108.w, D0
c09a3e: 6100 d778                 bsr     $c071b8
c09a42: 4a6d 0b36                 tst.w   ($b36,A5)
c09a46: 671c                      beq     $c09a64
c09a48: 3038 0108                 move.w  $108.w, D0
c09a4c: b06d 0b38                 cmp.w   ($b38,A5), D0
c09a50: 6706                      beq     $c09a58
c09a52: 426d 0b36                 clr.w   ($b36,A5)
c09a56: 600c                      bra     $c09a64
c09a58: 2278 010e                 movea.l $10e.w, A1
c09a5c: 3011                      move.w  (A1), D0
c09a5e: 806d 0b36                 or.w    ($b36,A5), D0
c09a62: 3280                      move.w  D0, (A1)

It looks like there is either a data or address issue accessing the cart(s). Its loading the contents of address $00010e (from the cart header) into the A1 register, then trying to access data that A1 register now points at. However the location the A1 register points at is likely an odd number, which is not valid and results in the address error exception.

I would go into MemView, then scroll so address 000110 is at the top of the screen and take a picture and post it. It should provide a bit more info on where to look.

Thanks
jim
 
Joined
Nov 16, 2015
Posts
19
Hi jim
Thanks for fast reply and support.
I also added the first addresses because everything looks empty from address 000080 onwards.
address1.jpg
 

Attachments

  • address2.jpg
    address2.jpg
    1.1 MB · Views: 4
  • address3.jpg
    address3.jpg
    991.1 KB · Views: 4
  • address4.jpg
    address4.jpg
    985 KB · Views: 4

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
540
The pictures are pointing to unibios having slot 4 active but its reading all 0xff's from the cart's P rom.

Try testing each slot individually to see if you get the same results in all slots or just slot 4. I would also check for damage caused by a leaky battery.

With it being all 0xff's I would guess some of the 74ls245s between the cpu and the cart aren't getting enabled.
 
Joined
Nov 16, 2015
Posts
19
Strangely, the cartridge is in slot 1, but I don't know why slot 4 is displayed. I will try the other slots.

I have replaced the battery and cleaned everything. The circuit board around the battery looks good.

Is there a schematic of the 4-slot board available somewhere?
 

ack

Ninja Combat Warrior
15 Year Member
Joined
Apr 9, 2009
Posts
540
Strangely, the cartridge is in slot 1, but I don't know why slot 4 is displayed. I will try the other slots.
hrm maybe its a display bug and unibios must not have any slot active.

Try doing this instead
- power on the board
- press player1 B+C+D buttons when unibios logo displays, this should take you to the hardware test screen
- select the first option, which should take you to the cross hatch
- press D to go to memory viewer

once in the memory view you can use the A button to switch slots. If a slot is empty your screen will likely just be all green.

scroll down to the 000110 address again and take a picture.
 

Razoola

Divine Hand of the UniBIOS,
Staff member
20 Year Member
Joined
Nov 12, 2002
Posts
4,662
From the exception error it seems the Bios cannot see the expected carts data as it should. Instead of getting a valid address from 0x10e, its getting 0xFFFFFFFF. As ack says, this is causing the error as its an odd value. Reading a word from memory must always be an even address.
 
  • Like
Reactions: ack

Syn

There can be only one.
10 Year Member
Joined
Jan 21, 2009
Posts
9,091
From the exception error it seems the Bios cannot see the expected carts data as it should. Instead of getting a valid address from 0x10e, its getting 0xFFFFFFFF. As ack says, this is causing the error as its an odd value. Reading a word from memory must always be an even address.
How are you, man?
 
Top