00:06:28 well, probably time to go. 00:06:34 bye 00:06:36 <{^Raven^}> bye 00:06:38 -!- Keymaker has left (?). 00:07:05 hi 00:07:10 damn, i missed keymaker 00:07:11 :D 00:07:13 <{^Raven^}> hi 00:07:18 <{^Raven^}> by about 3 secomds 00:10:43 yeah :( 05:15:11 -!- calamari has joined. 05:17:17 hi 05:33:38 <{^Raven^}> hi 05:35:35 hi raven, whatcha doing up so late? 05:35:57 <{^Raven^}> was trying to sleep 05:36:26 do you have irc wake you up or something? 05:37:20 <{^Raven^}> nah, PC is too far away 05:37:23 hey.. since you're here, spring break is over 05:37:40 so I'll post what I have on cvs and leave things in your capable hands 05:38:02 <{^Raven^}> cool, i'll look forward to it 05:38:08 might do a bit more tomorrow, no telling though 05:38:12 'k 05:38:31 <{^Raven^}> have you managed to track down the bugs in the array handling? 05:38:47 new bugs? 05:39:06 I completely replaced the old array handling code 05:39:10 <{^Raven^}> the ones in the code I sent to you to demonstrate a couple 05:39:40 have I sent you the new bfasm array code? 05:39:46 <{^Raven^}> no 05:39:56 oic 05:40:06 <{^Raven^}> i have bfbasic 1.40beta3 i think 05:40:06 there is some kind of problem with -O3 btw 05:40:19 it was what was crashing me the other day 05:40:35 so don't use that for the time being :) 05:40:58 I have some half-bf/half-basic code written up for the new print statement 05:41:15 didn't ever do the return statement :| 05:41:34 <{^Raven^}> hehe, what happens if you do? 05:41:57 ? just haven't implemented it yet 05:42:11 <{^Raven^}> i was thinking of ways to emulate functions and procedures using a form of GOSUB 05:43:05 <{^Raven^}> passing parameters and returning values looks quite simple 05:44:08 <{^Raven^}> if i can add multiple source file handling it would open up function libraries 05:44:57 I think the next thing to do is string support 05:45:03 that's what is really lacking 05:45:22 but wherever you take it is fine :) 05:46:48 <{^Raven^}> i wonder how many people might get involved in the SF side 05:47:19 no one can just jump in.. would have to add them as a developer 05:47:29 or they could fork it, since it's gpl 05:49:07 you're really the only one who has shown more than passing interest 05:49:39 <{^Raven^}> i can;t imagine why that would be 05:50:08 because it's basic and not c, is my guess :) 05:50:50 <{^Raven^}> basic is underrated these days IMHO 05:51:50 yeah, however I can see the point a little.. other languages just seem to be more suited to larger projects 05:52:22 <{^Raven^}> how is your bfcc coming along? 05:52:58 was going to work on it during spring break, but we worked on bfbasic instead 05:53:13 <{^Raven^}> apologies for distracting you ;) 05:53:17 probably for the best, have a compilers class next semester and maybe I'll be able to do a better job 05:54:02 <{^Raven^}> i have a cross-compiler that i wrote for fun that could be retarteted to bfbasic 05:54:47 <{^Raven^}> *retargeted 05:55:09 <{^Raven^}> for development of text adventures 05:55:17 <{^Raven^}> i reckon it might interest a few people 05:55:27 <{^Raven^}> get some more ppl interested in bfbasic 05:57:56 that'd be cool 05:58:22 would you be willing fto have your game packaged with bfbasic? that'd be really neat :) 05:59:18 <{^Raven^}> i'll have a think about it 05:59:41 still figuring out how to navigate the forest, atm.. this is the original <256 label version, though 05:59:57 has the map changed? 06:00:04 <{^Raven^}> not at all 06:00:16 <{^Raven^}> would you like the most recent development version? 06:00:21 sure! 06:00:37 <{^Raven^}> it may not work with the current bfbasic 06:01:01 <{^Raven^}> have had to code around some odd array bugs, but i'll put in a compiled working version for reference 06:02:14 there's an old game called "hobbit" that I'd like to port to bfbasic sometime. It's a sversion of "Temple of Loth", simplified a bit and probably mixed with another game that I haven't found yet :) 06:03:02 <{^Raven^}> sounds like a good plan, I'd quite like to tackle Colossal Cave sometime, the original adventure 06:03:06 I didn't write the original, but it's a typical grid game, the kind that the wumpus author hated 06:04:16 I was going to port my java chess program, but it'd probably take too long for the computer to move 06:08:51 <{^Raven^}> chess is a tricky one 06:09:01 <{^Raven^}> have emailed you the latest version 06:09:21 I managed to write smething that at least makes me think a bit to beat it 06:09:44 <{^Raven^}> excellent 06:10:18 won't win any competitions, but who cares about all that? all commercialized these days 06:10:32 thanks, I'll check that out 06:11:01 it's a fun game.. you're a good writer 06:11:21 <{^Raven^}> thx very much 06:12:13 <{^Raven^}> I'm trying to think what the "full" version of the game would be that continues the story 06:12:48 I'll have to tell you that after I find my way out of the "small forest" :) 06:13:22 <{^Raven^}> hehe, it's one of those awful mazez that used to litter the old games 06:13:32 yeah, zelda had a couple of them 06:13:41 <{^Raven^}> drop an item in each location and make a map 06:13:54 or look at the source code ;) 06:14:03 <{^Raven^}> hehe, that would work 06:14:10 <{^Raven^}> it's all in there 06:14:39 <{^Raven^}> somewhere in the two-thousand two-hundred lines of it ;) 06:14:43 oh, does it actually remember where you drop things? wow, didn't try that 06:15:02 <{^Raven^}> of course it does, it's a fully functional game 06:21:02 I think I'm just going to use a jump table for return.. it will limit thigngs to 256 gosub's, unless they're using a 16-bit interp 06:24:06 <{^Raven^}> that should be more than enough 06:24:49 for now, but with the functions later it might tend to run out 06:25:17 <{^Raven^}> it depends if the gosub table is based only on GOSUBs called 06:25:48 <{^Raven^}> i guess it depends how things develop 06:25:49 this is the way I have it planned: 06:26:15 GOSUB LABEL = gs(gp)=#:gp++:goto label 06:26:30 RETURN = gp--:goto return 06:26:56 RETURN: t=gs(gp), if t=0 then goto label1, etc 06:27:03 holy ugliness 06:27:19 oh wait, this is #esoteric, rock on. 06:27:20 oops GOSUB LABEL = gs(gp)=#:gp++:goto label label1: 06:27:40 tefad: I'd love to hear a better way, please! can't think of one 06:28:08 bf isn't exactly overflowing with ways to jump around in the code :) 06:29:11 anyhow.. every gosub would need a label so that the return could get back 06:29:22 <{^Raven^}> yeah 06:29:46 <{^Raven^}> worst case scenario: read ahead first and then inline all gosubs 06:30:14 <{^Raven^}> code bloat + infinite gosubs 06:30:31 that doesn't really help because the return doesn't know where to go until runtime 06:30:42 you could call the same routine from multiple places 06:32:45 <{^Raven^}> inlined gosubs would never need returns but it has significant disadvantages, mainly each time the gosub is called, the GOSUB is replaces with the function code itself 06:32:55 <{^Raven^}> probably not a good plan 06:33:07 oic what you mean.. that's not good :) 06:33:58 <{^Raven^}> problem is, that for every elegant solution there are a million hacks that would work 06:34:08 <{^Raven^}> and trying to find the one elegant solution 06:35:44 i wonder how hard it would be to write a C interpreter in brainfuck 06:36:17 <{^Raven^}> an interpreter that only supported a small subset of C would probably be quite difficult 06:36:26 hehe 06:36:42 c can't be completely interpreted by bf without something like pesoix 06:37:07 oh? 06:37:17 it could be done... just reallly slowwwwly 06:37:20 there are no facilities for file i/o, for example 06:37:26 oh pfft 06:37:38 <{^Raven^}> i'm working on it when i have time 06:37:52 unless you mean without the standard library 06:38:04 as much C as you could have with the limited input/output 06:38:12 stdin stdout only. 06:38:19 <{^Raven^}> probably not the full C library, there's too much that doesn't seem to apply atm 06:38:32 that still includes quite a lot 06:38:51 raven: yeah.. I went through it one day and write down which functions seemed to make sense and which ones didn't 06:38:56 write -> wrote 06:39:26 <{^Raven^}> ooh, can i have a copy if you still have it to hand, plz? 06:39:45 handling the floating point math would be a huge project all on its own 06:40:20 <{^Raven^}> i'll lay as good a foundation as i can 06:40:41 raven: what are you writing? c in bf? 06:42:01 <{^Raven^}> no, it's an esoteric language <> operating system abstraction layer 06:42:45 <{^Raven^}> like (and emulating) EsoAPI but with a different dialect that allows file I/O and a lot more 06:43:12 oh right, for pesoix 06:43:16 <{^Raven^}> yup 06:43:47 <{^Raven^}> i'll open the code once it's in a state i'm happy with and hopefully other ppl will come in and add other stuff 06:44:06 I found the file, but apparently I didn't finish the list like I thought I had 06:44:18 <{^Raven^}> no probs 06:44:46 I think it'd be better to just write a smaller standard library more suited to bf 06:44:56 that's a common practice in embedded c 06:45:01 <{^Raven^}> that's what i'm trying to do 06:45:12 I mean with bf 06:45:35 <{^Raven^}> oh...not sure i could pull that one off 06:45:50 <{^Raven^}> PESOIX is designed for all esoteric languages 06:46:19 if I can call a pesoix function when it gets hard, it kinda takes the fun out of it 06:46:42 pesoix calls are perfect for things that are impossible 06:47:08 for example, there is no way to find out what time it is in bf. that's a perfect pesoix candidate 06:47:14 <{^Raven^}> i'm hesitant to remove some of the calls that could be considered cheating 06:47:30 <{^Raven^}> time is supported, command line arguments 06:47:47 not telling you to.. just saying I won't be using them, because I would feel like I'm cheating 06:48:39 <{^Raven^}> i'm glad about that, i just hope that you might use some of the otherwise impossible functions despite the ability to cheat 06:49:08 yeah, no problems there.. if it's impossible then I really have no other choice if I want that functionality 06:49:38 <{^Raven^}> if someone codes up the networking support in the distant future than i can see no problems with a basic webserver written in BF 06:50:05 hoping for 5min of slashdot fame? 06:50:17 <{^Raven^}> just want to see if it's possible 06:51:03 <{^Raven^}> i've already had my 15 mins of fame a few timesw 06:51:11 well you do have in and out.. just like a network card 06:51:47 <{^Raven^}> not been /.'d before tho 06:51:51 so you could write the entire webserver, netowrk layer, etc, in bf, given the appropriate in and out to the card ;) 06:52:14 <{^Raven^}> that's one possibility 06:52:55 since you can' 06:53:13 <{^Raven^}> but i would not want to code that 06:53:15 t really go lower than i/o level, it'd be a fair way to do things 06:53:28 exactly.. that's why it hasn't been done yet 06:53:31 <{^Raven^}> a TCP/IP stack written in BF 06:53:43 you wouldn't need a full stack 06:54:03 just one good enough to support an extremely simple webserver 06:54:35 <{^Raven^}> i have seen a working one in 3 lines of perl 06:54:44 <{^Raven^}> so can't be too hard 06:55:34 <{^Raven^}> I'm still tackling unbuffered I/O, got it up and running on one platform so far 06:55:51 perl has a much larger library than bf's pitiful 2 i/o functions 06:56:13 I'm pretty sure they're just calling perl functions that take care of the dirty work 06:56:33 <{^Raven^}> it all comes down to I and O eventually it just coding up the black box in the middle 06:57:19 if you do go crazy and decide to do it, check out the network stack written for the old 8-bit computers. I think they have one for c64 and another for atari8 06:57:48 <{^Raven^}> like i say i'm gonna leave it for a future developer unless i can work it out myself# 06:58:11 I guess all the info is in rfc's, right? 06:58:39 or a really good book on networking :) 06:58:51 -!- puzzlet has joined. 06:58:54 hi puzz 06:59:00 <{^Raven^}> hi 06:59:31 hi all 07:03:16 <{^Raven^}> 7am, time to get up i guess 07:03:22 <{^Raven^}> so i should probably go to bed 07:03:28 <{^Raven^}> mornin all :) 07:03:46 yeah me too, midnight here 07:03:56 cya later 07:03:59 <{^Raven^}> nite 07:04:03 -!- calamari has quit ("Leaving"). 07:25:04 -!- lament has quit (Remote closed the connection). 07:30:00 -!- lament has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:42:47 -!- puzzlet has quit (Read error: 110 (Connection timed out)). 08:46:32 -!- puzzlet has joined. 09:35:11 -!- puzzlet has quit ("전 이만 갑니다."). 13:02:10 -!- Keymaker has joined. 13:02:19 hi 14:20:00 -!- Keymaker has left (?).