Deunan
End of the world 
18th-Dec-2012 03:18 pm
I might not belive that the world will end this December but two of my PCs decided not to wait and commited suicide.

My netbook died first, about a month ago, one day simply didn't turn on and that was it. No amount of messing with its internals would help. It was an old hand-me-down with Atom N270 that I got for free because of failed HDD. I replaced it, reinstalled OS and kept using it for a year or so. It had Win XP, 1024x600 matte screen, 1G of RAM and the battery would hold for about 2 hours - which was good enough for my needs. Hell, it flew with me around Europe a few times. I wasn't using it much at home so I don't need to replace it right away but I sure miss it.

Yesterday another N270 gave up the ghost, this time it was my Linux system that I keep running 24/7 for various purposes: router for my private LAN, WiFi AP, FTP/NFS server, and most importantly my dev machine for Dreamcast and NAOMI since I keep my cross-compiler tools there. I liked this board too, it was all-passive cooled and required only 12V input from a brick-type PSU so there were no fans at all. I think the BGA balls cracked because I would get random reboots lately and last week the system would not boot up until it has cooled down to room temperature. Eventually even that stopped working and now it will reboot randomly within 10 seconds of powering up, cold or not. So, right now half of my flat has no Internet and I need to fix that ASAP.

I ordered a new board, it's another Atom (N2800 this time) since I really want to keep the energy usage down to bare minimum and I don't need a lot of CPU power. Even N270 could easily deal with 100Mb/s traffic on both NICs while streaming from HDD, and it was 2.5W rated. Yeah, I know, it doesn't include the north bridge which was doing most of the job connecting all system components together :) So N2800 might be 6.5W but I expect NM10 to have improved over the old 945 (and GPU is now part of the CPU as well). I was also interested in AMD Brazos family but those chips are much more powerful and require active cooling, and I don't need Radeon HD in a headless PC. The good news is the new board will also be powered by single 12V so at least I get to keep the PSU - hopefully. I already had to buy a new memory stick (DDR3 now instead of DDR2), a new low-profile NIC (no PCI slot, just one PCI-E x1), and a new N-capable WiFi card (miniPCI-E). Well, at least my netbook HDD is going to be reused :P

There is one more old PC that I have, and obviously my main one that is not very old but it has its years. I swear, one of them dies in the next few weeks and I'm buying a replacement and calling it Apollo 13. In the meantime I started doing more frequent backups.

Anyway, so what's up with the GDEMU project. Well, there is progress but I've hit some problems - as usual. I came up with new logic for the FPGA and it works perfectly (so far) between MCU and FPGA but fails on the GD bus. And I have no idea why, I've tried pretty much everything by now, except adding some pull-ups to control lines but I don't expect this to help much. Doesn't look like an electrical problem.
The prototype works when FPGA is clocked within a very specific frequency range, but not really otherwise. BIOS loads the game, I get to see the first screen or so and then it dies because DMA goes completly out of sync - I still have tons of data in the buffer but the console expects to see end-of-DMA interrupt already. So obviously I'm missing a lot of read requests but I don't know why. Must be another race condition that I can't figure out. So, why not let it run at the frequency it works? Because the problem is still there, just not as obvious. It's not stable either way and you wouldn't want your game to freeze 3 hours in and who knows how long since last save, right?

To combat that I've finally gave in and bought USB based JTAG programmer for Altera FPGAs. Those things are costly but I found a cheap clone that should work nice. I expect it to arrive in a few days. With live JTAG uplink I will be able to transfer new settings directly rather than have to swap SD cards as I do now, and more importantly I'll be able to run a logic analyzer to see what is going on.

The world will most likely not end but thanks to all those troubles (and GoG discounts :) my bank account balance just might.



EDIT: Looks like it could be electrical issue after all. Well, I'm going to rip the Dreamcast apart now and solder some proper wires for ground return path. Lets see what that does.

Oh, and here's a photo:

2012-12-19 GD-EMU proto test

As you can see I got the JTAG unit today and I'm fresh out of USB ports on the hub :)



EDIT 2: Apparently one year was not enough to add proper idle support for Cedar Trail Atoms to Linux kernel. Not even the bleeding edge 3.7.1. If you run dmesg |grep intel_idle you'll see this:

intel_idle: does not run on family 6 model 54

