00:00:00 --- log: started retro/12.03.29 00:02:30 --- join: roarde (~roarde@pdpc/supporter/active/roarde) joined #retro 00:16:10 --- quit: roarde (Quit: Leaving) 04:39:32 https://gist.github.com/2236142 patches {{ ---reveal--- }} and header to move function headers away from the compiled code 05:56:17 hmm, seems to cause some corruption when used 06:18:47 bug fixed :) 06:19:34 with this loaded into the image, the file size is down to 7774 cells (from 8532), though it does consume a bit of memory at the end of heap during use 08:22:02 --- join: __tthomas__ (~tthomas@slosvr6.aeromecheng.com) joined #retro 08:23:50 <__tthomas__> crc made good progress on C# files, now only two test fail, it looks like a reporting bug as it is doing what it is supposed to.. When try to create file that is readonly, or r+ it doesn't create the file and should be sending a zero for status, but for whatever reason retro doesn't get the 0 for status.. 09:48:28 __tthomas__: take a look at https://gist.github.com/2236142 09:49:02 this relocates the hidden headers between {{ and }} so they aren't saved 09:49:29 <__tthomas__> very nice, done any experiments to see how much memory actually saves? 09:50:08 when used in the kernel, this saves over 775 cells 09:50:30 <__tthomas__> very cool, a little surprised it isn't more.. 09:50:47 I've not committed it yet, but the image is down to 7774 cells (from 8532) 09:50:54 <__tthomas__> then again aren't the buffers also saved in kernel? 09:51:54 only the text input buffer 09:52:26 <__tthomas__> gotcha, which is only 256 cells.. still pretty nice.. :) 09:52:26 the others float a bit above 'here', so generally don't get saved 09:52:55 * crc may redo the memory mapping a bit, to make it easier to work around the buffers 09:53:33 I'm thinking of reserving space at the end of physical memory for the buffers instead of starting at the end of allocated memory 09:57:18 <__tthomas__> once determine where end of actual code/heap is we could update variable locations as well, and copy values over on startup, allocate tib.. 09:57:47 <__tthomas__> dealing with flash is such a major pain.. 10:02:12 <__tthomas__> I think for testing going to make a version of ngaro with segmented memory model, low (rom) memory and high (ram) memory.. Which boots from rom instead of a file.. 10:04:07 <__tthomas__> what is github gist? 10:04:14 retro: 03crc  * rcrc@questor-20120329170344-lgy68reh317hdk8j 10rx/ (image/kernel.rx retroImage): no longer keep hidden headers defined in a {{ }} block 10:04:19 gist is basically a pastebin service 10:04:44 <__tthomas__> ah, I used to use pastebin.. very handy.. 10:21:39 --- quit: crc (Ping timeout: 250 seconds) 10:32:33 retro: 03crc  * rcrc@questor-20120329173210-tsflpx2jkyrofr81 10rx/ (image/kernel.rx image/meta.rx retroImage): move tib to end of memory [start of rework of memory layout] 10:34:35 --- join: crc (~crc@li125-93.members.linode.com) joined #retro 10:56:16 <__tthomas__> crc it may not be worth it, but pow,abs,min,max and random aren't actually used in image, I was wondering if it made more sense to move them to math.rx 10:57:37 <__tthomas__> and surprisingly needs and include don't depend on files vocabularly, so it could actually be a library.. 10:58:15 --- join: Kumul (~Kumul@adsl-72-50-66-190.prtc.net) joined #retro 11:25:45 __tthomas__: I could potentially move things. I moved the console' vocabulary out, so there is precedent 11:30:12 moving out files' would save another 387 cells 11:30:20 <__tthomas__> I did a quick experiment, got kernel.rx down to 26K and it was still able to compile 34K version.. Had to be careful, I left strings in, but took out text and advanced string formatting, which meant had to remove with/without.. but it did work, and I was still able to re-add them just by recompiling full kernel.. 34128 old kernel - 26072 stripped kernel size in bytes.. 11:32:44 I'm somewhat limited by a commitment I made to keep the 11.x releases compatible with each other 11:33:34 <__tthomas__> understood, which is why I would not want to remove anything that can't be readded with a simple needs save bye 11:34:05 <__tthomas__> and default kernel would be the same, saving a few bytes on 32 bit doesn't really matter.. :) 11:58:17 retro: 03crc  * rcrc@questor-20120329185753-swdnore0pzcf13bj 10rx/ (20 files in 11 dirs): move pow, abs, min, max, random to math' 12:31:47 <__tthomas__> Interesting, only version shorter than F# version is the retro version of ngaro, but retro version has tons of whitespace due to all the comments.. I guess it does have a slight unfair advantage... 12:59:41 retro: 03crc  * rcrc@questor-20120329195917-lx7z0k07pmjqi9i2 10rx/ (21 files in 14 dirs): move files' into the library and out of the standard image 13:13:34 18KiB image now (6945 cells) 13:13:46 <__tthomas__> impressive 13:14:48 <__tthomas__> If it is 6945 cells why is it 18KiB and not 14KiB? 13:17:51 sorry, looked at the wrong line; 27KiB 13:18:15 <__tthomas__> ooh, nice, under 15K for 16 bit is about perfect size.. 13:19:22 retro: 03crc  * rcrc@questor-20120329201858-q34frozfoxm4pv5b 10rx/library/introspection.rx: fix segfault when loading introspection' 13:20:02 that doesn't include memory consumed by the tib and string buffers, but it's much smaller than before 13:21:05 once I finish moving the buffers to the end of memory, it'll be easier to determine the actual memory usage 13:21:41 <__tthomas__> true, it also doesn't include stacks or program counter either.. but one of boards I have has 32K of ram, so its nice that image is less than half.. 13:23:35 <__tthomas__> and netduino which is 32 bit, has 60 KB of ram, so also less than half, so pretty nice.. It drops down to 32K if you get netduino plus with ethernet loaded.. 13:26:11 on my mbed.org board, I have 32K of ram, with 8K used for stacks, vm variables, and the rest for the image 13:26:46 I use a 16-bit image, though the CPU is 32-bit 13:27:06 ok2 has an implementation running on his arduino 13:29:31 <__tthomas__> yeah, I would do the same.. I read ok2 source, he has 2560 which has 8K of ram, so whenever need to do a write, he copies cell to memory and adds an address cell, and always checks to see if address exists in memory already when doing load and store.. It works, but for popular arduino UNO you don't have 8K only have 2K, so doubt be able to do that.. 13:41:13 there is support for mega328, which is used in the UNO 13:42:31 <__tthomas__> is there? cool.. wonder if it is arduino or C with fuses set to allow writing to eeprom.. 13:48:50 <__tthomas__> cool, will have to try this out later, slightly different than configuration that I was intending.. uses gcc and avrdude, but is compatible with arduino bootloader.. 17:01:30 --- quit: SimonRC (Ping timeout: 240 seconds) 17:13:49 --- join: SimonRC (~sc@fof.durge.org) joined #retro 17:20:11 --- quit: __tthomas__ (Quit: Leaving.) 17:29:02 retro: 03crc  * rcrc@questor-20120330002839-1z3twq8rhlz2jwmo 10rx/ (RELEASE_NOTES.rst image/kernel.rx retroImage): move remaining temporary string buffers to end of memory, buffer sizes now dynamic n relation to STRING-LENGTH and STRING-BUFFERS 17:31:13 retro: 03crc  * rcrc@questor-20120330003051-3r109mi6p3jm9ac8 10rx/ (image/kernel.rx retroImage): and make sure to leave 2k cells for temporary headers 17:45:02 https://gist.github.com/2245365 is the layout of the buffers as they currently stand 20:19:47 --- join: __tthomas__ (~Owner@24.130.7.34) joined #retro 20:20:18 <__tthomas__> crc just checked in c# version, passes all tests now, found implementation issue with file delete that I fixed.. 20:50:58 --- quit: Kumul (Quit: gone) 22:54:18 <__tthomas__> crc okay fixed a pretty major bug, I think F# version will have same issue, I will test it out tommorrow, also added foreground, background colors and cursor positioning 22:54:22 --- part: __tthomas__ left #retro 23:23:59 --- quit: SimonRC (*.net *.split) 23:24:28 --- join: roarde (~roarde@pdpc/supporter/active/roarde) joined #retro 23:59:59 --- log: ended retro/12.03.29