diff --git a/data/Memory.xml b/data/Memory.xml
index fd0072623..3b50deb28 100644
--- a/data/Memory.xml
+++ b/data/Memory.xml
@@ -1721,6 +1721,7 @@ map_data_1b60_offset 0x1B9c
f0459165a426a9f2dd8d957e9fa7f01d
0x4C4C32E7
+ 0x18313D0
.-"""-.
' \
diff --git a/library/modules/Position.cpp b/library/modules/Position.cpp
index ab3fccba3..694db6838 100644
--- a/library/modules/Position.cpp
+++ b/library/modules/Position.cpp
@@ -177,7 +177,7 @@ bool Position::getScreenTiles (int32_t width, int32_t height, t_screen screen[])
if(!d->StartedScreen) return false;
uint32_t screen_addr;
- d->owner->read (d->screen_tiles_ptr_offset, sizeof(uint32_t), (uint8_t *) screen_addr);
+ d->owner->read (d->screen_tiles_ptr_offset, sizeof(uint32_t), (uint8_t *) &screen_addr);
uint8_t* tiles = new uint8_t[width*height*4/* + 80 + width*height*4*/];
@@ -187,10 +187,10 @@ bool Position::getScreenTiles (int32_t width, int32_t height, t_screen screen[])
{
for(int32_t ix=0; ix