Wednesday, February 29, 2012

Debugged LD-V1000 port

This morning I tried hooking up the rev2 Dexter board to my dragon's lair and noticed I was getting a spamfest of seek errors even without powering on the dragon's lair.

I hooked up my handy AVR dragon (hardware debugger) and noticed that sometimes the data from the ld-v1000 port would return 0xFF (expected) and sometimes it would randomly return 0xF7 (unexpected). This meant that pin A3 was sometimes 0 and sometimes 1 when it should always be 1. And since it was supposed to be using an internal pull-up resistor to force the value to 1 when unconnected, I concluded that something was pulling it down to GND.

Looking at the layout, I noticed that A3 passes through our NAND IC and concluded that this must be randomly pulling it to GND. Warren suggests that if I explicitly set one of the NAND inputs to 0 that it should fix the problem (I was not doing this).

Tuesday, February 28, 2012

Did some more work on the media server

Last night I did some more work on the media server to get it closer to being ready for use by the rev 2 testers. The reason it isn't as usable right now as it was during CAX is because I removed SDL from most of the code in preparation to port it to the Beagleboard and I've had to rewrite some of the stuff that this impacted.

Friday, February 24, 2012

Neil's firefox testing with Dexter


Looks like Neil is making some progress getting his Dexter board working with his Firefox hardware!

Thursday, February 23, 2012

Can anyone loan me Firefox hardware?

I want to work on the firmware for the VP931 emulation on the Dexter rev 2 board but I don't have anything to test it with. If someone has some firefox hardware that I could borrow during this development period, that would be helpful. I would prefer something that is easier to setup.

Monday, February 20, 2012

Fixed BAT54S problem


Thanks to some guidance from Warren, I've got my BAT54S now properly wired.

Friday, February 17, 2012

Laserdisc image encoding frontend finished!


My frontend for encoding laserdisc images is finished!

Just so everyone knows I will not be releasing this program to the public. It is still very technical to use and so I will only be giving it to a few others who know what they are doing. The last thing we need is some bonehead getting his hands on this program, making a bad image, and then convincing others to mirror it all over the internet. It's happened before.

Monday, February 13, 2012

More work on laserdisc image encoding

I've been working more on getting the laserdisc image encoding ready for Dexter rev 2 testing. I ran into a snag in that .NET's ability to pipe stdout and stderr from child processes is severely crippled. It buffers 4k blocks before sending _anything_ to the caller which is ridiculously inadequate. This issue diverts me from what I'd rather be working on.

Friday, February 10, 2012

Been working on laserdisc images

I've been working on my laserdisc image file format the past few days. This is the file format that will be used with Dexter (most likely) so I've been trying to make it "final" so people can start using it.

Wednesday, February 8, 2012

My first MySQL stored procedure!

I had to write a stored procedure (it is dexter related, believe it or not) and after much trial and error, here is the finished result. I post it here for my own reference more than anything in case I need to do it again some day:


DELIMITER $$
DROP PROCEDURE IF EXISTS FixIDsProc $$

CREATE PROCEDURE `FixIDsProc`()
BEGIN
DECLARE no_more_rows INT DEFAULT 0;
DECLARE idx INT DEFAULT 1;
DECLARE strName TEXT;
DECLARE my_cursor CURSOR FOR
SELECT `dn_name` FROM `discids` ORDER BY `discids`.`dn_name` ASC;
DECLARE CONTINUE HANDLER FOR NOT FOUND
SET no_more_rows = 1;

OPEN my_cursor;

FETCH my_cursor INTO strName;
REPEAT

UPDATE `discids` SET `id` = idx WHERE `dn_name` = strName;
SET idx = idx + 1;

FETCH my_cursor INTO strName;
UNTIL no_more_rows = 1
END REPEAT;
CLOSE my_cursor;

END $$

DELIMITER ;



And to view the stored procedure after it's been entered in, you do this:


SHOW CREATE PROCEDURE FixIDsProc\G


To see all the stored procedures on the DB, do this query:


SELECT ROUTINE_TYPE, ROUTINE_NAME, ROUTINE_SCHEMA FROM INFORMATION_SCHEMA.ROUTINES;

Friday, February 3, 2012

Reworked serial transmit code

Yesterday, I reworked the code responsible for transmitting serial data from the dexter board. I haven't tested it yet on real hardware (just the simulator) but it should be a big improvement over the previous code. It should achieve close to maximum throughput _and_ it can be disabled during timing-critical sections of program flow. Only thing that remains is testing it on real hardware.

Oh and my JTAG debugging pins should arrive today some time so I won't have to rely on the simulator much longer.

Wednesday, February 1, 2012

Mode button working, MAX video chip working


If you bought a rev 2 prototype board, I have some good news for you. Everything on the board that I've tested so far works according to design. This is great news because when I had the prototype boards made, I didn't know whether they would work. It was a risk that, so far, is paying off.

Components I've verified to be working:
- USB interface to PC (works after wire swap)
- AVR microcontroller
- LM1881 (well almost)
- MAX video chip
- s-video input
- BNC video output
- LED driver chip
- LEDs
- reset and mode buttons

Components I have not yet tested:
- LD-V1000 port
- DB25 port
- PR-8210 port with optocoupler
- MAX222 IC's
- PR8210A helper IC (NAND gates)
- solid state relay