MAME: Tube devices

want to talk about MESS/model b/beebem/b-em/electrem/elkulator? do it here!
User avatar
hoglet
Posts: 6481
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: MAME: Tube devices

Postby hoglet » Mon Nov 13, 2017 4:25 pm

Just noticed something a little strange....

Your Client ROM trace doesn't seem to match the disassembly on JGH's site for v1.00:
http://mdfs.net/Software/Tube/ARM/v100.zip

And the SHA-1 sum is different:

Code: Select all

dmb@greenhog:~$ wget http://mdfs.net/Software/Tube/ARM/Eval100.rom
dmb@greenhog:~$ sha1sum Eval100.rom
f0b184bb530615daa3fa2f557f1848be30ad3997  Eval100.rom


Where did it originate from?

It's not worth me trying to compare traces until we are running the same ROM!

Can you post it and I'll check it works in PiTubeDirect.

Dave

User avatar
hoglet
Posts: 6481
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: MAME: Tube devices

Postby hoglet » Mon Nov 13, 2017 4:34 pm

Ah, it's this one:
https://github.com/hoglet67/b-em/blob/m ... al_100.rom

Brazil version -.005 (8th August 1986)

I'm now slightly confused as to what this is exactly....

But it does seem to work OK in PiTubeDirect.

To make comparing traces easier, is there any chance you could make a new one:
- without any manual edits (yes, I know it will be big!)
- with a single *HELP and nothing else

Dave

User avatar
Pernod
Posts: 980
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK

Re: MAME: Tube devices

Postby Pernod » Mon Nov 13, 2017 5:47 pm

I didn't make any manual edits, this is what the MAME debugger produces by default. I see I can use noloop to disable loop detection.

The attached is using the same Brazil -.005 ROM, with a single *HELP. I now have 7 ROMs that all vary slightly, some more than others, and all have the same outcome.

It has to be something very subtle.
- If the ROM paging was incorrect it wouldn't start.
- If the RAM was incorrect it also wouldn't start and it even detects the correct amount.
- Maybe how the Tube is mapped from 8bit to 32bit? But wouldn't expect it to get as far as it does if this was the case.
Attachments
trace_arm005nl.zip
(963.16 KiB) Downloaded 2 times
- Nigel

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.

User avatar
hoglet
Posts: 6481
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: MAME: Tube devices

Postby hoglet » Mon Nov 13, 2017 6:08 pm

Thanks, I'll work with that trace for now.

It looks like it is actually from v100, as the reset vector jumps to 0x3001730

But that's fine, as we have a disassembly for this version.

Dave

User avatar
Pernod
Posts: 980
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK

Re: MAME: Tube devices

Postby Pernod » Mon Nov 13, 2017 7:25 pm

I tried changing how the device starts, by copying the ROM into RAM instead of paging it, and now it works. This isn't how the hardware works so I still need to find out why it failed before and fix it, but I now know where to look.

Thanks for the help, but no need to continue comparing traces.
0031.png
- Nigel

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.

User avatar
hoglet
Posts: 6481
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: MAME: Tube devices

Postby hoglet » Mon Nov 13, 2017 8:25 pm

Pernod wrote:I tried changing how the device starts, by copying the ROM into RAM instead of paging it, and now it works. This isn't how the hardware works so I still need to find out why it failed before and fix it, but I now know where to look.

Thanks for the help, but no need to continue comparing traces.

That's interesting.... because we do the same in PiTubeDirect:
https://github.com/hoglet67/PiTubeDirec ... rm2.c#L184

One thing you might like to try is setting rd/wr watch points on the tube data registers:
- 1000004
- 100000C
- 1000014
- 100001C

You should see a trace like this:

Code: Select all

Mem Wr watchpoint hit at cdf            : 1000004 = a       R1: Reset message
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = 41
Mem Wr watchpoint hit at cdf            : 1000004 = 63
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 6e
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 41
Mem Wr watchpoint hit at cdf            : 1000004 = 52
Mem Wr watchpoint hit at cdf            : 1000004 = 4d
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 53
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 63
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 6e
Mem Wr watchpoint hit at cdf            : 1000004 = 64
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 50
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 63
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 73
Mem Wr watchpoint hit at cdf            : 1000004 = 73
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at f3             : 1000004 = 34
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = 39
Mem Wr watchpoint hit at f3             : 1000004 = 36
Mem Wr watchpoint hit at cdf            : 1000004 = 4b
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 0

Mem Rd watchpoint hit at 28000bb6       : 100001c = 5       R4: Tube Release
Mem Rd watchpoint hit at 8000d86        : 100001c = 80

