OSDN Git Service

[VM]Fix FTBFS.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 30 Jun 2018 04:12:27 +0000 (13:12 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Sat, 30 Jun 2018 04:12:27 +0000 (13:12 +0900)
source/src/vm/colecovision/memory.cpp
source/src/vm/ex80/memory.cpp
source/src/vm/familybasic/apu.cpp
source/src/vm/familybasic/memory.cpp
source/src/vm/familybasic/ppu.h
source/src/vm/fm7/fm_bubblecasette.cpp

index 60b5904..76f201b 100644 (file)
@@ -93,7 +93,7 @@ void MEMORY::close_cart()
 
 #include "../../statesub.h"
 
-void KEYBOARD::decl_state(void)
+void MEMORY::decl_state(void)
 {
        enter_decl_state(STATE_VERSION);
        DECL_STATE_ENTRY_1D_ARRAY(ram, sizeof(ram));
index 96a83fd..1d11b69 100644 (file)
@@ -103,7 +103,7 @@ void MEMORY::save_binary(const _TCHAR* file_path)
 
 #include "../../statesub.h"
 
-void KEYBOARD::decl_state(void)
+void MEMORY::decl_state(void)
 {
        enter_decl_state(STATE_VERSION);
        DECL_STATE_ENTRY_1D_ARRAY(ram, sizeof(ram));
index 573bca6..607ef95 100644 (file)
@@ -819,30 +819,30 @@ void APU::decl_state_rectangle(int num)
        DECL_STATE_ENTRY_INT32_MEMBER((rectangle[num].env_phase), num);
        DECL_STATE_ENTRY_INT32_MEMBER((rectangle[num].env_delay), num);
        DECL_STATE_ENTRY_UINT8_MEMBER((rectangle[num].env_vol), num);
-       DECL_STATE_ENTRY_INT_MEMBER((rectangle[num].vbl_length), num);
+       DECL_STATE_ENTRY_INT32_MEMBER((rectangle[num].vbl_length), num);
        DECL_STATE_ENTRY_UINT8_MEMBER((rectangle[num].adder), num);
-       DECL_STATE_ENTRY_INT_MEMBER((rectangle[num].duty_flip), num);
+       DECL_STATE_ENTRY_INT32_MEMBER((rectangle[num].duty_flip), num);
        DECL_STATE_ENTRY_BOOL_MEMBER((rectangle[num].enabled_cur), num);
        DECL_STATE_ENTRY_BOOL_MEMBER((rectangle[num].holdnote_cur), num);
-       DECL_STATE_ENTRY_INT_MEMBER((rectangle[num].vbl_length_cur), num);
+       DECL_STATE_ENTRY_INT32_MEMBER((rectangle[num].vbl_length_cur), num);
 }
 void APU::decl_state_triangle()
 {
-       DECL_STATE_ENTRY_1D_ARRAY((trinangle.regs), 3);
-       DECL_STATE_ENTRY_BOOL((trinangle.enabled));
-       DECL_STATE_ENTRY_INT32((trinangle.freq));
-       DECL_STATE_ENTRY_INT32((trinangle.phaseacc));
-       DECL_STATE_ENTRY_INT32((trinangle.output_vol));
-       DECL_STATE_ENTRY_UINT8((trinangle.adder));
-       DECL_STATE_ENTRY_BOOL((trinangle.holdnote));
-       DECL_STATE_ENTRY_BOOL((trinangle.counter_started));
-       DECL_STATE_ENTRY_INT((trinangle.write_latency));
-       DECL_STATE_ENTRY_INT((trinangle.vbl_length));
-       DECL_STATE_ENTRY_INT((trinangle.linear_length));
-       DECL_STATE_ENTRY_BOOL((trinangle.enabled_cur));
-       DECL_STATE_ENTRY_BOOL((trinangle.holdnote_cur));
-       DECL_STATE_ENTRY_BOOL((trinangle.counter_started_cur));
-       DECL_STATE_ENTRY_INT((trinangle.vbl_length_cur));
+       DECL_STATE_ENTRY_1D_ARRAY((triangle.regs), 3);
+       DECL_STATE_ENTRY_BOOL((triangle.enabled));
+       DECL_STATE_ENTRY_INT32((triangle.freq));
+       DECL_STATE_ENTRY_INT32((triangle.phaseacc));
+       DECL_STATE_ENTRY_INT32((triangle.output_vol));
+       DECL_STATE_ENTRY_UINT8((triangle.adder));
+       DECL_STATE_ENTRY_BOOL((triangle.holdnote));
+       DECL_STATE_ENTRY_BOOL((triangle.counter_started));
+       DECL_STATE_ENTRY_INT((triangle.write_latency));
+       DECL_STATE_ENTRY_INT((triangle.vbl_length));
+       DECL_STATE_ENTRY_INT((triangle.linear_length));
+       DECL_STATE_ENTRY_BOOL((triangle.enabled_cur));
+       DECL_STATE_ENTRY_BOOL((triangle.holdnote_cur));
+       DECL_STATE_ENTRY_BOOL((triangle.counter_started_cur));
+       DECL_STATE_ENTRY_INT((triangle.vbl_length_cur));
        
 }
 
@@ -894,11 +894,14 @@ void APU::decl_state_dmc()
        DECL_STATE_ENTRY_BOOL((dmc.irq_occurred_cur));
 }
 
-void APU::decl_state_queue(int num)
+void APU::decl_state_queue(int __size)
 {
-       DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].timestamp), num);
-       DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].addr), num);
-       DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].data), num);
+//     DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].timestamp), num);
+//     DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].addr), num);
+//     DECL_STATE_ENTRY_UINT32_MEMBER((queue[num].data), num);
+       DECL_STATE_ENTRY_UINT32_STRIDE((queue[0].timestamp), __size, sizeof(queue_t));
+       DECL_STATE_ENTRY_UINT32_STRIDE((queue[0].addr),      __size, sizeof(queue_t));
+       DECL_STATE_ENTRY_UINT32_STRIDE((queue[0].data),      __size, sizeof(queue_t));
 }
 
 void APU::decl_state()
