00:06:38 -!- Keymaker has left (?).
00:07:10 <arke> damn, i missed keymaker
05:15:11 -!- calamari has joined.
05:35:35 <calamari> hi raven, whatcha doing up so late?
05:36:26 <calamari> do you have irc wake you up or something?
05:37:23 <calamari> hey.. since you're here, spring break is over
05:37:40 <calamari> so I'll post what I have on cvs and leave things in your capable hands
05:38:08 <calamari> might do a bit more tomorrow, no telling though
05:38:31 <{^Raven^}> have you managed to track down the bugs in the array handling?
05:39:06 <calamari> 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 <calamari> have I sent you the new bfasm array code?
05:40:06 <calamari> there is some kind of problem with -O3 btw
05:40:19 <calamari> it was what was crashing me the other day
05:40:35 <calamari> so don't use that for the time being :)
05:40:58 <calamari> I have some half-bf/half-basic code written up for the new print statement
05:41:15 <calamari> didn't ever do the return statement :|
05:41:57 <calamari> ? 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 <calamari> I think the next thing to do is string support
05:45:22 <calamari> 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 <calamari> no one can just jump in.. would have to add them as a developer
05:47:29 <calamari> or they could fork it, since it's gpl
05:49:07 <calamari> you're really the only one who has shown more than passing interest
05:50:08 <calamari> because it's basic and not c, is my guess :)
05:50:50 <{^Raven^}> basic is underrated these days IMHO
05:51:50 <calamari> yeah, however I can see the point a little.. other languages just seem to be more suited to larger projects
05:52:58 <calamari> was going to work on it during spring break, but we worked on bfbasic instead
05:53:17 <calamari> 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: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:58:22 <calamari> would you be willing fto have your game packaged with bfbasic? that'd be really neat :)
05:59:41 <calamari> still figuring out how to navigate the forest, atm.. this is the original <256 label version, though
06:00:16 <{^Raven^}> would you like the most recent development version?
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 <calamari> 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 <calamari> I didn't write the original, but it's a typical grid game, the kind that the wumpus author hated
06:04:16 <calamari> I was going to port my java chess program, but it'd probably take too long for the computer to move
06:09:01 <{^Raven^}> have emailed you the latest version
06:09:21 <calamari> I managed to write smething that at least makes me think a bit to beat it
06:10:18 <calamari> won't win any competitions, but who cares about all that? all commercialized these days
06:11:01 <calamari> it's a fun game.. you're a good writer
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 <calamari> 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 <calamari> yeah, zelda had a couple of them
06:13:41 <{^Raven^}> drop an item in each location and make a map
06:14:39 <{^Raven^}> somewhere in the two-thousand two-hundred lines of it ;)
06:14:43 <calamari> 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 <calamari> 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:49 <calamari> 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 <calamari> this is the way I have it planned:
06:26:15 <calamari> GOSUB LABEL = gs(gp)=#:gp++:goto label
06:26:56 <calamari> RETURN: t=gs(gp), if t=0 then goto label1, etc
06:27:19 <Tefad> oh wait, this is #esoteric, rock on.
06:27:20 <calamari> oops GOSUB LABEL = gs(gp)=#:gp++:goto label label1:
06:27:40 <calamari> tefad: I'd love to hear a better way, please! can't think of one
06:28:08 <calamari> bf isn't exactly overflowing with ways to jump around in the code :)
06:29:11 <calamari> anyhow.. every gosub would need a label so that the return could get back
06:29:46 <{^Raven^}> worst case scenario: read ahead first and then inline all gosubs
06:30:31 <calamari> that doesn't really help because the return doesn't know where to go until runtime
06:30:42 <calamari> 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:33:07 <calamari> 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 <Tefad> 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:42 <calamari> c can't be completely interpreted by bf without something like pesoix
06:37:17 <Tefad> it could be done... just reallly slowwwwly
06:37:20 <calamari> there are no facilities for file i/o, for example
06:37:38 <{^Raven^}> i'm working on it when i have time
06:37:52 <calamari> unless you mean without the standard library
06:38:04 <Tefad> as much C as you could have with the limited input/output
06:38:12 <Tefad> 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 <Tefad> that still includes quite a lot
06:38:51 <calamari> raven: yeah.. I went through it one day and write down which functions seemed to make sense and which ones didn't
06:39:26 <{^Raven^}> ooh, can i have a copy if you still have it to hand, plz?
06:39:45 <calamari> 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 <calamari> 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: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 <calamari> I found the file, but apparently I didn't finish the list like I thought I had
06:44:46 <calamari> I think it'd be better to just write a smaller standard library more suited to bf
06:44:56 <calamari> that's a common practice in embedded c
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 <calamari> if I can call a pesoix function when it gets hard, it kinda takes the fun out of it
06:46:42 <calamari> pesoix calls are perfect for things that are impossible
06:47:08 <calamari> 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 <calamari> 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 <calamari> 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 <calamari> hoping for 5min of slashdot fame?
06:51:03 <{^Raven^}> i've already had my 15 mins of fame a few timesw
06:51:11 <calamari> well you do have in and out.. just like a network card
06:51:51 <calamari> so you could write the entire webserver, netowrk layer, etc, in bf, given the appropriate in and out to the card ;)
06:53:15 <calamari> t really go lower than i/o level, it'd be a fair way to do things
06:53:28 <calamari> exactly.. that's why it hasn't been done yet
06:53:43 <calamari> you wouldn't need a full stack
06:54:03 <calamari> 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:55:34 <{^Raven^}> I'm still tackling unbuffered I/O, got it up and running on one platform so far
06:55:51 <calamari> perl has a much larger library than bf's pitiful 2 i/o functions
06:56:13 <calamari> 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 <calamari> 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 <calamari> I guess all the info is in rfc's, right?
06:58:39 <calamari> or a really good book on networking :)
06:58:51 -!- puzzlet has joined.
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.
14:20:00 -!- Keymaker has left (?).