OSDN Git Service

fb1ae51ab09446fbfbd809643b9473c462625bd8
[unagi/old-svn-converted.git] / kazzo / trunk / firmware / bus_access.h
1 #ifndef _BUS_ACCESS_H_
2 #define _BUS_ACCESS_H_
3 void bus_init(void);
4 void phi2_init(void);
5 void phi2_update(void);
6 void cpu_read(uint16_t address, uint16_t length, uint8_t *data);
7 void cpu_read_6502(uint16_t address, uint16_t length, uint8_t *data);
8 void ppu_read(uint16_t address, uint16_t length, uint8_t *data);
9 void cpu_write_6502(uint16_t address, uint16_t length, const uint8_t *data);
10 void cpu_write_flash(uint16_t address, uint16_t length, const uint8_t *data);
11 void ppu_write(uint16_t address, uint16_t length, const uint8_t *data);
12
13 enum compare_status{
14         OK, NG
15 };
16 enum compare_status cpu_compare(uint16_t address, uint16_t length, const uint8_t *data);
17 enum compare_status ppu_compare(uint16_t address, uint16_t length, const uint8_t *data);
18 enum{
19         FLASH_PROGRAM_ORDER = 3
20 };
21 struct flash_order{
22         uint16_t address;
23         uint8_t data;
24 };
25 void cpu_write_flash_order(const struct flash_order *t);
26 void ppu_write_order(const struct flash_order *t);
27 uint8_t vram_connection_get(void);
28
29 #include <util/delay.h>
30 static inline void clock_wait(double clock)
31 {
32         _delay_us(clock * 0.55);
33 }
34 #endif