<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>optixx</title>
	<atom:link href="http://optixx.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://optixx.org</link>
	<description>About Linux and Console Hacking</description>
	<lastBuildDate>Sun, 08 Jan 2012 16:31:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Meet my new project Userlike</title>
		<link>http://optixx.org/2012/01/08/meet-my-new-project-userlike/</link>
		<comments>http://optixx.org/2012/01/08/meet-my-new-project-userlike/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 16:31:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=529</guid>
		<description><![CDATA[Its not that i have been kind of lazy about blogging the last year, its just i didn&#8217;t to anything on my side projects like SNES hacking or the like. I quit my day job last year and started founding my own Company Devcores. Last Summer i began coding our first SAAS wich entered the [...]]]></description>
			<content:encoded><![CDATA[<p>Its not that i have been kind of lazy about blogging the last year, its just i didn&#8217;t to anything on my side projects like SNES hacking or the like. I quit my day job last year and started founding my own Company <a href="http://www.devcores.com">Devcores</a>. Last Summer i began coding our first SAAS wich entered the beta phase last december. Lets meet <a href="http://www.userlike.com">Userlike</a>. It&#8217;s a webbased live chat system targeted for online shops. It SAAS and can be added with one line of javascript to your website. We are in private beta right now and plan to release the first public version with the next 2 month. If you want to test it, drop me a line and i will get you an account. </p>

<p><a href="http://optixx.org/wp-content/uploads/2012/01/Screen-Shot-2012-01-08-at-5.11.29-PM.png"><img src="http://optixx.org/wp-content/uploads/2012/01/Screen-Shot-2012-01-08-at-5.11.29-PM-271x300.png" alt="Userlike" title="Userlike" width="271" height="300" class="aligncenter size-medium wp-image-533" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2012/01/08/meet-my-new-project-userlike/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quickdev2 Progress</title>
		<link>http://optixx.org/2012/01/03/quickdev2-progress/</link>
		<comments>http://optixx.org/2012/01/03/quickdev2-progress/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 20:39:58 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Quickdev16]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=517</guid>
		<description><![CDATA[After building the quickdev16 in the summer of 2010 we decided to work on a 2nd version off the quickdev16, which we called quickdev2. All this work was done in the summer of 2010 but i never got around to finish the project nor to blog about it. So here is a little overview: The [...]]]></description>
			<content:encoded><![CDATA[<p>After building the <a href="http://www.assembla.com/spaces/quickdev16/wiki">quickdev16</a> in the summer of 2010 we decided to work on 
a 2nd version off the quickdev16, which we called quickdev2. All this work was done in the summer of 2010 but i never got around
to finish the project nor to blog about it. So here is a little overview:</p>

<p>The next quickdev should be a little bit faster and should have more features. 
So we selected a new CPU, the Atmel <a href="http://www.atmel.com/dyn/products/product_card.asp?part_id=3875">at90usb1287</a> that can handle USB via hardware and has more SRAM. To simplify the logic part we opted for a XILINX CPLD <a href="http://www.xilinx.com/support/documentation/data_sheets/ds056.pdf">xc95144xl</a>.
We used a bigger Cypress 16-Mbit SRAM <a href="http://www.cypress.com/?rID=37630">CY62167E</a>. 
The AVR would expose the USB interface to the PC side, as a masstorage device using the <a href="http://www.fourwalledcubicle.com/LUFA.php">LUFA</a> library. The
AVR has a data bus to the CPLD. The CPLD is also connected to the external SRAM.
In the CPLD we implemented a SREG, counter, commandmuxer and memory interface in <a href="http://en.wikipedia.org/wiki/Verilog">Verilog</a>. </p>

<p>The system top looks like this:</p>

<pre>
module system (

    inout [7:0] sram_data,
    output [20:0] sram_addr,
    output sram_oe_n,
    output sram_we_n,
    output sram_ce_n,


    output [7:0] snes_data,
    input [20:0] snes_addr,

    inout [7:0] avr_data,
    input [7:0] avr_ctrl,
    input avr_clk,
    output [7:0] debug
);
</pre>

<p>We have a 8 bit data bus and 21 bit address bus to the SRAM. 3 extra lines for OE,WE and CE.
Then there is the same setup for the SNES side. 8 Data and 21 address line. No more control lines to 
the SNES are currently implemented. There is a 8 bit data and 8 bit control bus to the AVR.
Finally we have a CLK line from the AVR to the CPLD and a 8bit debug bus.
The AVR clocks its own clock into the CPLD, which is feed into a DCM and is divided by 2. 
This clock signal is feed into the FSM and SREG internally.
The avr_ctrl bus is feed into a commandmuxer which
drives the other components on the CPLD. Foremost it drives a FSM which manages the
data routing between AVR &lt;-> SRAM and SRAM &lt;-> SNES.</p>

<pre>
module bus_fsm #(
    parameter DWIDTH = 8
)(
    input                   clk,
    input                   reset,
    input                   we_n,
    input                   oe_n,
    inout   [DWIDTH-1:0]    avr,
    inout   [DWIDTH-1:0]    sram,
    inout   [7:0]           debug
);

parameter SIZE   =  3;
parameter IDLE    = 3'b000;
parameter WE      = 3'b001;
parameter BUFAVR  = 3'b010;
parameter BUFSRAM = 3'b011;
parameter OE      = 3'b100;


reg   [SIZE-1:0]          state;
reg   [SIZE-1:0]          next_state;
reg   [DWIDTH-1:0]        buffer_avr;
reg   [DWIDTH-1:0]        buffer_sram;
reg   [DWIDTH-1:0]        buffer;

assign avr = buffer_avr;
assign sram = buffer_sram;

always @ (state or we_n or oe_n)
begin : FSM_COMBO
    next_state = 3'b000;
    case(state)
    IDLE : if (we_n == 1'b0) begin
            next_state = BUFAVR;
        end else if (oe_n == 1'b0) begin
            next_state= BUFSRAM;
        end else begin
            next_state = IDLE;
        end
    BUFAVR: if (we_n == 1'b0) begin
            next_state = WE;
        end else begin
            next_state = IDLE;
        end
    BUFSRAM: if (oe_n == 1'b0) begin
            next_state = OE;
        end else begin
            next_state = IDLE;
        end
    OE : if (oe_n == 1'b0) begin
            next_state = BUFSRAM;
        end else begin
            next_state = IDLE;
        end
    WE : if (we_n == 1'b0) begin
            next_state = BUFAVR;
        end else begin
            next_state = IDLE;
        end
  endcase
end

//----------Seq Logic-----------------------------
always @ (posedge clk)
begin : FSM_SEQ
    if (reset == 1'b1) begin
        state < = #1 IDLE;
    end else begin
        state <= #1 next_state;
  end
end

//----------Output Logic-----------------------------
always @ (state)
begin : OUTPUT_LOGIC
  case(state)
    IDLE: begin
        buffer_avr <= 8'bz;
        buffer_sram <= 8'bz;
        buffer <= 8'bz;
    end
    WE: begin
        buffer_sram <= buffer;
    end
    OE: begin
        buffer_avr <= buffer;
    end
    BUFSRAM : begin
        buffer <= sram;
    end
    BUFAVR : begin
        buffer <= avr;
    end
    default : begin
        buffer_avr <= 8'bz;
        buffer_sram <= 8'bz;
    end
  endcase
end

assign debug = { clk,we_n,oe_n,state,2'bz};
endmodule
</pre>

<p>From the AVR software side a SRAM write looks like this.</p>

</pre><pre>

void sreg_set(uint32_t addr)
{


    uint8_t i = 21;
    #if SREG_DEBUG 
    uart_putstring("sreg_set\n\r");
    #endif
    SET_AVR_SREG_EN_HI();
    while(i--) {
        if ((addr &#038; ( 1L < < i))){
            SET_AVR_SI_HI();
    #if SREG_DEBUG 
            uart_putchar('1');
    #endif
        } else {
            SET_AVR_SI_LO();
    #if SREG_DEBUG 
            uart_putchar('0');
    #endif
        }
        SET_AVR_SREG_EN_LO();
        SET_AVR_SREG_EN_HI();
    }
    #if SREG_DEBUG 
    uart_putstring("\n\r");
    #endif
}

void SRAM_write(uint32_t addr, uint8_t data)
{

    // set direction of data port
    AVR_DATA_DIR = 0xff;
    // load address
    sreg_set(addr);
    // disable OE and WE
    SET_AVR_OE_HI();
    SET_AVR_WE_HI();
    // wait for FSM to go into IDLE state
    nop();
    nop();
    // write data
    AVR_DATA = data;
    // enable WE
    SET_AVR_WE_LO();
    // wait for FSM to go into WE state
    nop();
    nop();
    nop();
    nop();
    // disable WE
    SET_AVR_WE_HI();
}

</pre>

<p>The development was done on our new prototype board, which Max layouted for us. 
I used an <a href="http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3891">AVR Dragon</a> for the AVR programming part and debugging via <a href="http://en.wikipedia.org/wiki/Joint_Test_Action_Group">JTAG</a>. For the CPLD side i used a homebrew Xilinx <a href="http://www.mikrocontroller.net/topic/168006">Platform cable</a> alongside with <a href="http://www.xilinx.com/support/download/index.htm">ISE</a>. I quickly stopped using the IDE and just cooked my own Makefile using the Xilinx commandline tools.</p>


<a href='http://optixx.org/2012/01/03/quickdev2-progress/v3_0_proto_bottom/' title='V3_0_proto_bottom'><img width="150" height="112" src="http://optixx.org/wp-content/uploads/2012/01/V3_0_proto_bottom.jpg" class="attachment-thumbnail" alt="V3_0_proto_bottom" title="V3_0_proto_bottom" /></a>
<a href='http://optixx.org/2012/01/03/quickdev2-progress/v3_0_proto_top/' title='V3_0_proto_top'><img width="150" height="112" src="http://optixx.org/wp-content/uploads/2012/01/V3_0_proto_top.jpg" class="attachment-thumbnail" alt="V3_0_proto_top" title="V3_0_proto_top" /></a>


<p>Most of the logic was developed using a testbench and running through <a href="http://iverilog.icarus.com/">iverilog</a>.
But having a module working in a testbench doesn't mean that it works on real hardware.
We had todo a lot of debugging on the real hardware. This involved a lot
of test probe soldering. Luckily we had my 8bit <a href="http://www.saleae.com/home/">Saleae</a> LA which helped a lot to 
track done some Problems. But the biggest issue was to get the timing right with the FSM for the memory bus.</p>

<p>We hacked this in a 3 day weekend sprint and implemented the SRAM read and write from the AVR side. 
But then we hit a wall and didn't implement the SNES side. The project lost some traction. 
Max had moved to Berlin we couldn't work together on the project anymore. We lost a little interest because the 
<a href="http://sd2snes.de/blog/">sd2snes</a> project achieved what we we intended to do and Ikari_01 did far better job then we did. 
I recently got word the sd2snes is considered stable and a first batch is sold. </p>

<p>We plan to start working on this again. To implement the SNES side of the memory we would need to increase the speed
of the FSM to get it into IDLE state and then in SNES state within  120ns or 200ns after the SNES does a CS on the cartridge.
Since the AVR drives the CPLD clock with 20MHz, we would need some kind of PPL to run the FSM with like 60MHz, which should
be plenty to run the FSM for the SNES SRAM read. </p>

<p>We appreciate any comment or suggestion for the hardware design of this project.</p>
</pre>]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2012/01/03/quickdev2-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Super Nintendo Talk</title>
		<link>http://optixx.org/2012/01/01/super-nintendo-talk/</link>
		<comments>http://optixx.org/2012/01/01/super-nintendo-talk/#comments</comments>
		<pubDate>Sun, 01 Jan 2012 16:54:04 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Quickdev16]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=510</guid>
		<description><![CDATA[A while ago i held a talk at the ccc in cologne about my favorite game console the Super Nintendo. This talk covers the Super Nintendo technology in detail. Starting with the CPU and PPU, covering the cartridge memory maps and showing most of the custom chips which where used on cartridges. I also show [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago i held a talk at the <a href="http://koeln.ccc.de/">ccc</a> in cologne about my favorite game console the Super Nintendo. This talk covers the Super Nintendo technology in detail. Starting with the CPU  and PPU, covering the cartridge memory maps and showing most of the custom chips which where used on cartridges. I also show development hardware, copier stations and the current available flashcarts. The topic emulation is also covered . The second part of the talk is about the <a href="http://www.assembla.com/spaces/quickdev16/wiki">quickdev16</a> project, which i did with my friend max in 2009. We built a flashcart for the SNES which is useful for developing homebrew software. The talk sums up all the details i learned during the research i made to built this kind of cartridge. I uploaded the <a href="http://www.scribd.com/doc/76886626/Quick-Dev">slides</a>, maybe someone find this useful to dive into the SNES world.       </p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2012/01/01/super-nintendo-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Memory Visualizer for BSNES</title>
		<link>http://optixx.org/2010/05/03/memory-visualizer-for-bsnes/</link>
		<comments>http://optixx.org/2010/05/03/memory-visualizer-for-bsnes/#comments</comments>
		<pubDate>Mon, 03 May 2010 06:46:34 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=492</guid>
		<description><![CDATA[Some time ago i saw this Memory Visualizer for Frodo and Vice C64 Emulator . I got inspired to do something simular for the SNES. I took this idea an hacked it right into BSNES. Right now i have 2 fields representing the WRAM and the VRAM of the SNES. So it displays different colors [...]]]></description>
			<content:encoded><![CDATA[<p>Some time ago i saw this <a href="http://icu64.blogspot.com/2009/09/first-public-release-of-icu64frodo.html">Memory Visualizer for Frodo and Vice C64 Emulator </a>. I got inspired to do something simular for the SNES. I took this idea an hacked it right into BSNES. Right now i have 2 fields representing the WRAM and the VRAM of the SNES. So it displays different colors for read and write access to the memory areas. Due fading this generates some color blending effects. This is just a quick hack which was lying on my hd for some months. So its based BSNES version 0.59 , which is know a little outdated. It would need some more polishing and a better solution to display the 2 Ram areas. The GL cubes look a little lame. Also the emulator performance is not quite there so that the roms a little bit slow.</p>

<p>[flash]http://vimeo.com/11400325[/flash]</p>

<p><a href="http://optixx.org/download/bsnes_visual02.mp4">Download Video</a></p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2010/05/03/memory-visualizer-for-bsnes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>New Quickdev16 Loader</title>
		<link>http://optixx.org/2009/10/21/new-quickdev16-loader/</link>
		<comments>http://optixx.org/2009/10/21/new-quickdev16-loader/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 11:27:32 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=471</guid>
		<description><![CDATA[We got a new loader for the Quickdev16 firmware. The loader will replace the current dummy loader and has a few new advantages: Faster upload because of IRQ driven communication between SNES and AVR Progressbar while uploading Display Rom infos ASCII and Katakana font support Eyecandy: new logo design with sine wave effect and bassdrum [...]]]></description>
			<content:encoded><![CDATA[<p>We got a new loader for the Quickdev16 firmware. The loader will replace
the current dummy loader and has a few new advantages:</p>

<p><a href="http://optixx.org/wp-content/uploads/2009/10/qd16boot02.png"><img src="http://optixx.org/wp-content/uploads/2009/10/qd16boot02.png" alt="qd16boot02" title="qd16boot02" width="304" height="297" class="aligncenter size-full wp-image-479" /></a></p>

<ul>
<li>Faster upload because of IRQ driven communication between SNES and AVR</li>
<li>Progressbar while uploading</li>
<li>Display Rom infos</li>
<li>ASCII and Katakana font support</li>
<li>Eyecandy: new logo design with sine wave effect and bassdrum synced
background effects..</li>
</ul>

<p>Due to these features the loader blew up to more than 55kb, too much for
our limited space in the AVR progmem (64kb &#8211; 4kb bootloader). Our main
firmware is between 8kb and 24kb, depends on the debug-features that you
compile in. So the recent task is to either reduce the loader size by
skipping eyecandy, finding a better compression routine to compress it
in the progmem or build a minimal firmware and put parts of the loader
into the surplus 4kb eeprom on the AVR. Probably we will have to combine
the different approaches.</p>

<p>One reason why the firmware is that big these days is the new &#8220;minimal
debug terminal&#8221;, a serial command line where you can maintain the
Quickdev system status. You can dump memory regions from sram, switch
between the busses, write to the shared memory section, show the status
of the hardware ports and use several other usefull commands. Check the
project page for more details on the commands.</p>

<p><object type="application/x-shockwave-flash" width="400" height="323" data="http://www.flickr.com/apps/video/stewart.swf?v=71377" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="flashvars" value="intl_lang=en-us&amp;photo_secret=f7261b8a62&amp;photo_id=4032934550"></param> <param name="movie" value="http://www.flickr.com/apps/video/stewart.swf?v=71377"></param> <param name="bgcolor" value="#000000"></param> <param name="allowFullScreen" value="true"></param><embed type="application/x-shockwave-flash" src="http://www.flickr.com/apps/video/stewart.swf?v=71377" bgcolor="#000000" allowfullscreen="true" flashvars="intl_lang=en-us&amp;photo_secret=f7261b8a62&amp;photo_id=4032934550" height="323" width="400"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/10/21/new-quickdev16-loader/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quickdevs are shipping</title>
		<link>http://optixx.org/2009/09/20/quickdevs-are-shipping/</link>
		<comments>http://optixx.org/2009/09/20/quickdevs-are-shipping/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 07:33:36 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=466</guid>
		<description><![CDATA[Last week we shipped the first batch of Quickdevs. The Software is feature ready, but we wanted to do some eye candy on the SNES software side, which didn&#8217;t work out yet. So software updates are coming within the next weeks. Feel free to order at david @ optixx.org.]]></description>
			<content:encoded><![CDATA[<p>Last week we shipped the first batch of Quickdevs. The Software is feature ready, but we wanted to do some eye candy on the SNES software side, which didn&#8217;t work out yet. So software updates are coming within the next weeks. </p>

<p>Feel free to order at david @ optixx.org.</p>


<a href='http://optixx.org/2009/09/20/quickdevs-are-shipping/img_8537/' title='IMG_8537'><img width="150" height="150" src="http://optixx.org/wp-content/uploads/2009/09/IMG_8537-150x150.jpg" class="attachment-thumbnail" alt="IMG_8537" title="IMG_8537" /></a>
<a href='http://optixx.org/2009/09/20/quickdevs-are-shipping/img_8541/' title='IMG_8541'><img width="150" height="150" src="http://optixx.org/wp-content/uploads/2009/09/IMG_8541-150x150.jpg" class="attachment-thumbnail" alt="IMG_8541" title="IMG_8541" /></a>

]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/09/20/quickdevs-are-shipping/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Quickdev16 Project Page is ready.</title>
		<link>http://optixx.org/2009/09/07/quickdev16-project-page-is-ready/</link>
		<comments>http://optixx.org/2009/09/07/quickdev16-project-page-is-ready/#comments</comments>
		<pubDate>Mon, 07 Sep 2009 08:56:03 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Quickdev16]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=459</guid>
		<description><![CDATA[Finally our project page for the Quickdev16 becomes available. You will find information how to download or build all needed software from scratch. We gonna build the first batch of 10 cartridges this week. So stay tuned.]]></description>
			<content:encoded><![CDATA[<p>Finally our project page for the Quickdev16 becomes available. You will find information how to download or build all needed software from scratch. </p>

<p>We gonna build the first batch of 10 cartridges this week. So stay tuned.</p>

<p><a href="https://www.assembla.com/wiki/show/quickdev16"><img src="http://optixx.org/wp-content/uploads/2009/09/Home-quickdev16-Assembla_1252313267848-396x1023.png" alt="Home | quickdev16 | Assembla_1252313267848" title="Home | quickdev16 | Assembla_1252313267848" width="396" height="1023" class="alignnone size-large wp-image-460" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/09/07/quickdev16-project-page-is-ready/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>First Quickdev16 PCB is working</title>
		<link>http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/</link>
		<comments>http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 09:01:06 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[AVR]]></category>
		<category><![CDATA[Quickdev16]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=441</guid>
		<description><![CDATA[Not &#8220;out of the box&#8221; but with only slightly changes on the software part, the new quickdev16 PCBs are working. Their shape fit the SNES cartslot, the changes in hardware design and parts worked out great and we have a kind of stable firmware and upload tool. When you turn on the SNES, the microcontroller [...]]]></description>
			<content:encoded><![CDATA[<p>Not &#8220;out of the box&#8221; but with only slightly changes on the software part, the new quickdev16 PCBs are working. Their shape fit the SNES cartslot, the changes in hardware design and parts worked out great and we have a kind of stable firmware and upload tool.</p>

<p>When you turn on the SNES, the microcontroller extracts a small loader-rom into the cartridge RAM that is mapped into the SNES addressspace. This one copies itself to SNES&#8217;s WRAM and jumps into it. So the cartridge RAM is unaccessed and we can safely switch back to the AVR mode to push a real payload rom onto the cartridge. We are also working on a shared memory function so that we can use the cartridge RAM
to exchange infomation between the AVR and the SNES.  This will be used to display a proper Progressbar 
while uploading a rom.</p>

<p>As usal you can use our patched version of ucon64 &#8211; even under windows &#8211; to upload a game to the quickdev16. When the upload is done, the SNES reset line is pulled by quickdev16 and the game starts. When you press the reset button, you only reset the game, not the quickdev16 &#8211; it acts like a normal cart. When you press the reset button during the upload process or while watching the loaderscreen, you reset the quickdev and can abort uploads or just restart the quickdev16 &#8211; thats a really usefull feature. To initiate the upload of a new game, just start the upload process with ucon, the quickdev switches to the loader mode by itself and receives the new ROM.</p>

<p>So the steps are now to improve the loader code, finish the progress bar stuff, figure out how to solder the PCBs faster than now and add some minor features. Stay tuned for updates, it&#8217;s not too long to the release.</p>


<a href='http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/dsc01781/' title='DSC01781'><img width="150" height="150" src="http://optixx.org/wp-content/uploads/2009/08/DSC01781-150x150.jpg" class="attachment-thumbnail" alt="DSC01781" title="DSC01781" /></a>
<a href='http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/dsc01769/' title='DSC01769'><img width="150" height="150" src="http://optixx.org/wp-content/uploads/2009/08/DSC01769-150x150.jpg" class="attachment-thumbnail" alt="DSC01769" title="DSC01769" /></a>
<a href='http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/dsc01768/' title='DSC01768'><img width="150" height="150" src="http://optixx.org/wp-content/uploads/2009/08/DSC01768-150x150.jpg" class="attachment-thumbnail" alt="DSC01768" title="DSC01768" /></a>


<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/annYf6z8Tf0&amp;hl=en&amp;fs=1&amp;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/annYf6z8Tf0&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>

<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/INTpPHP5Iao&amp;hl=en&amp;fs=1&amp;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/INTpPHP5Iao&amp;hl=en&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>svgallery=</p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/09/01/first-quickdev16-pcb-is-working/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quickdev16 Windows Driver</title>
		<link>http://optixx.org/2009/08/27/quickdev16-windows-driver/</link>
		<comments>http://optixx.org/2009/08/27/quickdev16-windows-driver/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 07:35:42 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[AVR]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Quickdev16]]></category>
		<category><![CDATA[SNES]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=436</guid>
		<description><![CDATA[Created a binary for windows using minGW and libusb. So i can confirm that quickdev16 will work under Windows.]]></description>
			<content:encoded><![CDATA[<p>Created a binary for windows using minGW and libusb. So i can confirm that quickdev16 will work under Windows.</p>

<p><a href="http://optixx.org/wp-content/uploads/2009/08/windows_ucon64.png"><img src="http://optixx.org/wp-content/uploads/2009/08/windows_ucon64-300x187.png" alt="windows_ucon64" title="windows_ucon64" width="300" height="187" class="alignnone size-medium wp-image-437" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/08/27/quickdev16-windows-driver/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quickdev16 Pre-orders</title>
		<link>http://optixx.org/2009/08/19/quickdev16-pre-orders/</link>
		<comments>http://optixx.org/2009/08/19/quickdev16-pre-orders/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:43:46 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://optixx.org/?p=427</guid>
		<description><![CDATA[I start taking inoffical pre-orders for the Quickdev16 now. Just send me an email to david at optixx.org with your name and email address. In order of arrival i will put you on the pre-order list. Right now we plan to sell around 35 cartridges. Why inoffical pre-orders list? A fews points are unclear right [...]]]></description>
			<content:encoded><![CDATA[<p>I start taking inoffical pre-orders for the Quickdev16 now. Just send me an email to <strong>david at optixx.org</strong> with your name and email address. In order of arrival i will put you on the pre-order list. Right now we plan to sell around 35 cartridges. </p>

<p>Why inoffical pre-orders list? A fews points are unclear right now. I don&#8217;t know the final price since this will depend on the assembling costs which are not setteld yet. I can&#8217;t say if the the new PCB are working 100% since we didn&#8217;t test it yet. Also we didn&#8217;t figured out if we gonna ship the cartidge with a CIC chip or not. 
The client software is tested and developed under Linux and OS X. Can&#8217;t say much about windows. But if you can compile ucon64 with libusb support in windows you should be fine. I will give this a shot soon.</p>

<p>These points will clear up within the next 2-3 weeks. But expect an sale price around 100 USD or 80 Euros. I gonna use paypal for international shipping and direct debit in Germany and even Europe. Will provide an an IBAN and paypal account later. </p>

<p>I don&#8217;t take any money before everything has clear up. So the pre-order is not binding as long as you are not happy with the final outcome of the project. I just started this pre-order list, since a few people start asking for it and they don&#8217;t want to miss the opportunity to get one. </p>

<p>Just a quick preview of up coming features.</p>

<blockquote><ul>    
<li>up to 16Mbit Roms supported</li>
<li>Ucon64 upload via USB</li>
<li>Lo/Hi Rom</li>
<li>Serial Debug Console</li>
<li>SNES Boot Loader</li>
<li>SDcard Daughter Board planed</li>
</ul></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://optixx.org/2009/08/19/quickdev16-pre-orders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using disk: enhanced (User agent is rejected)
Database Caching 22/25 queries in 0.006 seconds using disk: basic

Served from: blog.optixx.org @ 2013-05-20 22:52:00 -->