Re: UMDK manufacturing, part 2: Software
Posted: Mon Nov 23, 2015 7:50 pm
edited:continue reading
Sega Megadrive/Genesis development
http://gendev.spritesmind.net/forum/
Code: Select all
$ cd ${HOME}/20150315/makestuff/hdlmake/apps/makestuff/umdkv2/gdb-bridge
$ (make deps 2>&1) > build.log
Code: Select all
$ cd ${HOME}
$ loader -t trace.bin -x 2
UMDKv2 Loader Copyright (C) 2014 Chris McClelland
Putting MD in reset...
Releasing MD from reset...
Dumping execution trace to trace.bin
................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................^C..............................................................................................................................................................................................................................................................................................................
Caught SIGINT, quitting...
$ dd if=/dev/zero of=fubar.bin bs=1024 count=64
64+0 records in
64+0 records out
65536 bytes (66 kB) copied, 0.000408051 s, 161 MB/s
$ logread fubar.bin trace.bin | head -10000 > trace.log
Possibly. I'm no expert with this kind of thing. What I will say is that Minty has successfully tested his UMDK cart on a European MD1, and I've tested my carts with a European MD2. You could try commenting out the "move.l #0x53454741, 0xA14000" line and re-running the build steps to generate firmware.bin, and then use spi-talk.xsvf to write the updated firmware to the flash.Montserrat wrote:um....was looking to TMSS license code...may be its something related to this.
No, please upload build.log and trace.log, not trace.bin.Burbruee wrote:Here's my trace: (dns updating atm, should work in 1 hour or so from when I make this post..)
http://dump.ettfyrtatre.se/trace_bin.zip
It's actually trace.log, I just named it wrong.prophet36 wrote:No, please upload build.log and trace.log, not trace.bin.Burbruee wrote:Here's my trace: (dns updating atm, should work in 1 hour or so from when I make this post..)
http://dump.ettfyrtatre.se/trace_bin.zip
Fair enough. Next problem is:Burbruee wrote:It's actually trace.log, I just named it wrong.
Code: Select all
$ ping dump.ettfyrtatre.se
ping: unknown host dump.ettfyrtatre.se
OK, here's a comparison between your (dysfunctional) trace and my (functional) trace:Burbruee wrote:Here's my trace
Code: Select all
Prophet36: | Burbruee:
---------------------|---------------------
0 C RD 000000 00FF | 0 C RD 000000 0000
38 C RD 000002 FE00 | 38 C RD 000002 FE00
64 C RD 000004 0042 | 63 C RD 000004 0042
89 C RD 000006 0200 | 88 C RD 000006 0200
114 C RD 420200 46FC | 113 C RD 420200 0200
152 C RD 420202 2700 | 151 C RD 420202 2700
177 C RD 420204 4AB9 | 176 C RD 420204 4AB9
228 C RD 420204 4AB9 | 202 C RD 420206 00A1
253 C RD 420206 00A1 | 227 C RD 420208 00A1
278 C RD 420208 0008 | 252 C RD 42020A 6606
304 C RD 42020A 6606 | 361 C WB 00FDFE 020A
342 C RD A10008 0000 | 387 C WB 00FDFA 2714
367 C RD A1000A 0000 | 412 C WB 00FDFC 0042
379 C RD 42020C 4A79 | 437 C WB 00FDF8 4AB9
430 C RD 42020E 00A1 | 462 C WB 00FDF6 00A1
455 C RD 420210 000C | 488 C WB 00FDF2 4AB5
Code: Select all
cd ${HOME}
wget -q http://www.swaton.ukfsn.org/old-umdkv2/sonic2.bin
loader -x 0
loader -w sonic2.bin:0 -x 1 -t trace.bin
logread sonic2.bin trace.bin | head -10000 > trace.log
Oh, this is very strange that the clock speed would be different! It's not an NTSC-machine at all, it's a stock PAL MD1. And yes I did the SDRAM test and there was no difference when comparing the two files, I just re-ran all tests and it reads back fine.prophet36 wrote:Notice that the timestamps are similar; your clock speed seems to be slightly faster than mine (remember that these timestamps are taken from the UMDK's 48MHz clock, meaning the time between the first and second reads is 38*1000/48 = 792ns), so I'm guessing you have an NTSC machine. Since the UMDK SDRAM controller is designed to work with the MD's fast DMA cycles, and since you ran through the SDRAM test successfully (you did, right?), it's highly unlikely that this is due to the SDRAM controller not keeping up. So my guess would be the 2nd-stage bootloader is not being read from flash correctly. I'll have a think about how to fix that.
Code: Select all
$ gordon -v 1d50:602b -t indirect:1 -w firmware.bin:0x60000
Device: Micron/Numonyx/ST M25P40
Writing 0x00000500 bytes to address 0x00060000...
.....
$
Code: Select all
$ grep firmware.bin ${HOME}/x64.log
$
Yes, if I remember correctly you were also running Arch on your machine? I had the same problem also using arch, then I opened up the x64.txt file and found this line:Grind wrote:Finally getting a chance to do this. Noticing a bit of a discrepancy in the last step: my firmware.bin is only 1280 bytes.
Nothing mentioning the file in the install log either.Code: Select all
$ gordon -v 1d50:602b -t indirect:1 -w firmware.bin:0x60000 Device: Micron/Numonyx/ST M25P40 Writing 0x00000500 bytes to address 0x00060000... ..... $
I'll retry step 1 on Ubuntu and see if it is different.Code: Select all
$ grep firmware.bin ${HOME}/x64.log $
Code: Select all
cd ../../gdb-bridge/monitor/
make
cat monitor.bin ../../m68k/menu/menu.bin > $HOME/umdkv2-bin/firmware.bin
Don't worry too much about that, I didn't really expect it to work. I'm just gathering information.Montserrat wrote:my build.log...its full of errors
That probably means the CPU is ending up trying to read from a region without auto-DTACK, or it's getting a double bus error, or it's ending up in an infinite loop in a region that does not generate any trace information (e.g the onboard RAM).Montserrat wrote:trace log does not give me any "dots" and is generating an empty file