1.1 diff -r dbf4ba9563c9 -r 67bf6abb6e79 src/main.c 1.2 --- a/src/main.c Sun Nov 28 22:01:45 2010 +0000 1.3 +++ b/src/main.c Sun Nov 28 22:04:14 2010 +0000 1.4 @@ -40,11 +40,13 @@ 1.5 // Initialise hardware registers 1.6 state.romlmap = false; 1.7 1.8 - // Allocate RAM 1.9 - // TODO: make sure ram size selection is valid (512K, 1MB, 1.5MB, 2MB, 2.5MB, 3MB or 4MB)! 1.10 + // Allocate RAM, making sure the user has specified a valid RAM amount first 1.11 + // Basically: 512KiB minimum, 4MiB maximum, in increments of 512KiB. 1.12 + if ((state.ram_size < 512*1024) || ((state.ram_size % (512*1024)) != 0)) 1.13 + return -1; 1.14 state.ram = malloc(state.ram_size); 1.15 if (state.ram == NULL) 1.16 - return -1; 1.17 + return -2; 1.18 1.19 // Load ROMs 1.20 FILE *r14c, *r15c;