# HG changeset patch # User Robert McIntyre # Date 1331174845 21600 # Node ID 02bca9640f3f41cb32f507453c434878181dab6b # Parent c44cf1f5954c94032c42aff225f741d51d8485bc refactor clojure level diff -r c44cf1f5954c -r 02bca9640f3f clojure/com/aurellem/gb_driver.clj --- a/clojure/com/aurellem/gb_driver.clj Wed Mar 07 20:37:46 2012 -0600 +++ b/clojure/com/aurellem/gb_driver.clj Wed Mar 07 20:47:25 2012 -0600 @@ -7,27 +7,25 @@ (future (Gb/startEmulator "/home/r/proj/pokemon-escape/roms/yellow.gbc"))) -(defn get-ram [] - (let [ram-store (int-array (Gb/getRAMSize))] - (Gb/getRAM ram-store) - ram-store)) +(defn cpu-data [size arr-fn] + (let [store (int-array size)] + (fn [] + (arr-fn store) + store))) -(defn get-rom [] - (let [rom-store (int-array (Gb/getROMSize))] - (Gb/getR0M rom-store) - rom-store)) +(def ram + (cpu-data (Gb/getRAMSize) #(Gb/getRAM %))) -(defn get-working-ram [] - (let [ram-store (int-array Gb/WRAM_SIZE)] - (Gb/getWRAM ram-store) - ram-store)) +(def rom + (cpu-data (Gb/getROMSize) #(Gb/getROM %))) -(defn get-video-ram [] - (let [ram-store (int-array Gb/VRAM_SIZE)] - (Gb/getVRAM ram-store) - ram-store)) +(def working-ram + (cpu-data Gb/WRAM_SIZE #(Gb/getWRAM %))) -(defn get-registers [] - (let [register-store (int-array Gb/NUM_REGISTERS)] - (Gb/getRegisters register-store) - register-store)) \ No newline at end of file +(def video-ram + (cpu-data Gb/VRAM_SIZE #(Gb/getVRAM %))) + +(def registers + (cpu-data Gb/NUM_REGISTERS #(Gb/getRegisters %))) + +