cleanup up and remove huffman stuff

This commit is contained in:
David Voswinkel
2009-08-04 08:38:26 +02:00
parent 92762d7f51
commit af45ed720b
10 changed files with 2165 additions and 2300 deletions

View File

@@ -19,11 +19,11 @@
*
* =====================================================================================
*/
#include <stdlib.h>
#include <stdint.h>
#include <util/delay.h>
#include <util/delay.h>
#include "shared_memory.h"
#include "config.h"
@@ -38,55 +38,60 @@ uint8_t scratchpad_state;
uint8_t scratchpad_cmd;
uint8_t scratchpad_payload;
void shared_memory_scratchpad_save(){
void shared_memory_scratchpad_save()
{
scratchpad_state = sram_read(SHARED_MEM_LOC_STATE);
scratchpad_cmd = sram_read(SHARED_MEM_LOC_CMD);
scratchpad_payload = sram_read(SHARED_MEM_LOC_PAYLOAD);
}
void shared_memory_scratchpad_restore(){
void shared_memory_scratchpad_restore()
{
sram_write(SHARED_MEM_LOC_STATE, scratchpad_state);
sram_write(SHARED_MEM_LOC_CMD, scratchpad_cmd);
sram_write(SHARED_MEM_LOC_PAYLOAD, scratchpad_payload);
}
void shared_memory_irq_hook(){
void shared_memory_irq_hook()
{
irq_addr_lo = sram_read(SHARED_IRQ_LOC_LO);
irq_addr_hi = sram_read(SHARED_IRQ_LOC_HI);
sram_write(SHARED_IRQ_HANDLER_LO, 0);
sram_write(SHARED_IRQ_HANDLER_HI, 0);
}
void shared_memory_irq_restore(){
void shared_memory_irq_restore()
{
sram_write(SHARED_IRQ_LOC_LO, irq_addr_lo);
sram_write(SHARED_IRQ_LOC_HI, irq_addr_hi);
}
void shared_memory_put(uint8_t cmd, uint8_t value){
info("Write shared memory 0x%04x=0x%02x 0x%04x=0x%02x \n",SHARED_MEM_LOC_CMD,cmd,SHARED_MEM_LOC_PAYLOAD,value);
void shared_memory_put(uint8_t cmd, uint8_t value)
{
info("Write shared memory 0x%04x=0x%02x 0x%04x=0x%02x \n",
SHARED_MEM_LOC_CMD, cmd, SHARED_MEM_LOC_PAYLOAD, value);
shared_memory_scratchpad_save();
shared_memory_irq_hook();
sram_write(SHARED_MEM_LOC_STATE,SHARED_MEM_SNES_ACK);
sram_write(SHARED_MEM_LOC_CMD,cmd);
sram_write(SHARED_MEM_LOC_PAYLOAD,value);
sram_write(SHARED_MEM_LOC_STATE, SHARED_MEM_SNES_ACK);
sram_write(SHARED_MEM_LOC_CMD, cmd);
sram_write(SHARED_MEM_LOC_PAYLOAD, value);
snes_hirom();
snes_wr_disable();
snes_wr_disable();
snes_bus_active();
_delay_ms(50);
avr_bus_active();
snes_irq_lo();
snes_irq_off();
snes_lorom();
snes_wr_disable();
snes_wr_disable();
shared_memory_scratchpad_restore();
shared_memory_irq_restore();
}