Mem Rd watchpoint hit at 3000d73        : 100000c = 80      R2: Reset Response - enter language ?

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       R2: OSBYTE A=&87
Mem Wr watchpoint hit at 20000d33       : 100000c = 90
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = 87

Mem Rd watchpoint hit at d73            : 100000c = d
Mem Rd watchpoint hit at d73            : 100000c = 3       Mode 3
Mem Rd watchpoint hit at d73            : 100000c = 20

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       R2: OSBYTE A=&EC
Mem Wr watchpoint hit at 20000d33       : 100000c = 14
Mem Wr watchpoint hit at 20000d33       : 100000c = eb
Mem Wr watchpoint hit at 20000d33       : 100000c = ec

Mem Rd watchpoint hit at 20000d73       : 100000c = b8
Mem Rd watchpoint hit at 20000d73       : 100000c = 0
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 2a
Mem Wr watchpoint hit at f3             : 1000004 = 7f
Mem Wr watchpoint hit at f3             : 1000004 = ab
Mem Wr watchpoint hit at f3             : 1000004 = e
Mem Wr watchpoint hit at f3             : 1000004 = 38
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 3
Mem Wr watchpoint hit at f3             : 1000004 = e
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = e0
Mem Wr watchpoint hit at f3             : 1000004 = b0
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 1
Mem Wr watchpoint hit at f3             : 1000004 = 80
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 1
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = b6
Mem Wr watchpoint hit at f3             : 1000004 = fc
Mem Wr watchpoint hit at f3             : 1000004 = 78
Mem Wr watchpoint hit at f3             : 1000004 = fc
Mem Wr watchpoint hit at f3             : 1000004 = b6
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = 17      VDU 23,255,...
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff

Mem Wr watchpoint hit at d33            : 100000c = 4       OSBYTE A=&03
Mem Wr watchpoint hit at d33            : 100000c = 0
Mem Wr watchpoint hit at d33            : 100000c = 3

Mem Rd watchpoint hit at d73            : 100000c = 14

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&D9
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = d9

Mem Rd watchpoint hit at 20000d73       : 100000c = a2
Mem Rd watchpoint hit at 20000d73       : 100000c = 0
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at d33            : 100000c = 0       OSRDCH

Mem Rd watchpoint hit at d73            : 100000c = 24
Mem Rd watchpoint hit at d73            : 100000c = 48      H

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&DA
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = ff
Mem Wr watchpoint hit at 20000d33       : 100000c = da

Mem Rd watchpoint hit at 20000d73       : 100000c = a3
Mem Rd watchpoint hit at 20000d73       : 100000c = 9
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at f3             : 1000004 = 48      OSWRCH H

Mem Wr watchpoint hit at d33            : 100000c = 0       OSRDCH

Mem Rd watchpoint hit at d73            : 100000c = 22
Mem Rd watchpoint hit at d73            : 100000c = 45      E

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&DA
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = ff
Mem Wr watchpoint hit at 20000d33       : 100000c = da

Mem Rd watchpoint hit at 20000d73       : 100000c = a3
Mem Rd watchpoint hit at 20000d73       : 100000c = 9
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at f3             : 1000004 = 45      OSWRCH E

Mem Wr watchpoint hit at d33            : 100000c = 0       OSRDCH

Mem Rd watchpoint hit at d73            : 100000c = 26
Mem Rd watchpoint hit at d73            : 100000c = 4c      L

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&DA
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = ff
Mem Wr watchpoint hit at 20000d33       : 100000c = da

Mem Rd watchpoint hit at 20000d73       : 100000c = a3
Mem Rd watchpoint hit at 20000d73       : 100000c = 9
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at f3             : 1000004 = 4c      OSWRCH L

Mem Wr watchpoint hit at d33            : 100000c = 0       OSRDCH

Mem Rd watchpoint hit at d73            : 100000c = 28
Mem Rd watchpoint hit at d73            : 100000c = 50      P

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&DA
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = ff
Mem Wr watchpoint hit at 20000d33       : 100000c = da

Mem Rd watchpoint hit at 20000d73       : 100000c = a3
Mem Rd watchpoint hit at 20000d73       : 100000c = 9
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at f3             : 1000004 = 50      OSWRCH P

Mem Wr watchpoint hit at d33            : 100000c = 0       OSRDCH

Mem Rd watchpoint hit at d73            : 100000c = 6
Mem Rd watchpoint hit at d73            : 100000c = d       <cr>

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&DA
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = ff
Mem Wr watchpoint hit at 20000d33       : 100000c = da

