Skip to content

Commit 97e9139

Browse files
committed
Fix bug in memcpy()
1 parent 1e10b30 commit 97e9139

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

src/api.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -676,8 +676,8 @@ static int pico8_srand(lua_State* L)
676676

677677
static int pico8_memcpy(lua_State* L)
678678
{
679-
uint16_t source_addr = fix32_to_uint16(luaL_checkunsigned(L, 1));
680-
uint16_t dest_addr = fix32_to_uint16(luaL_checkunsigned(L, 2));
679+
uint16_t dest_addr = fix32_to_uint16(luaL_checkunsigned(L, 1));
680+
uint16_t source_addr = fix32_to_uint16(luaL_checkunsigned(L, 2));
681681
uint32_t len = fix32_to_uint32(luaL_checkunsigned(L, 3));
682682

683683
// Clamp length so that both source and destination stay within RAM_SIZE.

tests/tests.p8

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -175,17 +175,17 @@ function run_tests()
175175
pset(10, 10, 0)
176176
assert_equal(pget(10, 10), 0, "pget(10, 10)")
177177

178-
memset(0x6000, 0xab, 8)
178+
memset(0x6000, 0xab, 2)
179179
assert_equal(peek2(0x6000), 0xabab, "memset(0x6000, 0xab, 8)")
180-
memset(0x6002, 0xba, 8)
181-
assert_equal(peek2(0x6002), 0xbaba, "memset(0x6002, 0xba, 8)")
182-
183-
memcpy(0x6000, 0x7000, 2)
184-
assert_equal(peek2(0x6000), peek2(0x7000), "memcpy(0x6000, 0x7000, 2)")
185-
assert_equal(peek2(0x7000), 0xabab, "memcpy(0x6000, 0x7000, 2)")
186-
memcpy(0x6002, 0x7002, 2)
187-
assert_equal(peek2(0x6002), peek2(0x7002), "memcpy(0x6002, 0x7002, 2)")
188-
assert_equal(peek2(0x7002), 0xbaba, "memcpy(0x6002, 0x7002, 2)")
180+
181+
memcpy(0x6080, 0x6000, 2)
182+
assert_equal(peek2(0x6080), 0xabab, "memcpy(0x6080, 0x6000, 2)")
183+
184+
memset(0x6000, 0, 0x1fc0)
185+
memset(0x6040, 0xf9, 0x1fc0)
186+
assert_equal(peek2(0x6040), 0xf9f9, "memset(0x6040, 0xf9, 0x1fc0)")
187+
memcpy(0x6000,0x6040,0x1fc0)
188+
assert_equal(peek2(0x6000), 0xf9f9, "memcpy(0x6000, 0x6040, 0x1fc0)")
189189
end
190190

191191
run_tests()

0 commit comments

Comments
 (0)