So, if you're in this situation as well and you don't mind compiling kernel from sources, try this hack:

1) Locate drivers/idle/intel_idle.c in the source tree
2) Make a backup copy just in case :)
3) Edit the file, find "intel_idle_ids" table
4) Add "ICPU(0x36, idle_cpu_atom)," line to it, but keep it sorted by model code

Compile and install the modules and kernel. Reboot. Enjoy.

Now, I'm not saying this is the proper way of doing it but 20mA less current draw from PSU (at 12.2V) says it's working. I haven't seen any nasty side effects yet.
Comments 
19th-Dec-2012 09:43 pm (UTC)
Anonymous
Good to hear some news if it could be viewed as mostly bad. Happy holidays and better luck in the near future.
23rd-Dec-2012 03:28 pm (UTC) - HI Dknute
Anonymous
I do not know your name but I have been your fan for years. I just have one of your most oldest emus out there. It works great still and I even upgraded to the one that holds mame roms a few years ago. I wanted to ask you if you may help me out with something. I am lost because I stopped keeping of with all your updates for the games and emu functions that you help post here about 3 years ago. I was hoping maybe you would be able to make a list of the games that are working properly so that I may be able to download them for the most recent emulator. I pretty sure there are over 100 working games now but I only have like around 50+ including roms. Is it possible for you to do this and also is there anyway i can set up a ps3 controller for the games on any of the emulators.
You fan Retro.
26th-Dec-2012 11:54 pm (UTC) - Re: HI Dknute
Sorry but making and maintaining such list would take to much of my free time. You have to try each game and see if it works well enough for you - because some people will say it's all good and play and some will complain becuase the graphics is still not perfect.
27th-Dec-2012 09:09 am (UTC)
Anonymous
MCU, FPGA, Linux, PCBs... gotta love what you can do with a wide skill base! Neat stuff and good luck. Always cool to see people showing off their cool stuff.
28th-Dec-2012 01:50 pm (UTC) - GD-ROM board overclocking
Anonymous
Hi deunan, it's possible to overclock the SEGA's 313-5640 and 315-6300 (from GD-ROM board) to get better loading times?

I'm asking this because there are crystal oscillators connected to these two ICs

one of 25MHz (conected to 315-6300) and
one of 25,4MHz (conected to 3135640)
29th-Dec-2012 03:34 pm (UTC) - Re: GD-ROM board overclocking
The main limiting factor is the speed with which the disc is read. Everything else is much faster already and you won't gain much.

However you can't just rotate the disc faster (not by much anyway) as there will be higher error rates as well - due to various factors, mostly worse signal quality from the optical pickup and vibrations from the servo.

In short: it takes much more signal processing to get better read speeds, and you can't overcome certain design limitations without making completly new hardware. If it was as easy as changing the crystals we wouldn't have to suffer x1 and x2 read speeds back in the '90 :)
2nd-Jan-2013 09:30 pm (UTC) - Re: GD-ROM board overclocking
Anonymous
But i'm using a optical lens from MITSUMI 52X drive.
this helps in something?
2nd-Jan-2013 11:36 pm (UTC) - Re: GD-ROM board overclocking
Not really. Since the pickup comes from a fast drive it won't have problems delivering signal with good, sharp response but the vibration problem remains. And most importantly, the whole DSP and track following logic just won't be able to keep up.