Mem Rd watchpoint hit at 20000d73       : 100000c = a3
Mem Rd watchpoint hit at 20000d73       : 100000c = 9
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at cdf            : 1000004 = a       Supervisor 1.00 ....
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = 53
Mem Wr watchpoint hit at cdf            : 1000004 = 75
Mem Wr watchpoint hit at cdf            : 1000004 = 70
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 76
Mem Wr watchpoint hit at cdf            : 1000004 = 69
Mem Wr watchpoint hit at cdf            : 1000004 = 73
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 31
Mem Wr watchpoint hit at cdf            : 1000004 = 2e
Mem Wr watchpoint hit at cdf            : 1000004 = 30
Mem Wr watchpoint hit at cdf            : 1000004 = 30
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 53
Mem Wr watchpoint hit at cdf            : 1000004 = 75
Mem Wr watchpoint hit at cdf            : 1000004 = 70
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 76
Mem Wr watchpoint hit at cdf            : 1000004 = 69
Mem Wr watchpoint hit at cdf            : 1000004 = 73
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d
Mem Wr watchpoint hit at cdf            : 1000004 = 45
Mem Wr watchpoint hit at cdf            : 1000004 = 78
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 63
Mem Wr watchpoint hit at cdf            : 1000004 = 75
Mem Wr watchpoint hit at cdf            : 1000004 = 74
Mem Wr watchpoint hit at cdf            : 1000004 = 69
Mem Wr watchpoint hit at cdf            : 1000004 = 76
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 76
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 72
Mem Wr watchpoint hit at cdf            : 1000004 = 73
Mem Wr watchpoint hit at cdf            : 1000004 = 69
Mem Wr watchpoint hit at cdf            : 1000004 = 6f
Mem Wr watchpoint hit at cdf            : 1000004 = 6e
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 31
Mem Wr watchpoint hit at cdf            : 1000004 = 2e
Mem Wr watchpoint hit at cdf            : 1000004 = 30
Mem Wr watchpoint hit at cdf            : 1000004 = 30
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 28
Mem Wr watchpoint hit at cdf            : 1000004 = 36
Mem Wr watchpoint hit at cdf            : 1000004 = 74
Mem Wr watchpoint hit at cdf            : 1000004 = 68
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 4a
Mem Wr watchpoint hit at cdf            : 1000004 = 75
Mem Wr watchpoint hit at cdf            : 1000004 = 6e
Mem Wr watchpoint hit at cdf            : 1000004 = 65
Mem Wr watchpoint hit at cdf            : 1000004 = 20
Mem Wr watchpoint hit at cdf            : 1000004 = 31
Mem Wr watchpoint hit at cdf            : 1000004 = 39
Mem Wr watchpoint hit at cdf            : 1000004 = 38
Mem Wr watchpoint hit at cdf            : 1000004 = 36
Mem Wr watchpoint hit at cdf            : 1000004 = 29
Mem Wr watchpoint hit at cdf            : 1000004 = a
Mem Wr watchpoint hit at cdf            : 1000004 = d

Mem Wr watchpoint hit at d33            : 100000c = 2       OSCLI
Mem Wr watchpoint hit at d5b            : 100000c = 48      H
Mem Wr watchpoint hit at d5b            : 100000c = 45      E
Mem Wr watchpoint hit at d5b            : 100000c = 4c      L
Mem Wr watchpoint hit at d5b            : 100000c = 50      P
Mem Wr watchpoint hit at 40000d5b       : 100000c = d       <cr>

Mem Rd watchpoint hit at d73            : 100000c = 7f      don't execute

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&87
Mem Wr watchpoint hit at 20000d33       : 100000c = 48
Mem Wr watchpoint hit at 20000d33       : 100000c = b4
Mem Wr watchpoint hit at 20000d33       : 100000c = 87

Mem Rd watchpoint hit at d73            : 100000c = d
Mem Rd watchpoint hit at d73            : 100000c = 3
Mem Rd watchpoint hit at d73            : 100000c = 20

Mem Wr watchpoint hit at 20000d33       : 100000c = 6       OSBYTE A=&EC
Mem Wr watchpoint hit at 20000d33       : 100000c = 14
Mem Wr watchpoint hit at 20000d33       : 100000c = eb
Mem Wr watchpoint hit at 20000d33       : 100000c = ec

