OSDN Git Service

[VM][FMTOWNS][RF5C60] Fix memory reak.
authorK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 29 Jan 2020 16:09:15 +0000 (01:09 +0900)
committerK.Ohta <whatisthis.sowhat@gmail.com>
Wed, 29 Jan 2020 16:09:15 +0000 (01:09 +0900)
source/src/vm/fmtowns/rf5c68.cpp
source/src/vm/fmtowns/rf5c68.h

index b3aa0f8..ea78d64 100644 (file)
@@ -35,7 +35,13 @@ void RF5C68::initialize()
        dac_on = false;
        dac_bank = 0;
        dac_ch = 0;
+       sample_buffer = NULL;
+}
 
+void RF5C68::release()
+{
+       if(sample_buffer != NULL) free(sample_buffer);
+       sample_buffer = NULL;
 }
 
 void RF5C68::reset()
index 4986553..f788788 100644 (file)
@@ -83,15 +83,16 @@ public:
        ~RF5C68() {}
 
        void initialize();
+       void release();
        void reset();
 
-       uint32_t read_data8(uint32_t addr);
-       void write_data8(uint32_t addr, uint32_t data);
-       uint32_t read_io8(uint32_t addr);
-       void write_io8(uint32_t addr, uint32_t data);
+       uint32_t __FASTCALL read_data8(uint32_t addr);
+       void __FASTCALL write_data8(uint32_t addr, uint32_t data);
+       uint32_t __FASTCALL read_io8(uint32_t addr);
+       void __FASTCALL write_io8(uint32_t addr, uint32_t data);
        
-       uint32_t read_signal(int ch);
-       void write_signal(int ch, uint32_t data, uint32_t mask);
+       uint32_t __FASTCALL read_signal(int ch);
+       void __FASTCALL write_signal(int ch, uint32_t data, uint32_t mask);
 
        void event_callback(int id, int err);