@@ -914,7 +917,7 @@ void APU::decl_state()
        DECL_STATE_ENTRY_UINT32(enable_reg_cur);
        DECL_STATE_ENTRY_INT32(count_rate);
        
-       for(int i = 0; i < APUQUEUE_SIZE) decl_state_queue(i);
+       decl_state_queue(APUQUEUE_SIZE);
        
        DECL_STATE_ENTRY_INT32(q_head);
        DECL_STATE_ENTRY_INT32(q_tail);
index 097bde4..197454a 100644 (file)
@@ -905,7 +905,7 @@ void MEMORY::decl_state()
        DECL_STATE_ENTRY_1D_ARRAY(banks, sizeof(banks) / sizeof(uint32_t));
        DECL_STATE_ENTRY_UINT16(dma_addr);
        DECL_STATE_ENTRY_UINT8(frame_irq_enabled);
-       DECL_STATE_ENTRY_1D_ARRAY(mmc5_wram_bank, sizeof(mmc5_wram_bank)/ sizeof(uint32_r));
+       DECL_STATE_ENTRY_1D_ARRAY(mmc5_wram_bank, sizeof(mmc5_wram_bank)/ sizeof(uint32_t));
        DECL_STATE_ENTRY_2D_ARRAY(mmc5_chr_reg, 8, 2);
        DECL_STATE_ENTRY_UINT32(mmc5_value0);
        DECL_STATE_ENTRY_UINT32(mmc5_value0);
index b0efdde..1148968 100644 (file)
@@ -76,6 +76,7 @@ public:
        void write_data8(uint32_t addr, uint32_t data);
        uint32_t read_data8(uint32_t addr);
        void event_vline(int v, int clock);
+       void decl_state();
        void save_state(FILEIO* state_fio);
        bool load_state(FILEIO* state_fio);
        
index 0ea7c88..c8d2656 100644 (file)
@@ -682,7 +682,7 @@ void BUBBLECASETTE::event_callback(int event_id, int err)
 }
 
 
-#define STATE_VERSION 3
+#define STATE_VERSION 4
 #include "../../statesub.h"
 
 void BUBBLECASETTE::decl_state(void)
@@ -721,17 +721,18 @@ void BUBBLECASETTE::decl_state(void)
        DECL_STATE_ENTRY_INT(bubble_type);
        DECL_STATE_ENTRY_INT(media_num);
        // Header
-       DECL_STATE_ENTRY_MULTI(void, bbl_header.filename, sizeof(bbl_header.filename));
+       DECL_STATE_ENTRY_STRING(image_path, sizeof(image_path));
+       DECL_STATE_ENTRY_1D_ARRAY((bbl_header.filename), sizeof(bbl_header.filename));
        DECL_STATE_ENTRY_PAIR((bbl_header.size));
        DECL_STATE_ENTRY_PAIR((bbl_header.offset));
-       DECL_STATE_ENTRY_MULTI(void, bbl_header.misc, sizeof(bbl_header.misc));
+       DECL_STATE_ENTRY_1D_ARRAY((bbl_header.misc), sizeof(bbl_header.misc));
+
 
-       DECL_STATE_ENTRY_MULTI(void, image_path, sizeof(image_path));
        DECL_STATE_ENTRY_UINT32(media_offset);
        DECL_STATE_ENTRY_UINT32(media_offset_new);
        DECL_STATE_ENTRY_UINT32(media_size);
        DECL_STATE_ENTRY_UINT32(file_length);
-       DECL_STATE_ENTRY_MULTI(void, bubble_data, sizeof(bubble_data));
+       DECL_STATE_ENTRY_1D_ARRAY(bubble_data, sizeof(bubble_data));
 
        leave_decl_state();
 }