Mem Rd watchpoint hit at 20000d73       : 100000c = b8
Mem Rd watchpoint hit at 20000d73       : 100000c = 0
Mem Rd watchpoint hit at 20000d73       : 100000c = 0

Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17      VDU 23,255,... as above
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 2a
Mem Wr watchpoint hit at f3             : 1000004 = 7f
Mem Wr watchpoint hit at f3             : 1000004 = ab
Mem Wr watchpoint hit at f3             : 1000004 = e
Mem Wr watchpoint hit at f3             : 1000004 = 38
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 3
Mem Wr watchpoint hit at f3             : 1000004 = e
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = e0
Mem Wr watchpoint hit at f3             : 1000004 = b0
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = ba
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = aa
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 1
Mem Wr watchpoint hit at f3             : 1000004 = 80
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 1
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at 20000cdf       : 1000004 = 17
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at f3             : 1000004 = 0
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at f3             : 1000004 = b6
Mem Wr watchpoint hit at f3             : 1000004 = fc
Mem Wr watchpoint hit at f3             : 1000004 = 78
Mem Wr watchpoint hit at f3             : 1000004 = fc
Mem Wr watchpoint hit at f3             : 1000004 = b6
Mem Wr watchpoint hit at f3             : 1000004 = 30
Mem Wr watchpoint hit at 20000cdf       : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = 17
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff
Mem Wr watchpoint hit at cdf            : 1000004 = ff

Mem Wr watchpoint hit at d33            : 100000c = 4
Mem Wr watchpoint hit at d33            : 100000c = 0
Mem Wr watchpoint hit at d33            : 100000c = 3
Mem Rd watchpoint hit at d73            : 100000c = 14
Mem Wr watchpoint hit at 20000d33       : 100000c = 6
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = 0
Mem Wr watchpoint hit at 20000d33       : 100000c = d9
Mem Rd watchpoint hit at 20000d73       : 100000c = a2
Mem Rd watchpoint hit at 20000d73       : 100000c = 0
Mem Rd watchpoint hit at 20000d73       : 100000c = 12
Mem Wr watchpoint hit at d33            : 100000c = 0

This might help you see where it's going wrong...

Dave

User avatar
Pernod
Posts: 980
Joined: Fri Jun 08, 2012 10:01 pm
Location: Croydon, UK

Re: MAME: Tube devices

Postby Pernod » Mon Nov 13, 2017 10:03 pm

It's now working with the ROM paging, yay! My problem was using 32bit handlers for the RAM, now using 8bit.

Now which ROMs are known to be good? I have 7 different versions.

Code: Select all

ROM_SYSTEM_BIOS(0, "100jgh", "Executive v1.00 (6th June 1986)")
ROMX_LOAD("Eval100.rom", CRC(e59e469d) SHA1(f0b184bb530615daa3fa2f557f1848be30ad3997) // JGH

ROM_SYSTEM_BIOS(1, "101jgh", "Executive v1.00 (14th August 1986)")
ROMX_LOAD("Eval101.rom", CRC(d6ab1a06) SHA1(3b16cd35dd1d86932499728336547e37d5222ebc) // JGH

ROM_SYSTEM_BIOS(2, "005jgh", "Brazil v-.005 (8th August 1986)")
ROMX_LOAD("Brazil005.rom", CRC(d294f888) SHA1(5b051d0afad9b46a32801aa5ef262536adf2a921)// JGH

ROM_SYSTEM_BIOS(3, "100h", "Executive v1.00 (6th June 1986)")
ROMX_LOAD("ARM Evaluation System 1.00.rom", CRC(cb29a585) SHA1(15e15c78db34cfa22a83689be0de30704b7a4c67) // huininga

ROM_SYSTEM_BIOS(4, "101h", "Executive v1.00 (14th August 1986)")
ROMX_LOAD("ARM Evaluation System 1.01.rom", CRC(cab85473) SHA1(f86bbc4894e62725b8ef22d44e7f44d37c98ac14) // huininga

ROM_SYSTEM_BIOS(5, "100b", "Executive v1.00 (6th June 1986)")
ROMX_LOAD("ARMeval_100h.rom", CRC(ed80462a) SHA1(ba33eaf1a23cfef6fc1b88aa516ca2b3693e69d9) // BeebEm/huininga
   
ROM_SYSTEM_BIOS(6, "005", "Brazil v-.005 (8th August 1986)")
ROMX_LOAD("ARMeval_100.rom", CRC(7c27c098) SHA1(abcc71cbc43489e89a87aac64e67b17daef5895a) // b-em

I've tried most of the available software on the 6 ARM discs and looks good so far. Is there anything else I should be using to give it a thorough test?
- Nigel

BBC Model B, ATPL Sidewise, Acorn Speech, 2xWatford Floppy Drives, AMX Mouse, Viglen case, etc.


Return to “emulators”

Who is online

Users browsing this forum: No registered users and 3 guests