< 1110067308 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yay...it works :) < 1110067560 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :what does? < 1110069341 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :>+>++++++++++<[<[-].+.+.>>.<+] prints hex of numbers 1 to 255 < 1110069362 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1110069450 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :called project easel atm < 1110069672 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :this isn't branfuck? < 1110069699 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :looked like bf to me. < 1110069709 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it is bf < 1110069723 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :ok, what's project easel? < 1110069747 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :OS abstraction layer for esoteric languages < 1110069856 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :deliciously ironic. < 1110071123 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :when is the next BF contest, if any? :) < 1110071136 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you mean the sourceforge thing? < 1110071185 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :lament: was that to me or arke? < 1110071194 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lament: do you mean me or raven? < 1110071201 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you < 1110071202 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :eh, lol < 1110071205 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :which one < 1110071205 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1110071207 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you < 1110071208 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :rotflmao < 1110071219 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1110071221 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :ARKE OR RAVEN < 1110071222 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1110071226 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :you < 1110071241 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :the green one < 1110071242 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :me, arje? < 1110071245 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :arke*? < 1110071261 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :NO < 1110071262 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :yes < 1110071273 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :ACTION slaps lament ;) < 1110071283 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ACTION 's brain turns to mush < 1110071295 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lament: please say a name, ARKE or RAVEN < 1110071309 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :a name, ARKE or RAVEN < 1110071327 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :...well this is an esoteric chat room after all... < 1110071347 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Your Highness Arke < 1110071362 0 :lament!unknown@unknown.invalid PRIVMSG #esoteric :Doth thou mean the noble Sourceforge site? < 1110071449 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lament: I am not sure of which you speak. < 1110071451 0 :heatsink!unknown@unknown.invalid PRIVMSG #esoteric :*Dost < 1110071465 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lament: I saw 2 BF contests on cristofs site < 1110071474 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :so i figured there'll probably be more < 1110071475 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric ::D < 1110072346 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :ACTION wakes up < 1110072456 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :lament: you're right.. I only get the bf urge every once in a while.. but when I do, usually something fun comes of it < 1110072507 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and I squeezed every last byte out of that boot sector :) < 1110073421 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :>.++.--.<.+.-.>[-]>++++++++[<+++++++++++++>-]<.<.++.-.+[->.<].[-]++++++++++. < 1110073436 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :display 'h' if the -h switch has been passed on the command line :D < 1110074139 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ok, i wrote something up. < 1110074143 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.webhop.net/projects/pesoix/doc/pesoix.html < 1110075382 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool :) < 1110075558 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :sweet :) < 1110075568 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :I've knocked up a page for you to link to < 1110075570 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :http://jonripley.com/easel/ < 1110075693 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ok, cool! i've added it. < 1110075755 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :this is pretty darn cool! :D < 1110075756 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :thx < 1110075757 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :how will the overlapping specs be sorted out? < 1110075818 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :That's an interesting question < 1110075868 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :yeah < 1110075888 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i don't know yet < 1110075932 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :under Easel there are currently 65280 possible unique API calls < 1110076027 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :well, EsoAPI has the first few 'non banked' commands. Easel has (so far) banks 01, 02, and 03 (which conflict with EsoAPI). and i threw in bank 10 < 1110076030 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(all in hex) < 1110076099 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :there could in theory be an unlimited number of api calls, if one of the banks admits sub-banks (and one of those sub-banks admits sub-sub-banks, etc) < 1110076163 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :in theory it is possibe, but whatever the final depth is, I would like all API sections to be as deep. < 1110076223 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :I could allocate EsoAPI a sub-block of calls but I don't know that I can add low level disk access and keep portability < 1110076245 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :well, i'd like all the 'common' api sections to be only 1 bank deep, and have anything deeper reserved for 'vendor extensions' :) < 1110076295 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :the low-level disk access doesn't have to be real... it could be emulated. or more simply, those commands could just be reserved for EsoAPI < 1110076326 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :since the low-level stuff is mostly useful for booting anyway. < 1110076345 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yes, ideally I would like to have them as one specification < 1110076403 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i worry that calamari's boot block doesn't have enough space left in it to parse a bank number :) < 1110076437 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :lets say that I if I use banks 1-9, banks 10-19 could be reserved for the main development team and banks 20-255 would be allocated on a block-by-block basis to different vendors < 1110076509 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :or even make the vendor blocks another level deep, so each vendor had 65536 calls available < 1110076521 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that would be easy to cod < 1110076523 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :e < 1110076697 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, this could work... If the user is boots into BFOS they have calamari's current EsoAPI calls available. If they then issue API call 00h 09h it switches to the easel API (now part of EsoAPI) < 1110076766 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :and from Easel (which they are now in) they issue 00h 09h 01h and that switches them back to the low-level EsoAPI < 1110076804 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :but, if a user is running a PESOIX enabled interpreter then they only have the Easel functionality available and all low-level EsoAPI calls are emulated < 1110076810 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :does that make any sense? < 1110076870 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :hmmm, a modal api :) actually, that probably makes the most sense. and it's even ugly enough to be kind of esoteric! < 1110076882 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i'll think about it for a bit. < 1110076906 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :calamari, your comments would be appreciated < 1110076937 0 :calamari!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1110076943 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :heh < 1110076957 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :And it would mean that there is only one PESOIX standard - EsoAPI - if calamari lets me use the name < 1110076964 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :lol < 1110078169 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ok, i like the idea of different 'dialects' (with the default dialect being the BOS aka EsoAPI dialect), and a command to switch between dialects. but the command to switch between dialects should probably be the same in every dialect, or chaos will ensue < 1110078178 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :(not that that's _necessarily_ bad, mind you :) < 1110078208 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :and if a particular implementation doesn't support a particular dialect, well, that's ok. but it needs to notify the program of that. < 1110078258 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that would allow an infinite number of different PESOIX layers < 1110078303 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :essentially, yeah. the important thing is that it allows for more overlap. < 1110078369 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :so...all PESOIX conpliant tools start up in calamari's layer, < 1110078427 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :and then issue a dialect switching command to switch specifications. < 1110078494 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :yep. < 1110078508 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :btw, nice website :) < 1110078518 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :thx :D < 1110078552 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :"*** Winner of the 2204 2k Classic Text Adventure Competition ***" - heh, are you a time traveller? :) < 1110078600 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :not any more < 1110078658 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :load the source code into a BBC BASIC to see a high level language doing a good impression of an esoteric one :) < 1110078669 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1110078919 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i arbitarily nominate 00h 09h xxh where xx is the dialect ID, seems logical as 09h is the next free EsoAPI call < 1110079027 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :00h 09h 00h would select to the low-level API. < 1110079143 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :Hopefully...00h 09h 01h would select Easel, with Easel functionality (hopefully) being a requirement for all PESOIX compliant tools. This is to allow all PESOIX tools to have the same basic functionality. < 1110079526 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i have added some more info to the site < 1110079546 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :bedtime methinks, need to sleep < 1110079547 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :nite < 1110079788 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :g'night :) < 1110079793 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i'll work on it a bit more too... < 1110079806 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :00 09 sounds good to me < 1110079824 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :this looks like the start of something interesting < 1110088053 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :The PESOIX site is looking great and is full of good ideas < 1110088489 0 :heatsink!unknown@unknown.invalid QUIT :"Leaving" < 1110092221 0 :calamari!~calamari@dialup-4.240.244.150.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1110095027 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1110095149 0 :calamari!~calamari@dialup-4.240.242.96.Dial1.Phoenix1.Level3.net JOIN :#esoteric < 1110095153 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110095251 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :have completed a working PESOIX source as per the cpressey's specs < 1110095673 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110095681 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :i've implemented something too < 1110095692 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :http://catseye.webhop.net/projects/esobrace/src/esobrace.c < 1110095734 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :all it does is recognize the SWITCH DIALECT command and acknowledge it, right now < 1110095739 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :but it's a nice start imo :) < 1110095783 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :the issues with buffered i/o are a little more painful than i even expected (and i expected quite a bit of pain) < 1110095793 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :but i think i can work them into the spec < 1110095804 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :but it's almost midnight here, so that'll wait :) < 1110095806 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yeah, every system has it's own way of doing it < 1110095818 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it's 8am here, couldn;t sleep.../ < 1110095829 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :{^Raven^}: didn't realize you wrote a etxt adventure in bf.. very cool :) < 1110095833 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :text < 1110095876 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :thanks < 1110095878 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I also noticed an @ at the end of the file.. I suspect I corrupted you on that. oops! < 1110095905 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :there are too many ways that an EOF can happen < 1110095941 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :you are probably right calamari < 1110095992 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I used the @ to make my interpreter easier to write.. laziness on my part < 1110095999 0 :clog!unknown@unknown.invalid QUIT :ended < 1110096000 0 :clog!unknown@unknown.invalid JOIN :#esoteric < 1110096128 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: that's a scary bit of code < 1110096214 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :here is my pre-alpha http://jonripley.com/easel/pesoix.zip < 1110096221 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :set_up_us_the_brace.. LOL < 1110096255 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it supports EsoAPI at start and will allow bank switching when I add the call, < 1110096290 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :pre-alpha EsoAPI, dialect7f and easal are coded for < 1110096343 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :it even passes calamari's EsoAPI wrapper test :) < 1110096520 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :we won't need an '@' at the end of the file soon...we will be able to call the appropriate PESOIX function to check EOF :) < 1110096536 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :neato! < 1110096587 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :do you have an easel test program I can run on my esoapi interpreter (it should abort, correct?) < 1110096600 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ummm... < 1110096677 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :there are some easel test programs in the above archive < 1110096693 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :but they are pre-PESOIX < 1110096697 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :oic < 1110096768 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what I mean is.. if I try to run an esoapi program on a regular bf interpreter, it will abort (because of the wrapper). What happens if I run an easel program on esoapi.. will it complain, or proceed and possibly crash? < 1110096907 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :EsoAPI will need to be modified to support dialect switching (aka 00h 09h xxh) < 1110097018 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I can't support that.. no bytes left < 1110097036 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that is unfortunate :( < 1110097044 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :it's okay though < 1110097063 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :all that is needed is some sort of installation check like I did for esoapi < 1110097087 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :if the pesoix check fails, the program should exit < 1110097094 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :that's accounted for, sort of < 1110097112 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :you should get a confirmation if a dialect switch is successful < 1110097139 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :if you don't you assume the current system doesn't support that dialect < 1110097153 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yes a value representing TRUE/FALSE should be returned < 1110097156 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :and so bos only supports one dialect, that;s ok < 1110097176 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :is bos the default dialect? < 1110097181 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1110097190 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool < 1110097205 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :all PESOIX compliant software starts in BOS mode < 1110097232 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I should say esoapi rather than bos.. hehe < 1110097250 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :really cool what you guys have done < 1110097275 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :still a lot of details to work out :) < 1110097336 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :okay.. so I'd output 00 09 00 to "switch" to EsoAPI dialect, correct? < 1110097368 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :from a cold start you are already in EsoAPI < 1110097378 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :but otherwise yes < 1110097386 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yup < 1110097424 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :cpressy, take a peek at http://jonripley.com/easel/pesoix.zip < 1110097442 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :k < 1110097444 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :okay.. so I'm an EsoAPI program, it comes back ater 00 09.. then I output 00 and am stuck < 1110097475 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :stuck how? < 1110097490 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm. .so I should do 00 09 01 < 1110097519 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :wait.. don't want to assume any dialect except esoapi < 1110097551 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :if you do 00 09 00 from EsoAPI nothing much will happen atm < 1110097674 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :There will be a modified wrapper for Easel programs which checks for both dialects being available < 1110097749 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :but after you have checked the all required dialects are available, you can switch between them at will < 1110097947 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hmm.. right now BOS prints an error message when a bad call is made.. should probably hange that behavior < 1110097972 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :better would just be to ignore the bad call < 1110098133 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :terminating execution with an error on a bad call would work < 1110098146 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :what if calling the esoapi installation check also put you back into command "00" mode? could that be used to determine whether pesoix is installed? < 1110098191 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that needs to be worked on < 1110098221 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :cpressey has done an impressive job with the specs so far < 1110098228 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :yeah he has < 1110098239 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I'm suggesting an alteration I suppose < 1110098243 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :my 2c... biggest problem right now is that EsoAPI and Easel both assume the esolang has the concept of a "current cell"... not all of them do < 1110098285 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :ahh, that will change < 1110098287 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: esoapi could be made to work with a stack based language as well < 1110098330 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: i'm pushing for working through the i/o channels only. it's the only thing common enough. < 1110098348 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i am going to modify Easel to return results via the i/o channels < 1110098415 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :the main sticking point is that the EsoAPI installation check should return via i/o instead of trying to set a cell < 1110098420 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: although in the case of EsoAPI it's very understandable; the code required to (say) read a disk block in via "standard input" probably wouldn't fit in a boot block nicely :) < 1110098440 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :{^Raven^}: that's a bit more reasonable, yeah < 1110098469 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: the main problem with pure i/o was the installation check.. if I read a byte on a normal bf interp, it is going to hang until I press a key < 1110098476 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :although in any case the input routine turns into "do i have something to return? if so return it. if not then do real input" < 1110098499 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that's sort of unavoidable though < 1110098508 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: not the way I did it :) < 1110098526 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that's because you know the language will be brainfuck :) < 1110098541 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :If a language doesn't have a current cell.. then they'd use their stack, or whatever.. up to the language implementor < 1110098598 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i feel we are stuck inside the BOS bootstrap < 1110098602 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: what would you use in thue? or strelnokoff? < 1110098620 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Raven: is there a bug? < 1110098631 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: never heard of them < 1110098643 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not trying to be argumentative < 1110098645 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :also, i don't like the idea of rewriting every esolang interpreter to work with this < 1110098658 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: that only means they're even more esoteric :) < 1110098670 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :just saying that I didn't find pure i/o to be a valid solution because it required the user to push a key in order to exit the program < 1110098728 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :you'd have to rewrite every esolang interpreter to work with it.. afaik :) < 1110098732 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :ok. i find that acceptable, while i find modifying every interpreter to handle responses (each in a different way depending on the language) to not be acceptable. < 1110098732 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :you O the installation check, the check code puts the result at the head of the input buffer, you read that single character from the input stream and < 1110098747 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :no return required < 1110098748 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: no, actually you don't. that's the brace program i'm working on. < 1110098748 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :and you hang forever < 1110098764 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :until the user presses a key < 1110098782 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :hehe < 1110098821 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :if you want to be friendly, you could output a message first, like: if you are not running under pesoix, press "return" to exit < 1110098837 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :why, though? :) < 1110098863 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :the whole idea was that this would be an extended functionality layer.. it would require a change to the original interpreter < 1110098870 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :no < 1110098874 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :it doesn't. < 1110098902 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :really? that seems liek magic < 1110098916 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :the esobrace program runs another program (the esolang interpreter) and intercepts its I/O < 1110098960 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :and on systems where esobrace will not work you use a modified interpreter < 1110098981 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :i am working on the modified interpreter side of things < 1110099007 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :yeah, it only works on unix right now, freebsd in particular... porting it to windows might be, ehm, interesting. (maybe with cygwin) < 1110099078 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :but that requires cygwin and i'd prefer the user not to have to download extra software. esobrace will never work on RISC OS, not sure about Macs < 1110099117 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :that's where the modified interpreter comes into it's own, it will run on any system that a C compiler can target. < 1110099123 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :should work on modern macs, since they're mostly bsd based. risc os, no clue :) < 1110099140 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :no fork(ing) way - npi < 1110099150 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :a modified interpreter is a good approach too; the drawback is of course that it's only one language < 1110099170 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :only for the first draft < 1110099184 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: thats also the advantage, though.. because the implementor can make the esoapi calls work in a way consistent with the language < 1110099241 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cool idea with the forking though :) < 1110099250 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :resulting in 'n' different ways to use the api, as opposed to one :) < 1110099259 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :since I'm running linux now, it should work nicely < 1110099306 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :to add PESOIX into any interpreter requires 3 new lines of code and 2 minor changes < 1110099309 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :not really, IMO.. but I don't wish to argue :) < 1110099329 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :(that was to cpressey, sorry my typing is slow) < 1110099379 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :#include "pesoix.h", pesoix_initialise, pesoix_finalise and changing getchar/putchar with pesoix_getchat and pesoix_putchar < 1110099399 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :anyhow.. glad to see esoapi in there at all, so I feel very honored, thanks :) < 1110099482 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :calamari: it's not that i want to argue, it's just that there are pros and cons to each approach. i'll consider both sides and write something up, maybe we can get a better idea about it. in the very worst case, pesoix can support both... somehow :) < 1110099557 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :in the meantime, i need some shuteye :) < 1110099562 0 :cpressey!unknown@unknown.invalid PRIVMSG #esoteric :g'night folks! < 1110099564 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :calamari, if there was an equivalent to command.com within BOS then you could support Easel < 1110099565 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :nite < 1110099573 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cya Chris, nice work :) < 1110099646 0 :Keymaker!~a@wire74.adsl.netsonic.fi JOIN :#esoteric < 1110099659 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110099700 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :bed sounds like a good idea even tho it's 9am here < 1110099753 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :I should probably do the same.. need to get up early tomorrow < 1110099833 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110099852 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :Keymaker: hi, bye < 1110099856 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1110099862 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1110099863 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :bye all < 1110099866 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :bye me < 1110099870 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :bye < 1110099872 0 :calamari!unknown@unknown.invalid PRIVMSG #esoteric :cya raven, nice meeting you < 1110099877 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :same here < 1110099886 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :seems the there has been plenty of cool stuff happening while i was away.. < 1110099891 0 :calamari!unknown@unknown.invalid QUIT :"Leaving" < 1110099897 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :yup...you missed all the fun < 1110099918 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :well, i didn't understand it anyways :p < 1110099929 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :see ya < 1110099940 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :yah < 1110100089 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :ARKE: (typed that capital that you could notice :)) the next BF competition will be there pretty soon, there should be a topic posted on Golf forum in a few days < 1110100111 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :and, it is no bfgolf, i just use their forums again :p < 1110102505 0 :Keymaker!unknown@unknown.invalid PRIVMSG #esoteric :gotta go. < 1110102507 0 :Keymaker!unknown@unknown.invalid PART #esoteric :? < 1110122876 0 :[^Raven^]!~{^Raven^}@82-38-204-252.cable.ubr05.shef.blueyonder.co.uk JOIN :#esoteric < 1110123874 0 :{^Raven^}!unknown@unknown.invalid QUIT :Read error: 110 (Connection timed out) < 1110126224 0 :[^Raven^]!unknown@unknown.invalid NICK :{^Raven^} < 1110143151 0 :heatsink!~heatsink@1106-wstoughton.halo.soltec.net JOIN :#esoteric < 1110144606 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :hi < 1110144657 0 :{^Raven^}!unknown@unknown.invalid PRIVMSG #esoteric :cpressey: http://jonripley.com/easel/ep_specs.txt, contains a write up of my ideas for PESOIX specification so far, please read and comment. Thanks < 1110146858 0 :kipple!~Rune@163.80-202-100.nextgentel.com JOIN :#esoteric < 1110150941 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :Contest right now: In the next 24 hours, create an 8086 compatible, DOS Brainfuck interpreter. The source to be interpreted is appended to the end of the executable, and terminated with a 0. 24 hours from now, send me your results by /msg < 1110151336 0 :lament!unknown@unknown.invalid QUIT :sterling.freenode.net irc.freenode.net < 1110151914 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :smallest entry wins < 1110152081 0 :lament!~lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1110152248 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :smallest entry wins < 1110152250 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1110152452 0 :kipple!unknown@unknown.invalid PRIVMSG #esoteric :Don't do assembler myself, but otherwise an interesting contest :) < 1110152458 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric ::) < 1110152464 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :got 4 contestnats, hoping for more < 1110152655 0 :lament!unknown@unknown.invalid QUIT :sterling.freenode.net irc.freenode.net < 1110152789 0 :lament!~lament@S010600110999ad06.vc.shawcable.net JOIN :#esoteric < 1110153126 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :arke: how large are they? < 1110153156 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :lindi-: oh they havent submitted, I just meant i have 4 people that are doing it < 1110153165 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :oh < 1110153172 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :too bad i have physics exam tomorrow :P < 1110153175 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :you're welcome to join < 1110153175 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :;) < 1110153179 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :aah, thats too bad < 1110153185 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :you can write it now and submit early < 1110153214 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :nope, but i could write it after the exam < 1110153285 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :aah, well thats probably after 24 hours though :( < 1110153302 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :actually, since you're in .fi, you probably still have time. < 1110153306 0 :fizzie!unknown@unknown.invalid PRIVMSG #esoteric :It's 02am localtime here. < 1110153319 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :aah, so you have time after the exam < 1110153327 0 :arke!unknown@unknown.invalid PRIVMSG #esoteric :make sure i have it by 1am your time though < 1110153438 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :arke: how should it do it's input and output? < 1110153444 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :s/it's/its/ < 1110153557 0 :lindi-!unknown@unknown.invalid PRIVMSG #esoteric :BIOS services, DOS services, something else?