Even assuming you could just replace the crystal with reasonable higher values and not get into typical overclocking problems, the situation could become like this: You'll get short bursts of faster read but the pickup will "get lost" easily and the drive will have to re-seek, which takes insane amounts of time (10ms at best, usually 10x more). This will completly kill the average transfer rate and every game that require streaming audio or video.
4th-Jan-2013 12:49 pm (UTC) - dead laptop
Anonymous
if your netbook has an 8pin serial bios i'd suspect it.
those chips are junk - i'v had to replace loads of them.
you can re-flash them, but the original winbond ones are just bad.
better to buy an Atmel/ST etc replacement for a couple of €.
4th-Jan-2013 02:00 pm (UTC) - Re: dead laptop
Yeah, it does look like some sort of low-level problem as the thing tries to power up but does not show anything on LCD (and there's no backlight) and either powers off or just turns the CPU fan off and stays that way.

I haven't taken it completly apart yet (as in with no intention of ever putting it back together) but I have kind of written it off. Thanks for the tip though, might just try that if I ever get too bored with other stuff.
5th-Jan-2013 01:10 am (UTC) - Great Project!
Really cool project you have going, hope it's completed soon!
5th-Jan-2013 07:01 pm (UTC) - Great hardware! Still working on software?
Anonymous
Hello. I have been a long time lurker here, but this is my first post. It's going to sound a bit repetitive and probably a bit amateurish, but I was wondering if you are now dedicating all your time to this project (which is absolutely fantastic by the way) or if you are still working a bit on Makaron T13? I know you've said in the past you have no idea when T13 would be ready, but any progress update would be helpful and lift our dreamcast gamer spirits.

I no longer have my dreamcast. When I sold it I had 80+ games for it and nearly every peripheral you could think of. It was my first and only Sega system, and one of my favorite consoles of all time. Your work on Makaron has brought back very fond memories for me.

So thank you for your efforts, and if this project comes to fruition, I think I'm going to be buying a dreamcast again!
7th-Jan-2013 11:11 am (UTC) - Re: Great hardware! Still working on software?
Yes, although I have to say real life matters have taken over for now. But don't loose hope just yet :)
7th-Jan-2013 05:57 am (UTC)
Anonymous
Hello! first of all, thanks for your effort in this matter, since a lot of dreamcast users will love this.
What i want to know is if the game loading times will be better that directly from the gdi?, for example the game Dragonriders Chronicles of Pern the game is almost unplayable is famous for the long loading times from one area to another, so this means loading from the sd will be a lot faster, or since is a emulator of the gdi will remain the same?
thanks for everything.
7th-Jan-2013 11:19 am (UTC)
Yes, loading time can be much faster. This is especially true for games that had many small files stored all over the disc (so, poor design and even worse mastering) since the GD-ROM seek time is some 100ms and for SD card it's about 1ms. Random access of course.

Long reads are also faster in general, but not that much, still it should be some 2-3x improvement.
14th-Jan-2013 06:08 pm (UTC) - Just Wondering if I may have controller support for the emulator
Anonymous
What kind of controllers does the emulator support right now?
15th-Jan-2013 11:57 am (UTC) - Re: Just Wondering if I may have controller support for the emulator
Depends, are you asking about Dreamcast or NAOMI emulator?
25th-Jan-2013 06:16 pm (UTC) - Emulator !
Anonymous
Makaron T13 will be released soon ?

Will it run games of Naomi 2 ?

Please reply for this , thanks...
25th-Jan-2013 07:34 pm (UTC) - Re: Emulator !
When it's ready :)

Sorry I don't have a better answer but if I knew exactly I would have said so. This is just a hobby project and lately I have very little time for such things.
27th-Jan-2013 06:23 pm (UTC)
Anonymous
hello. what percent would you say your gdemu project is at right now? i know alot of people waiting to buy if you do decide to sell it of course:) keep up the great work.
28th-Jan-2013 03:29 pm (UTC)
It would be already complete if not for some problems with data integrity. It looks like I've been using too long cables for my prototype but I must be 100% sure I can overcome this or the device will be too unstable.
3rd-Feb-2013 01:21 am (UTC)
Anonymous
hopefully you fix all issues and are able to release a product this year. will you shipp to the usa if/when you sell it?
4th-Feb-2013 04:00 pm (UTC)
I think so, but that is still "if".
28th-Jan-2013 02:58 pm (UTC) - Request of information
Anonymous
I have notice that you recreate all the electronics of the gdrom but we can to reuse one party of this one. We can feign the lens and the engine.
For the rate of transfer of the sd who has to slow down the systeme why of step the transferred in a ram of 1go ??.

Sorry for my English I am French.
28th-Jan-2013 03:32 pm (UTC) - Re: Request of information
You can't really reuse anything from orignal GD-ROM. It's a complete system that works only with all components present. If you want something else you must build it from scratch.

Also, the device must be rather cheap and small, so with all this considered the SD card is the best approach.
4th-Sep-2013 03:24 am (UTC) - Hi there!!
I was just curious, have you determined that the length of cables are definitely the issue? Have you begun considerations for any preorders/kickstarter-like funding?

Also, have you ever thought to tackle something like a Dreamcast BBA clone in a similar manner?
This page was loaded Apr 16th 2014, 1:25 pm GMT.