00:00:00 --- log: started retro/12.10.08 02:53:51 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 04:28:29 --- quit: ncv (Ping timeout: 240 seconds) 07:43:51 --- quit: erider (Ping timeout: 256 seconds) 07:48:14 --- join: erider (~chatzilla@unaffiliated/erider) joined #retro 07:58:58 sorry tangentstorm I didn't follow 07:59:01 --- quit: obobo (Remote host closed the connection) 09:03:34 --- join: ncv (~quassel@89.123.22.68) joined #retro 09:03:35 --- quit: ncv (Changing host) 09:03:35 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 09:27:55 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 09:31:28 --- quit: obobo (Client Quit) 09:32:06 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 09:56:10 --- quit: ncv (Ping timeout: 248 seconds) 10:09:52 --- join: ncv (~quassel@89.123.22.68) joined #retro 10:09:52 --- quit: ncv (Changing host) 10:09:53 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 12:00:55 --- quit: ncv (Ping timeout: 244 seconds) 13:15:35 hi all 13:33:20 crc: :main lit, 1 lit, 2 +, out, 13:33:57 with this image print 3 13:58:15 erider: no 13:58:40 that will crash (not enough items on the stack for the out opcode) 13:58:52 and you'll need a routine to convert the number to a string 13:59:07 (console output is by character code, one char at a time) 13:59:37 * crc is getting ready to leave work, will try to help with this when he gets home (about an hour) 14:01:29 * erider is viewing both kernal.rx and assembler.rx for clues 14:01:38 kernel* 14:04:04 erider: out doesn't print, it puts a value in one of the ports 14:04:53 :main lit, 1 lit, 2 +, 0; 1 # 2 # out, wait 14:05:17 hrm 14:05:26 oops 14:05:54 :main lit, 1 m, lit, 2 m, +, 0; 1 # 2 # out, wait 14:06:18 erider: what are you trying to do? 14:07:16 ok I think I don't need lit, 1 m, lit, 2 m, it can be reduced to 1 # 2 # 14:07:53 : main 1 2 + putn ; 14:08:02 tangentstorm: I am trying to code directly into ngaro with the api in assembler.rx 14:08:04 that prints 3 14:08:32 ah 14:08:34 tangentstorm: I am creating an image that will print 14:08:45 ok 14:09:30 well trying 14:09:56 so to make any io thing happen, you always write " 0 0 out " 14:10:01 tangentstorm: btw what were you talking about with the b4 example you linked to me 14:10:02 and then "wait" 14:10:37 * tangentstorm never remembers what he was talking about :) 14:11:26 b4 is sort of my catch-all project for forth stuff... it was going to be a forth language 14:11:44 :main 1 # 2 # +, 0 # 0 # out, wait 14:12:01 do I need "wait" 14:12:07 yes 14:12:11 but you also need to actually tell it to print 14:12:14 it's three steps 14:12:38 step 1 : x y out to request the print of a character 14:12:48 i don't know the x and y off the top of my head 14:13:12 step 2 : 0 0 out to clear the lock on the io ports 14:13:25 step 3 : wait to actually trigger the hardware event loop 14:14:23 :main 1 # 2 # +, 0 # 0 # out, wait so this should work 14:14:31 * erider is going to try it 14:14:40 you're still missing step 1 14:15:00 0 # 0 # out, is step 1 right 14:15:32 ah x, y coords 14:15:55 so I need to have 0 # 0 # out 14:16:08 sorry, they're not coordinates... 14:16:17 they're a value and a port number 14:17:23 #1 #2 out, will request a print of whatever character is on TOS 14:17:44 :main 1 # 2 # +, 1# 2# out, 0 # 0 # out, wait 14:17:48 then #0 #0 out, wait makes it actually work 14:17:59 that looks right to me 14:19:16 * erider is off to create an image 14:19:25 oh, it's 1 # or #1 ... not 1# 14:19:32 good luck :) 14:20:19 1# ? 14:20:22 hmm 14:20:48 need spaces :9 14:20:51 yes 14:23:22 * erider wonders if he has to echo $? to see the output 14:25:19 erider: you won't see the output :) 14:26:15 the output will be the ascii character #3 ... it's a control character for START OF TEXT 14:26:27 er.. END OF TEXT 14:26:42 it's the character you get when you press control-C 14:27:11 to see a three, you'd need to output whatever ord('3') is 14:27:19 51 14:27:32 51 putc from the retro prompt will output 3 14:28:29 ok trying it again 14:29:21 http://www.ascii-codes.com/ 14:29:40 nothing 14:30:06 :main 30 # 21 # +, 1 # 2 # out, 0 # 0 # out, wait 14:30:50 hmm I may need to import kernel.rx 14:30:54 try a comma after the wait ? 14:31:04 i don't know, i've not used the assembler.rx 14:31:14 looking now 14:31:43 yeah you are right wait, 14:32:39 yesssssssssss! it worked 14:32:51 :) 14:33:27 hmm kernel my have a better api to use for the vm 14:33:44 kernel is the actual retro language 14:34:04 I know :-) that is why 14:34:14 :) 14:34:45 things like putn are defined 14:35:02 yeah 14:35:36 if you just want to scale it back, you could cut kernel.rx right before where it says "stage 3" 14:36:28 oh.. sorry. stage 3 is in doc/Commentary.txt ... 14:36:54 I meant right after "endKernel shrink bootNew" 14:37:22 everything from that point is "stage 3" in the commentary 14:37:58 it defines the bulk of the retro language in terms of the core defined in the top half of the file 14:40:14 tangentstorm: you are working on something to that effect with that perl script right 14:40:26 affect 14:46:08 tangentstorm: do you know with t: is defined 14:51:00 nevermind it is in meta 15:09:56 --- join: kumul (~kumul@cvx-ppp-66-50-130-239.coqui.net) joined #retro 15:49:49 erider: I could probably put together a small library of basic functions for use with the assembler 15:51:37 I was working on something like that but I keep getting seg fault, trying to mix and match from meta.rx, kernel.rx and assember.rx is not working out for me at the moment 15:54:28 I'll get something up and running this week 15:56:01 I just want to clean up and api that I can use to craft images for ngaro 15:56:16 some APIs 16:02:31 --- quit: obobo (Ping timeout: 276 seconds) 16:03:05 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 16:21:00 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 16:22:55 crc: hey 16:23:59 yes? 16:24:55 ah darn nevermind sorry I thought I had something 16:37:23 back 16:37:44 wb 16:39:52 erider: the perl script is kind of redundant once you have meta.rx or assembler.rx 16:40:09 --- quit: ncv (Ping timeout: 240 seconds) 16:40:42 tangentstorm: redundant? how so its another option 16:40:48 i'm trying to make a class that walks people through building things from scratch, so i'm doing everything in a really un-necessary way :) 16:41:20 bcompiler 16:41:24 :) 16:42:15 --- quit: obobo (Ping timeout: 255 seconds) 16:43:29 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 16:48:03 yep, something like that. it's going to be a pascal/oberon compiler that targets retro, and then maybe some other compilers that use that as an intermediate language 17:18:39 tangentstorm: ok 17:20:14 --- quit: obobo (Remote host closed the connection) 17:36:10 did we all go to sleep 17:36:21 no :) hey 17:36:44 * tangentstorm is fixing his bootstrap assembler 17:38:54 --- join: obobo (~chatzilla@dyn-dsl-pt-76-75-103-171.nexicom.net) joined #retro 17:47:30 crc: is it possible to resize the image dynamically? 17:52:15 ngaro.b4a is what 17:52:50 erider : it's an input file for b4asm in that same directory 17:53:22 does it make an image 17:53:24 if run b4asm ngaro.b4a you should get an ngaro image that crashes :) 17:53:35 oh 17:53:37 er "if you run" 17:53:53 i actually haven't tried running it 17:54:23 and now i'm being called away. 17:54:31 crc : nm. i don't need to resize it. 17:54:32 bbl 17:54:42 it is an image of ngaro that will run on ngaro? 18:26:06 back 18:26:26 wb 18:27:27 erider: yeah, the idea is i'm building an image by hand, cell by cell 18:27:57 hey are you done with the pascal port 18:28:00 anything in parens is ignored. anything with a : in front of it is just recording the current position 18:28:42 and anything else just grabs the number from the list of remembered items 18:29:27 erider: it runs but there's a bug in it... if you compile and run retro.pas, it will halt and show a debugger 18:30:11 oh 18:30:45 i think i just mistranslated one or more of the opcodes. i was planning to write a little test suite soon 18:30:51 but to do that i needed to be able to generate images :) 18:31:14 that is neat that you are doing it pascal. I haven't seen that language in awhile since delphi replaced it 18:32:08 * erider would be interesting in that 18:32:57 i'm using the free pascal compiler ( freepascal.org ) at the moment... it's mostly delphi compatible 18:32:58 seems like crc is going to make something with words we can use to make images 18:33:43 words == APIs 18:33:49 --- quit: SimonRC (Ping timeout: 260 seconds) 18:36:27 oh? ( reading back ) 18:37:16 erider: I could probably put together a small library of basic functions for use with the assembler 18:37:26 I'll get something up and running this week 18:38:41 ah :) cool 18:39:05 did you figure out why things aren't working for you when you mix and match from those files? 18:39:09 but what you are working on it interesting to 18:39:11 too 18:39:27 seg fault 18:39:35 partly 18:40:10 I was trying to get puts to work 18:40:38 putc seems to work now 18:40:38 --- join: SimonRC (~sc@fof.durge.org) joined #retro 18:41:03 the t: and i: are useful 18:41:13 good to define things 18:41:24 but something it breaking 18:41:33 is breaking** 18:41:55 did you read through doc/Commentary.txt ? 18:42:13 no not completely 18:42:37 you should look at it side by side with the code from kernel.rx 18:42:43 and meta.rx 18:42:52 meta.rx first actually 18:43:06 Commentary.txt walks you through those files and explains what they're doing 18:43:11 I was and meta-alt 18:43:40 * erider needs to look at Commentary.txt completely 18:44:32 meta-alt.rx and meta.rx do the same thing, or are supposed to. the -alt one does it at a low level close to the vm, the plain one uses high level retro words 18:44:52 I am happy that I got an image to run and product some output ;-) 18:45:11 yeah! :) 18:45:23 that is progress 18:45:25 what's your plan now? :) 18:46:10 it a good API to use and start making images to run on top of ngaro 18:48:57 i was going to say that the reason you can't mix and match from those files is because the words in kernel.rx depend on meta.rx being there first... And they're not normal retro words... i: and t: are like the top and bottom parts in a {{ --reveal-- }} section 18:49:21 i: is all hidden and t: is what gets exposed 18:50:04 so you can't just cut and paste t: words that depend on i: words because retro doesn't know the i: words 18:50:12 they're just helpers 18:52:20 did that make any sense? :) 18:54:12 erider: http://sprunge.us/CiNc for a simple 'hello world' image using the assembler 18:57:19 81 cells in size. could be made smaller, but this should be suitable as an example 19:00:57 @crc that assembler is pretty handy 19:09:59 tangentstorm: I need to finish documenting it, and provide some usage examples 19:18:25 I'll get a version with some additional documentation up tomorrow, and start on a library of i/o related functions and stuff that might be useful 19:20:27 why 8 >> dup applyMask writeByte ? 19:20:40 in writecell? 19:24:50 file i/o is byte by byte; this shifts out each section of the cell and writes it in order into the appImage file 19:26:08 oh. duh. :) 19:26:34 i was reading >> as "shift right one bit" instead of seeing the 8 as the number of bits to shift. makes perfect sense now. 19:26:52 thanks 19:27:01 no problem 19:27:43 rev 372 has additional documentation added to assembler.rx's doc{ ... block 19:28:21 that merges in the last few notes I had written on it originally 20:07:11 yeah that assembler is pretty nifty 20:10:24 hrm.. 0 variable: xyz +xyz halts the vm. why doesn't that work when +heap does? 20:11:07 oh. an underflow 20:14:13 trying to let the assembler make more than one image. i added a saveImageAs ... now i want to reclaim the memory 20:14:24 : reclaim ( n- ) -heap ; 20:14:28 should be that easy, right? 20:14:51 then MAX-APP-SIZE reclaim 20:27:42 you mean !heap ? 20:28:40 docl: no, like.... 10 +heap 20:28:54 ahh 20:29:20 why is the writer for opcode 25 0; instead of 0;, ? 20:29:38 in meta.rx, meta-alt.rx, and the assembler. 20:41:25 i get it. you'd never just do a raw 0; .. it's only used inside the compiler 20:43:22 yeah it's a compiler word 20:45:01 i gotta say, it annoys me now when i type e-x-it 20:45:15 er e-x-i-t-space at the shell and it doesn't just exit :) 20:46:25 the bash shell i mean. 20:49:58 yeah 20:50:27 why isn't it executing? oh yeah I need to hit enter 20:51:40 space is so much more ergonomic... :) 21:14:42 tangentstorm: whats wrong with ctrl+d ? 21:15:39 kumul: nothing. i use ^D too... exit was just the last command i happened to type 21:22:36 --- quit: tangentstorm (Ping timeout: 255 seconds) 21:30:03 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #retro 21:31:11 clear 21:31:14 gah 22:49:31 --- quit: kumul (Quit: good luck) 22:52:10 --- join: ncv (~quassel@89.123.22.68) joined #retro 22:52:10 --- quit: ncv (Changing host) 22:52:10 --- join: ncv (~quassel@unaffiliated/neceve) joined #retro 23:59:59 --- log: ended retro/12.10.08