diff --git a/contiki-cpc/arch/malloc.c b/contiki-cpc/arch/malloc.c
index d4e91b5..d9b8539 100644
--- a/contiki-cpc/arch/malloc.c
+++ b/contiki-cpc/arch/malloc.c
@@ -21,39 +21,31 @@
 /* Address of this variable is the last byte of the heap. */
 //extern char _sdcc_heap_end;
 
-extern char *get_ram_start();
-extern char *get_ram_end();
-extern void calc_free_ram();
 extern char progend;
 
 static MEMHEADER *firstheader;
 /* setup two headers. One at start of free ram, second at end of free ram.
- We find free ram range by asking Amstrad's firmware. */
+ *
+ * Free ram starts after the _BSS segment.
+ * Free RAM ends before the memory used by expansion ROMs. For now we only
+ * consider ROM 7 (AMSDOS), which must be initialized before calling
+ * _sdcc_heap_init - probably in crt0.s...
+ */
 
 void
 _sdcc_heap_init(void)
 {
   MEMHEADER *lastheader;
-  unsigned int size;
-  char * ramstart;
-
-  /* ask firmware for free ram */
-  calc_free_ram();
-
-  /* start of ram is either start of range given by firmware,
-  or end of program; whichever is largest */
-  ramstart = get_ram_start();
-  if (ramstart<&progend)
-	ramstart = &progend;
+  int ramend;
 
   /* this is our first mem header */
-  firstheader = (MEMHEADER *)ramstart;
+  firstheader = (MEMHEADER *)(&progend);
   
   /* this is the size of ram available */
-  size = get_ram_end() - ramstart;
+  ramend = *(int*)(0xb8e8);
 
   /* calc address of last header */
-  lastheader = (MEMHEADER *)((char *)firstheader + size - HEADER_SIZE); 
+  lastheader = (MEMHEADER *)(ramend - HEADER_SIZE); 
   
   /* setup last header */
   lastheader->next = NULL;
