ptr.free
This commit is contained in:
@@ -46,4 +46,4 @@ func main[] : i64
|
||||
|
||||
i += 1
|
||||
|
||||
mem.free(memory)
|
||||
memory->free()
|
||||
|
||||
@@ -21,8 +21,7 @@ struct CHIP8
|
||||
display: ptr
|
||||
keyboard_map: Array
|
||||
|
||||
func chip8_create[] : CHIP8
|
||||
c := new* CHIP8
|
||||
func CHIP8.init[c: CHIP8] : void
|
||||
c->memory = mem.alloc(4096)
|
||||
mem.zero(c->memory, 4096)
|
||||
c->display = mem.alloc(64*32)
|
||||
@@ -43,18 +42,16 @@ func chip8_create[] : CHIP8
|
||||
// see KeyboardKey in raylib.h
|
||||
c->keyboard_map = [49, 50, 51, 52, 53, 265, 32, 263, 264, 262, 87, 69, 82, 84, 89, 85]
|
||||
|
||||
return c
|
||||
|
||||
func chip8_free[c: CHIP8] : void
|
||||
mem.free(c->memory)
|
||||
func CHIP8.free[c: CHIP8] : void
|
||||
c->memory->free()
|
||||
c->stack->free()
|
||||
mem.free(c->reg)
|
||||
c->reg->free()
|
||||
c->keyboard->free()
|
||||
mem.free(c->display)
|
||||
c->display->free()
|
||||
c->keyboard_map->free()
|
||||
mem.free(c)
|
||||
(c as ptr)->free()
|
||||
|
||||
func chip8_disassemble[c: CHIP8, ins_count: i64] : void
|
||||
func CHIP8.disassemble[c: CHIP8, ins_count: i64] : void
|
||||
for i in 0..ins_count
|
||||
io.printf("0x%x: ", c->pc)
|
||||
|
||||
@@ -153,7 +150,7 @@ func chip8_disassemble[c: CHIP8, ins_count: i64] : void
|
||||
else
|
||||
io.printf("??? (%x)\n", ins)
|
||||
|
||||
func chip8_step[c: CHIP8] : void
|
||||
func CHIP8.step[c: CHIP8] : void
|
||||
high := c->memory[c->pc] as i64
|
||||
low := c->memory[c->pc + 1] as i64
|
||||
c->pc += 2
|
||||
@@ -288,7 +285,8 @@ func main[argc: i64, argv: ptr] : i64
|
||||
io.println("Usage: chip8 -d <path>")
|
||||
return 1
|
||||
|
||||
c := chip8_create()
|
||||
c := new CHIP8
|
||||
c->init()
|
||||
|
||||
~buffer, ok := io.read_binary_file(path)
|
||||
if !ok
|
||||
@@ -298,7 +296,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
c->memory[0x200 + i] = buffer->data[i]
|
||||
|
||||
if disassemble
|
||||
chip8_disassemble(c, buffer->size / 2)
|
||||
c->disassemble(buffer->size / 2)
|
||||
return 0
|
||||
|
||||
InitWindow(640, 320, "CHIP-8")
|
||||
@@ -312,7 +310,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
// TODO: buzzer
|
||||
|
||||
for i in 0..25
|
||||
chip8_step(c)
|
||||
c->step()
|
||||
|
||||
BeginDrawing()
|
||||
|
||||
|
||||
@@ -41,7 +41,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
req->append(host)
|
||||
req->append("\r\nConnection: close\r\n\r\n")
|
||||
net.send(s, req->data, req->size)
|
||||
mem.free(req->data)
|
||||
req->destroy()
|
||||
|
||||
header_buf := mem.alloc(8192) as str
|
||||
header_size := 0
|
||||
@@ -64,7 +64,7 @@ func main[argc: i64, argv: ptr] : i64
|
||||
|
||||
if end_index < header_size
|
||||
io.print_sized(header_buf as ptr + end_index, header_size as i64 - end_index)
|
||||
mem.free(header_buf)
|
||||
header_buf->free()
|
||||
|
||||
buffer := mem.alloc(4096)
|
||||
while true
|
||||
@@ -72,6 +72,6 @@ func main[argc: i64, argv: ptr] : i64
|
||||
if n <= 0
|
||||
break
|
||||
io.print_sized(buffer, n)
|
||||
mem.free(buffer)
|
||||
buffer->free()
|
||||
|
||||
net.close(s)
|
||||
|
||||
@@ -8,6 +8,6 @@ func main[] : i64
|
||||
s_rev := s->reverse()
|
||||
if s->equal(s_rev)
|
||||
out = a * b
|
||||
mem.free(s)
|
||||
mem.free(s_rev)
|
||||
s->free()
|
||||
s_rev->free()
|
||||
io.println_i64(out)
|
||||
|
||||
Reference in New Issue
Block a user