00:08:01 -!- timotiis has quit (Read error: 110 (Connection timed out)). 00:09:20 -!- SimonRC has joined. 00:22:26 -!- ehird has changed nick to the. 00:24:06 -!- the has changed nick to ehird. 00:54:39 -!- ais523|busy has quit (".̴̵̸̷̶̢̡̧̨̛̗̖̘̙̜̝̣̠̟̞̤̥̦̩̯̮̭̬̫̪̰̱̲̳̻̺̹̼̀́̂̃̄̅̋̊̉̈̇̆̌̍̎̏̐̑̔̓̒̽̕̚). 01:07:59 -!- sebbu2 has joined. 01:08:09 -!- sebbu has quit (Read error: 113 (No route to host)). 01:08:31 -!- sebbu2 has changed nick to sebbu. 01:20:49 -!- oklopol has joined. 01:40:56 -!- ehird has quit (Read error: 113 (No route to host)). 01:41:25 -!- ehird has joined. 01:46:52 -!- Id4ever has joined. 01:47:09 -!- Id4ever has left (?). 01:55:39 i didn't know ircd allowed quit messages that long. 02:14:27 -!- Tritonio has quit (Remote closed the connection). 02:25:47 Bye for today :-) 02:25:53 -!- ehird has quit (Remote closed the connection). 03:19:59 -!- oerjan has quit ("Good night"). 03:32:20 -!- GreaseMonkey has joined. 04:22:01 -!- Corun has quit ("This computer has gone to sleep"). 05:22:27 -!- Judofyr has quit (Read error: 110 (Connection timed out)). 05:31:36 -!- Slereah_ has joined. 05:31:36 -!- Slereah- has quit (Read error: 104 (Connection reset by peer)). 05:55:03 -!- Phenax has joined. 06:04:49 -!- cherez has quit ("Leaving."). 06:05:44 -!- cherez has joined. 06:34:26 -!- dbc has quit (Client Quit). 07:37:02 -!- cmeme has quit (leguin.freenode.net irc.freenode.net). 07:41:02 -!- cmeme has joined. 07:59:59 -!- clog has quit (ended). 08:00:00 -!- clog has joined. 08:10:14 -!- Sgeo has quit (Remote closed the connection). 08:40:19 -!- uvanta has joined. 09:00:54 -!- asiekierka has joined. 09:00:56 Hey 09:00:57 and 09:01:00 Eww... http://rafb.net/p/gu9rwa95.html 09:01:17 Asie-1 CPU turned out to be a failure, mostly because of a lack of one function. 09:01:31 MOV b, (value) 09:01:40 also, wait, i must explain the Asie-1 CPU in clearer detail 09:02:47 http://rafb.net/p/Thp4Xp89.html 09:02:52 this is some more explanation 09:03:42 asiekierka: that first link is a 404 for me 09:04:24 i deleted it 09:04:29 the second one is the revamp 09:04:31 oh, okay 09:04:36 explains it in clearer detail 09:04:52 Sadly, i couldn't put another instruction in. MOV b, (value) 09:04:55 or LDA (value) 09:05:03 well, i could extend LDA to 16 bits 09:05:04 but 09:05:05 eeeww 09:05:26 or maybe YOU can propose an instruction to remove 09:05:31 but immediates are pretty simple to do with load-from-memory, right? 09:05:54 -!- Slereah_ has quit (Read error: 104 (Connection reset by peer)). 09:05:59 you must INC b a ton of times 09:06:10 but 256 bytes of memory is just NOT enough for this. 09:06:24 see, i need to either revamp LDA 09:06:27 to be 16-bits 09:06:33 or remove an instruction 09:06:51 so, basically, you CAN'T do immediates without creating them first 09:07:02 oh, 16-bit registers, but 8-bit memory? 09:07:07 8-bit registers 09:07:10 8-bit memory 09:07:18 8-bit program counter 09:07:27 which calls for a total of 256 bytes of program size. 09:07:44 that's why i tried to make all instructions <16 bits. 09:07:48 13 bits is just an odd size 09:08:13 so, instructions are either 4 bits or 12 bits 09:08:43 if i want to do NOT x (0101) and AND x (0111), i do: 0101 0111 in a single byte 09:08:56 olsner: any ideas on what to remove? 09:09:09 I thought of removing NOT b and AND b and replacing them with NAND b 09:09:25 hmm, so why can't you just put the immediate in memory somewhere and just do LDA addr; MOV b, a;? 09:09:33 i can 09:09:34 but 09:09:40 i don't have the way to put the immediate 09:09:46 also, MOV works MOV src,dest here 09:09:50 so i think you mean MOV a, b 09:09:57 i can only INC a ton of times 09:10:08 but that can waste more than a half of the program! 09:11:36 any ideas on what to remove? 09:11:46 I'm thinking of combining NOT x and AND x 09:11:51 NOP sounds obviously removable 09:11:59 you DON'T know how useful it is 09:12:04 how else will you make delays in the program? 09:12:14 NOP sounds obviously UNremovable 09:12:19 INC b; DEC b; for example? 09:12:26 *sigh* 09:12:32 NOP is one-cycle here 09:12:36 or just jump around a lot 09:12:40 every command is 1 cycle 09:13:00 well, olsner, NOT x and AND x can be combined 09:13:06 while NOT b and AND b will be left separate 09:13:19 hmm, so you're using this for a real-world application where 1-cycle accuracy in delays is vital? 09:13:19 you still can MOV x, a and MOV a, b 09:13:27 no, i was just creating this 09:13:29 but anyway 09:13:31 you're half-right 09:13:39 but i'm wasting 4 bits with your code 09:13:45 and space is important in 256 bytes 09:13:51 i will combine NOT x and AND x 09:14:05 yeah, program size is a big factor with such a small memory space 09:14:15 also, i'm making more space by adding NAND x 09:14:18 still 4 bits 09:14:21 but is 2 functions in one 09:15:36 http://rafb.net/p/ODmyxB22.html 09:15:39 the newest link 09:15:48 now I think i can write an useful program 09:16:02 what about you? 09:16:14 will you try? 09:18:36 hey look, it's asie! 09:18:48 i had no idea you did esolangs. 09:18:49 hey look, it's the Grease Monkey! 09:18:53 it's not an esolang 09:18:59 it's a full-blown CPU architecture 09:19:13 I did set myself a goal of making a functional CPU in as less opcodes as possible 09:19:20 while still doing most of possible functions 09:19:23 without bonus registers 09:19:26 And i succeded 09:19:28 with 16 opcodes 09:19:38 but you can minimize it to 14 09:19:41 by removing the NOP 09:19:47 and combining NOT b and AND b 09:19:54 i recommend using the stack if you want a good amount of memory 09:19:56 but 15 opcodes is the bare usefulity minimum 09:20:07 GreaseMonkey: no opcodes left 09:20:53 -!- oklofok has joined. 09:21:06 An entire processor can be created using NAND gates alone. 09:21:08 hmm 09:21:13 hmm... i have a plan for a system somewhere... 09:21:15 0000 - NAND a, b 09:21:18 0001 - NAND a, x 09:21:23 0010 - NAND b, a 09:21:28 0011 - NAND x, a 09:21:34 0100 - NAND x, b 09:21:39 0101 - NAND b, x 09:21:49 NAND reg1, reg2/dest 09:21:57 6 opcode NAND cpu 09:22:20 you'd probably need to load some stuff up, first. 09:22:31 asiekierka: nand gates != nand opcodes, though 09:22:52 just kidding 09:22:54 you cannot really do much program flow control on pure computative opcodes. 09:23:00 also, logic opcodes are really irritating when it comes to arithmetic 09:23:04 -!- oklopol has quit (Read error: 113 (No route to host)). 09:23:07 -!- oklofok has changed nick to oklopol. 09:23:16 oklopol: i wanted to keep it simple 09:23:24 heh, quite a coincidence i dropped 09:23:32 hmm 09:23:37 wait 09:23:46 wait 09:23:52 using nand gates for useful stuff involve re-routing of bits, not sure you can get it complete with just nanding bitwise between whole words 09:24:01 ... just kidding anyway 09:24:05 well 09:24:07 returning to Asie-1 09:24:07 olsner: my point exactly 09:24:18 I.E. http://rafb.net/p/ODmyxB22.html - for oklopol 09:24:40 have you ever coded for the 6502? 09:24:45 the "no-special-register as-small-instruction-set-CPU-as-possible with-some-usefulity" 09:24:53 GreaseMonkey: slightly, but nothing pretty important 09:24:58 so, GreaseMonkey, yes 09:25:03 ok. 09:26:05 nand-and-branch-if-zero 09:26:08 hmm 09:26:49 right, right, won't work 09:27:20 i have compare-and-jump-if-equal 09:27:33 (you need bitshifts, which are implicit in wire maps, but not as opcodes) 09:27:40 ... ok 09:27:47 but i don't really have space 09:27:50 only one single opcode 09:27:53 erm... or two 09:27:58 SHR and ROL i think 09:28:01 asiekierka: i mean, nand-and-branch won't work without em 09:28:16 SHR and ROL... maybe some else? 09:28:33 is that an asm of yours? 09:28:37 sorta 09:28:43 my CPU thingie 09:28:49 Asie-1 09:28:56 I'd so like to implement it in Verilog 09:29:00 then connect it to a TV xD 09:29:44 connect it to a tv? 09:29:57 yes 09:30:02 or add a diode 09:30:03 whatever 09:30:08 so it can show something 09:30:10 :) 09:30:11 to achieve what, i'm sensing i'm missing some awesomeness 09:30:28 nothing really 09:30:33 hmm, can't you "show something" on a computer? 09:30:48 i wanted to showcase Asie-1 with connecting it to a screen 09:30:53 Asie-1... 09:31:01 But well, i'll probably wait for Asie-2 with this. 09:31:10 which bitshifts are needed? 09:31:14 ROR, ROL, SHR, SHL? 09:31:16 up to two 09:32:02 one of them can do all the others if you make SH's set a flag indicating the thingie that was dropped 09:32:17 thingie = bit 09:32:17 no place for flagd 09:32:20 flags 09:32:22 except if in memory 09:32:34 even then, one can do all the others 09:32:39 ROR... 09:32:42 i guess ROR 09:32:50 is it the good choice? 09:33:13 it basically keeps the last bit 09:33:18 you can AND the value 09:33:20 then ROR it again 09:33:25 i ROL with it. 09:33:46 ROL. so... should i add a ROckeR or a ROLler? 09:33:48 umm what do you mean basically keeps the last bit 09:34:04 hmm... you could ROL, SHL, and INV 09:34:11 SHR is: 76543210 -> #7654321 09:34:13 INV will invert the bit order 09:34:25 ROR is: 76543210 -> 07654321 09:34:39 you can then AND the value from ROR to get SHR 09:34:45 also i'm pretty sure my neighbors are having sex 09:34:46 the same with SHL 09:34:48 and ROL 09:35:12 also, is there a very simple low-opcode CPU architecture out there? 09:35:23 subtract-and-branch-if-zero? 09:35:33 slightly higher than this 09:35:41 but slightly lower than my own 09:36:01 well less than or equal to zero i guess is the official one 09:36:15 although equal-to is prolly enough 09:36:28 i don't know any. 09:36:31 i've made a few myself 09:36:37 -!- GreaseMonkey has quit ("Unisex."). 09:36:40 one with some 6 ops 09:36:50 6 ops :) 09:36:50 but it had bignums! 09:36:54 oh 09:37:00 can't we decrase it to 8 or 16 bits? 09:37:13 umm, actually 4 or 5, but one was cheated and did tons of stuff. 09:38:04 you just need subtraction for arithmetic, ror and nand for bit stuff, and branch-if-less-than-or-equal-to-zero for jumping around 09:38:10 :) 09:38:26 ALSO PERHAPS AN INSTRUCTION THAT PUTS THE COMPUTATION IN A MONAD 09:38:33 what do you mean 09:38:33 AND CALL/CC 09:38:54 i mean nothing 09:39:00 also, you need LDA for loading immediates/memory values AND STA for saving them 09:39:07 right, right 09:39:17 that's 6 09:39:31 and even then it has some sweet redundancy! 09:39:33 but it still gives more opcodes in total 09:39:55 depends 09:40:26 on what do you consider a separate opcode 09:40:35 anything that has different register params 09:40:46 mov a,b != mov b,a? 09:40:50 no 09:40:52 i'm putting only 09:40:53 swp b,a 09:40:55 and swp x,a 09:40:57 oklopol: yes 09:41:05 but with swaps, i'm limiting 4 instructions to just 2 09:41:09 which IS an improvement 09:41:32 well mov is more general 09:41:53 with swp, you can only move, with mov, you can copy. 09:42:07 kinda ironic, huh? 09:42:14 i'll see how many instructions i'll have left 09:42:45 also, my values are unsigned 09:42:53 so i can do branch-if-zero 09:43:19 0111$$$$ $$$$ - LDI ($$$$$$$$ - immediate value) 09:43:19 1000$$$$ $$$$ - LDA ($$$$$$$$ - memory position) 09:43:19 1001$$$$ $$$$ - STA ($$$$$$$$ - memory position) 09:43:27 ...yes 09:43:28 right, different register params 09:43:45 that's different commands though! 09:43:46 i'm not really practical enough to assume a register-based processor. 09:44:02 LDI loads an immediate, LDA loads from a memory position, STA stores to a memory position! 09:44:18 which is why i found it weird different params would be different opcodes 09:44:24 yeah, yeah 09:44:51 i just usually have the memory, and no registers, for my asms 09:45:04 I will have 2 kinds of branches 09:45:14 beq (branch-if-equal) and bze (branch-if-zero) 09:45:24 and nop 09:45:27 i will still have 2 opcodes left 09:45:50 so i can change the swaps to MOVs 09:45:58 bze and beq are just a few ops away 09:46:06 although i'm sure you knew that already. 09:46:19 what do you mean "just a few ops away"? 09:46:24 also 09:46:26 saving space 09:47:06 code = code[bze/beq] +- n, where n is about 4, and A/B means swap A and B 09:47:19 umm, about 4 per swap 09:47:48 (and these number are opcounts) 09:47:58 http://rafb.net/p/FDA2ox85.html 09:47:58 hmm 09:48:20 INCs now can be done in loops with beq 09:48:25 with 255 DECs 09:48:26 what i mean is, you don't *need* both of those, but you knew that already 09:48:32 but i can 09:48:40 i don't have any other instruction to add anyway 09:49:01 well 09:49:03 i can remove bze 09:49:08 since i can set B to zero 09:49:20 then just beq 09:49:51 well yeah, bze a = beq a a, beq a b = bze (sub a b) 09:50:06 err 09:50:08 lol. 09:50:16 how the fuck can i fail at that :D 09:50:16 what? 09:50:22 what did you do? 09:50:24 bze a = beq a 0 ofc 09:50:35 and that's what i'm doing 09:50:45 i could add an instruction "ZERO b" 09:50:49 that zero's B 09:51:00 but you can do it manually 09:51:02 you can just load an empty memory slot 09:51:06 i know 09:51:08 have those be 0 09:51:13 mov a, b (moves A to B) 09:51:21 lda #0 (loads zero to A) 09:51:28 copies A to B* 09:51:29 here 09:51:47 bze was 4 bits, this is sadly 16 09:51:51 but who cares :P 09:52:00 256 bytes of program is there. 09:52:04 but you can bank it, heh. 09:52:09 Memory != program, sadly 09:52:10 oh 09:52:12 i could add 09:52:13 LDP 09:52:16 or wait 09:52:17 not 09:52:33 Well, the program can either supply it's own 256 bytes of memory 09:52:37 or use the builtin 09:52:47 if the program supplies it's own, this allows for banking 09:53:05 i could add LDPC 09:53:07 perhaps i should make a declarative asm 09:53:10 which loads the Program Counte---- 09:53:13 well, not 09:53:14 that would be so sweet 09:53:19 since the program counter is "9 bits" 09:53:19 sugary goodness 09:53:28 oklopol: Do you like Asie-2? 09:53:37 will you program anything for it? 09:54:10 well i'll gladly program something given something to program in it 09:54:20 hmm 09:54:26 Pi number calculator? 09:54:31 heh 09:54:36 a tool that calculates Pi numbers 09:54:42 well, i think, with such a limited amount of opcodes 09:54:45 Asie-2 will be quite fast 09:57:08 oklopol: are you doing it, or are you waiting for an easier task? 09:58:21 i'm actually trying to find the best way to do it, not that i'm necessarily going to do it anyway 09:58:43 you can compile it to c, and use a c compiler, perhaps. 09:59:26 nope, this will be too much of a waste 09:59:31 Pi number calculator for asie-2 10:01:19 what will be too much of a waste? 10:02:19 C compilation 10:02:27 for 256 bytes of program size 10:03:53 pi calculation is impossible in 256 bytes 10:09:29 yes, pi has over 9000 decimals 10:12:06 olsner: what do you mean? 10:12:50 256 bytes ~ 616 decimals, pi has inf decimals, 256 != 9000, what's 9000? 10:13:44 9000 is a random big number that is well above the number of decimals that fit in 256 bytes 10:14:32 please elaborate on why you picked exactly *that* random number. 10:14:38 8794 is much more random. 10:16:27 -!- Iskr has joined. 10:16:31 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 10:18:05 an attempt to integrate the OVER NINE THOUSAND!!!! meme into the discussion, but it seems to have failed 10:18:34 i know, just wanted you to explain the joke. 10:18:41 how mean 10:18:44 :DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 10:18:51 sorry, i'm pretty tired. 10:19:04 i think i'll break the pi calculation record now 10:19:36 -!- asiekierka has joined. 10:19:38 Back 10:19:47 how was it? 10:19:49 oklopol: heh, you can implement banking in memory 10:19:56 for your pi calculation 10:20:24 what do you mean? 10:20:36 you can set a register in memory 10:20:37 256 bytes is not enough to hold a program that calculates pi 10:20:45 you can have 256^2 bytes 10:20:51 but you can only access 256 at a time 10:20:55 Answer is banking 10:21:00 you have a register in memory 10:21:12 that accesses the bank of program equal to it's value 10:21:35 and does what exactly? 10:22:08 runs it tail-recursively? 10:28:57 -!- Slereah_ has joined. 10:37:12 well 10:37:14 oklopol 10:37:20 256 bytes means up to 512 commands 10:37:31 except loading/storing/comparsion stuff, that takes 12 bits, not 4 10:37:44 also 10:37:49 what about Fibonacci, oklopol? 10:39:52 also 10:40:06 is there any System 7 C compiler to download for free? 10:40:10 or System 6 10:40:51 asiekierka: i can calculate the number of ops per 256 bytes, i'm asking what it means to change the bank 10:41:07 you set $01 (or whatever position you want) to the number of the bank 10:41:10 i'm assuming it's a recursive call, and you can use a bank load as a function call 10:41:22 then the Nth bank becomes the program code 10:41:23 N=$01 10:41:28 $01 memory address 10:41:33 you start in the same position tho 10:41:43 start in the same position? 10:42:02 if you set it when PC = ..4.5 10:42:11 4.5 byte 10:42:23 then the bank starts execution at the 5th byte 10:42:28 or 6th byte 10:42:34 depends how large the set instruction is 10:42:51 makes compilation into banked pretty hard 10:43:02 but i like a challengr 10:43:05 *challenge 10:43:10 heh 10:43:17 that's the only way to do anything IMPRESSIVE 10:43:23 :o 10:43:32 can you set pc explicitly? 10:43:37 no 10:43:37 i haven't read the instruction set 10:43:40 i'm illiterate 10:43:42 i can add one more instruction 10:43:43 though 10:43:44 for it 10:44:35 LDPC 10:44:39 or no 10:44:40 STPC 10:44:46 sets the Program Counter 10:44:51 but takes effect immediately 10:44:59 and you can use Branching for it anyways 10:46:51 is there an assembler/C compiler for the System 6? 10:46:54 Mac 6.0.8 10:47:51 The Ghostviewer logo looks like a Klansman. 10:55:38 -!- Judofyr has joined. 11:19:19 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 11:20:11 -!- Slereah_ has quit (Read error: 110 (Connection timed out)). 11:27:17 gonna sleep for a sinister second now -> 11:27:52 -!- asiekierka has joined. 11:27:54 Heh 12:14:26 -!- Tritonio has joined. 12:30:09 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 12:31:48 -!- timotiis has joined. 12:45:20 -!- Judofyr has quit (Read error: 104 (Connection reset by peer)). 12:46:16 -!- Judofyr has joined. 13:02:54 -!- Corun has joined. 14:16:02 -!- ehird has joined. 14:51:53 -!- RedDak has joined. 15:10:33 -!- RedDak has quit (Remote closed the connection). 15:16:00 -!- oklopol has quit (Read error: 113 (No route to host)). 15:34:12 -!- oklopol has joined. 16:04:59 -!- wooby has joined. 16:05:20 hello! 16:06:47 hi 16:07:09 hows it goin 16:07:18 -!- wooby has quit (Client Quit). 16:07:47 well. 16:34:49 ... 16:40:55 uvanta: yeah. 16:41:12 yeah 16:41:47 uvanta: yeah 16:41:55 so... 16:41:59 uvanta: so... 16:42:09 hows it goin? 16:42:19 * ehird has quit (Client Quit) 16:43:15 well. 16:43:32 ... 16:43:35 ...i can't do this anymore ROFL 16:43:46 uvanta: damn you, i was going on for 6 hours there 16:44:14 sorry man 16:44:38 uvanta: i'm not accepting your apology. you have ruined my life 16:44:42 good bye forever 16:44:44 * ehird has quit (Client Quit) 16:44:56 well. 16:45:21 ... 16:45:35 ehird: yeah. 16:45:41 so... 16:45:48 ehird: so... 16:45:59 hows it goin? 16:46:06 -!- uvanta has quit ("Client Quit"). 16:46:13 err. 16:53:08 -!- Tritonio has quit (Remote closed the connection). 17:21:47 -!- Sgeo has joined. 17:48:39 -!- asiekierka has joined. 17:48:41 Hheeyy 17:49:11 Oh no, 17:49:13 Oh no, 17:49:14 Oh no. 17:49:24 no worries, i'm not a troll now 17:49:26 I changed. 17:49:42 * ehird eyes suspiciously 17:49:46 :P 17:53:23 http://rafb.net/p/UqWHs616.html 17:53:27 Asie-1.2 CPU architecture 17:53:32 15-opcode madness 17:54:19 1101 - reserved, I.E. think of anything you could put there for Asie-1.3 :) 17:54:47 asiekierka: 15 opcodes ... sounds like Yael 17:54:51 Yael? 17:54:59 ... and indeed the opcodes are similar 17:55:03 asiekierka: esolangs.org/wiki/Yael 17:55:09 didn't know about Yael 17:55:20 oklopol proposed what instructions should be there for minimalism 17:56:01 my is slightly different, though 17:56:03 it has only nand 17:56:05 only dec 17:56:14 only 3 registers 17:56:23 and trying to keep opcode size minimalism 17:56:50 you must do other gates with nand 17:57:01 also, this one is easy to implement 17:57:16 256 bytes of program, 256 bytes of memory 17:57:16 asiekierka: er, so is mine 17:57:19 asiekierka: ah 17:57:28 asiekierka: then yours is hideously underpowered 17:57:39 it was meant to be easy to implement 17:58:02 though i was thinking of STP as the 16th opcode, it'll store whatever you have at A into the program counter 17:58:04 asiekierka: {} is easier 17:58:11 {}? 17:58:14 what is {} 17:58:25 asiekierka: the empty set. 17:58:38 what is the empty set? 17:58:40 it's empty 17:58:45 it's an empty set 17:58:46 asiekierka: correct. 17:58:48 but what do you mean? 17:58:52 this means that implementing it is trivial 17:58:54 cases in point 17:58:57 brainfuck: 17:59:02 also, implementing it into an FPGA 17:59:02 C: int main(){return 0;} 17:59:03 i mean 17:59:14 FPGA: { -- air -- } 17:59:21 in Verilog 17:59:24 i actually plan to do this 17:59:27 Asie-1.2 FPGA 17:59:36 it could be really fast, you know? 17:59:40 asiekierka: empty set is faster 17:59:42 with such a small instruction amount 18:00:00 Empty set... i.e. no instructions? 18:00:07 asiekierka: correct 18:00:21 Asie-0, you mean 18:00:23 asiekierka: you said that yours was designed to be easy to implement 18:00:29 and still useful 18:00:33 asiekierka: and, well, your actual machine is useful for just about nothing 18:00:36 without registers that do special stuff 18:00:39 calculations, ehird 18:00:40 so the empty set doesn't cost you much 18:00:41 and wins you a lot 18:00:46 another device can output stuff 18:00:50 like, calculations 18:00:52 it's possible 18:00:58 asiekierka: but .. still not very useful 18:01:02 it would need to be a bit higher power 18:01:05 to be more useful than {} 18:01:10 {} does NOTHING 18:01:15 this does A BIT 18:01:21 a bit I.E. somethning easy 18:03:57 asiekierka: meh 18:04:00 its's not much useful 18:05:48 I was bored while making it 18:05:57 i wanted something that has more opcodes than subleq 18:06:01 asiekierka: sure, it's cool 18:06:05 while less than most of the CPUs out there 18:06:05 jus tnot particularly useful :-P 18:06:18 i had this idea for an INVersion mode 18:06:20 asiekierka: here's a challenge 18:06:23 asiekierka: a lazy cpu 18:06:23 dec x becomes inc x 18:06:31 ror x becomes rol x 18:06:33 and nand x - nor x 18:06:40 a lazy cpu? 18:06:49 asiekierka: yes 18:06:52 a cpu based on lazy evaluation 18:07:00 lazy evaluation? what's that? 18:07:05 asiekierka: ... :'( 18:07:06 you must explain things to an 11-year-old 18:07:16 asiekierka: the wikipedia! 18:07:24 i must pack to school now 18:07:25 sry 18:07:36 awlrighty then 18:07:40 but i have a challenge for you! 18:07:46 A CPU with -1 opcodes. 18:08:31 asiekierka: quite impossible and meaningless 18:08:35 :p 18:08:38 however 18:08:39 }{ 18:08:43 if CPU 0 = {} 18:08:47 ehird: #1: Everything is possible 18:08:47 then CPU -1 is where it overflows 18:08:49 ergo }{ 18:08:57 #2: If something's impossible, see #1 18:09:01 the challenge is writing a compiler for }{ 18:09:05 it's quite impossible. 18:09:19 you could probably write one in }{ though. 18:09:20 (hidden {)... }{ ... (hidden }) 18:09:22 haha 18:09:34 well 18:09:35 always 18:09:38 } 0 { 18:09:45 if you use Asie-}{ 18:10:28 I wonder what -x86 is. 18:10:34 if x86 is {foo}, -x86 is }foo{ 18:10:38 oklopol would have a field day with this 18:10:39 it's wrong!, it should be x-86 18:10:44 x = 86 - ? 18:10:47 ? = ?? 18:11:00 ?? = [??] 18:11:04 [??] = [00] 18:11:07 [00] = [] 18:11:17 [] = 42 18:11:20 ? = 42 18:11:23 x = 86 - 42 18:11:29 x = 44! 18:11:30 i win 18:11:32 xD 18:11:37 or not 18:11:41 it should be 42 - 86 18:11:44 but who cares 18:12:24 asiekierka: I .. see 18:12:53 i'm just kidding anyway 18:13:03 it's the Idiot's way to solving idiotic equations 18:13:27 Rule #1: [] = 42 18:13:43 Rule #2: If a value dosen't fit or is random, and you can't do anything with it, turn it to zero's! 18:13:53 Rule #3: Behave like an idiot adding stuff and mixing it 18:14:17 pikhq: OMFG NEW DRESDEN CODAK 18:15:08 RodgerTheGreat: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 18:15:25 :-------__O 18:16:32 gah! he answers questions with more perplexing riddles! 18:20:03 RodgerTheGreat: I judge this contract, which is a contest: {} 18:20:54 uh 18:40:17 -!- Tritonio has joined. 18:43:55 -!- timotiis has quit (Read error: 110 (Connection timed out)). 18:51:15 -!- asiekierka has quit (Read error: 104 (Connection reset by peer)). 18:51:30 -!- asiekierka has joined. 18:52:45 -!- asiekierka has quit (Client Quit). 18:59:00 -!- RedDak has joined. 19:11:41 RodgerTheGreat: !!! 19:11:45 :D 19:12:22 OMFG! 19:13:41 -!- Tritonio has quit (Remote closed the connection). 19:14:41 gazonk 19:24:37 -!- RedDak has quit (Remote closed the connection). 19:48:55 -!- pikhq has quit ("leaving"). 19:52:02 -!- pikhq has joined. 20:58:15 -!- RedDak has joined. 21:32:01 I have the beginnings of a compiler that targets befunge 21:32:04 properly 21:32:27 not like that scheme compiler that put all the code on one line 21:32:54 currently you can't do much interesting with it though 21:33:34 but it can do this: 21:33:38 -!- oerjan has joined. 21:33:46 *Main> ppp $ emit $ fst $ parse "1 zput begin zget 1 > while zget * zget 1- zput again" 21:33:49 18 3 1 2 21:33:51 neat, eh? 21:33:54 vp00-1g00*g00< 21:33:56 100p>00g1` | 21:33:59 > 21:34:08 the input is forth-like 21:34:35 the first line of output is width, height, entry row, exit row 21:34:50 correct, of course 21:35:51 whaddya think? 21:35:55 anyone? 21:38:36 (Haskell makes throwing this stuff together so easy.) 21:41:11 -!- timotiis has joined. 21:42:16 Back 21:42:32 SimonRC: HASKELL! 21:42:56 yes 21:43:27 SimonRC: can i see the code? 21:43:29 hpaste it 21:43:40 are you on nonlogic? 21:43:45 (I forget) 21:43:55 SimonRC: define 'on' 21:44:04 actually... 21:45:39 http://sc.nonlogic.org/Beforth/ 21:46:03 SimonRC: lern2notpollutemainnamespace 21:46:04 :- 21:46:05 :-P 21:46:10 My idea of a website is a set of symlinks into some other directories :-) 21:46:20 SimonRC: kinda talking about your haskell 21:46:20 heh 21:46:41 I should re-arrange things 21:47:47 SimonRC: I suggest: 21:47:51 Language.Beforth.* 21:48:01 SimonRC: which gives you the dir tree: 21:48:04 src/Language/Beforth/* 21:49:24 SimonRC: I am of course nitpicking unimportant things on purpose 21:49:25 :P 21:50:54 * SimonRC moves it anyway 21:51:10 one problem is that your main module has to be called "Main" 21:51:20 and not "Foo.Bar.Main" 21:52:39 SimonRC, aww? I wanted to see it 21:54:01 SimonRC: yeah 21:54:03 so have Main 21:54:11 which is a thin wrapper around some stuff in your module 21:54:15 SimonRC: Main should be in src/ 21:54:22 SimonRC: it should do option parsing and file reading and all that 21:54:28 then dump the output to a file 21:54:29 that's it 21:54:55 ehird, why not interactive program? 21:55:06 I assume that is possible in haskell? 21:55:06 AnMaster: that makes no sense 21:55:46 the input is forth-like 21:55:48 hm? 21:55:56 AnMaster: that means the input language .... 21:56:07 ah right 21:56:10 * AnMaster reads up 21:56:24 SimonRC, forth to befunge converter? sounds really really interesting 21:57:23 -!- jix has joined. 21:57:26 AnMaster: not real forth 21:57:28 just forth-esque 21:57:36 * SimonRC fiddles more 21:57:37 ah ok 21:57:38 -!- jix has quit (Remote closed the connection). 21:57:40 still quite cool 21:57:48 also, wooo! I Wanna Be The Guy: The Movie: The Game runs with WINE! 21:57:55 8-bit masochism GO 21:58:02 vp00-1g00*g00< 21:58:03 100p>00g1` | 21:58:03 > 21:58:19 SimonRC, that > at the end makes no sense 21:58:31 it will cause an infinite loop 21:58:41 AnMaster: maybe he wants an infinite loop 21:58:42 that can't be broken 21:58:44 ah 21:58:46 still 21:58:59 -!- Iskr has quit ("Leaving"). 21:59:14 -!- jix has joined. 22:01:53 AnMaster: it is only a program fragment 22:02:02 the > at the end leads on to more stuff 22:03:49 ah 22:03:59 SimonRC, now, can you compress the code :D 22:04:05 optimize it I mean 22:05:55 well, it is optimised a bit 22:06:23 it folds the second half of the loop backwards and puts it in top of the first half 22:07:14 Th problem with _ is that you can't flip it horizontally easily 22:07:34 SimonRC, hm? 22:07:44 SimonRC, are you doing befunge93 or befunge98? 22:07:55 I'd say do befunge98 22:08:07 then you got w instruction that will help you a lot 22:08:11 yes, 98 22:08:42 well, I don't want to be too '98y 22:08:50 yet 22:09:54 SimonRC, are you using ccbi or cfunge to test the output with? 22:10:04 that are the only good 98 interpreters out there really 22:10:12 those* 22:10:45 ccbi does have better debugging support in general, while cfunge is faster 22:10:51 * AnMaster wrote cfunge and Deewiant wrote ccbio 22:10:52 err 22:10:53 ccbi* 22:13:07 * [minerale] (i=35181@about/cooking/alfredo/Minerale): minerale 22:13:07 * [minerale] #pmog #ircnomic ##mac ##java #gentoo #irssi #lighttpd #oracle #vim #rtorrent #erlang #zsh #screen #wikipedia #macdev ##textmate ##apple #ubuntu #debian #drm ##helenthomasflowers #macports #macosx #goruco 22:13:12 >>why<< did that guy join #ircnomic? 22:13:17 ###helenthomasflowers? seriously? 22:13:49 ehird, what on earth is that channel? 22:14:29 AnMaster: i have no fucking idea 22:14:32 it has him only 22:14:48 yes I checked that 22:14:49 i am thinking BOT 22:14:54 but ... i'm not sure 22:15:01 ehird, not with that cloak 22:15:02 really 22:15:22 AnMaster: about cooking alfredo! 22:15:33 ehird, anything except a unaffiliated cloak would be impossible to get as a bot 22:15:41 AnMaster: about cooking! 22:16:02 ehird, yes.. about as in ## channel 22:16:05 yes 22:17:38 ok, so the source is moved to http://sc.nonlogic.org/beforth/ 22:19:04 SimonRC, there are more stuff you can't flip 22:19:29 like? 22:19:49 oh wait is it only flip horizontally? 22:19:55 yes 22:20:02 it isn't very smart 22:20:06 just a bit smart 22:22:03 SimonRC, well some would cause different result if you flip them, x sets absolute vector 22:22:10 so you need to flip the arguments as needed too 22:22:33 as in not just reverse them 22:22:39 but add minus sign as needed 22:22:44 screw x 22:23:02 it only has to work on befunge that I emit 22:23:24 SimonRC, anyway what interpreter are you using to test this? 22:23:50 I'm not 22:23:57 I'm just inspecting the outputted code 22:24:11 SimonRC, well I can recommend ccbi and cfunge :) 22:24:20 actually, currently I'm not working on it 22:24:32 AnMaster: what're the relative advantages? 22:24:35 ccbi got better debug support, supports more fingerprints and is more stable, it is coded in D 22:25:16 cfunge is coded in C, is faster, got some debugging support, but not yet as much, doesn't yet support as many fingerprints and it's code base isn't as stable yet 22:25:24 ccbi is coded by Deewiant in here 22:25:29 and cfunge is coded by me 22:25:41 SimonRC, oh and cfunge will not be easy to run on windows 22:25:52 but cfunge is mainly coded for speed 22:26:20 SimonRC, also cfunge is less likely to crash on random input as I have done fuzz testing on it ;) 22:26:29 with an automated script 22:26:47 cool 22:27:22 SimonRC, links to both exist on the befunge page on the esolang wiki 22:27:31 ok 22:28:09 SimonRC: did I mention that AnMaster uses hairy functions like posix_tell or whatever to preallocate stuff 22:28:11 and preallocates files 22:28:13 for the sake of 1ms 22:28:17 :-) 22:28:22 SimonRC, oh and if you don't want to install boehm-gc: it won't be the default to use boehm-gc in next version. and you can already disable it by: 22:28:24 cmake -DLEAK_MODE=ON . 22:28:25 (while, for example, leaving the hashtable algorithm as non-optimal) 22:28:39 ehird, I'm working on said hash table 22:29:05 I have been making it a bit faster already 22:29:14 ehird, but I do plan a complete rework of that part 22:30:04 SimonRC, + there are binaries for both ccbi and cfunge available. for ccbi there are win32 and linux32 binaries, while for cfunge there are linux32 and linux64 binaries 22:36:35 -!- RedDak has quit ("Killed (NickServ (Comando GHOST usato da DIO))"). 22:36:40 -!- Slereah_ has joined. 22:38:33 Slereah_: was it this year you invented the Andrei Machine? 22:38:51 oerjan: yes 22:39:12 Slereah_: i salute your remarkable ventriloquist powers 22:39:16 haha what 22:39:42 anyway i'll fix the wiki category 22:41:38 and is it really unimplemented? 22:44:02 what is a "Andrei Machine"? 22:44:32 http://esoteric.voxelperfect.net/wiki/Andrei_Machine_9000 22:47:27 -!- jix has quit ("CommandQ"). 22:49:22 zzzzzzzzzzzzzzzzzzzzzzzzz 22:50:24 night too 23:01:46 So. 23:02:42 * oerjan recalls reading that "So" accidentally means the same in Japanese as in English 23:26:11 and in scandinavian, dutch and german :P 23:26:58 that's not accidental, that's probably inherited 23:27:25 yeah, so it's more like it means the same in japanese and germanic 23:28:27 olsner, nop 23:28:30 "så" 23:28:31 not "so" 23:28:33 in Swedish 23:28:50 AnMaster: dirty language. 23:28:51 which belongs to the subgroup scandinavian 23:28:57 jajaja, men det r ju samma ord oavsett om det stavas med eller o :P 23:28:57 ehird, what? 23:29:00 the pronunciation is the same essentially. except in english i guess 23:29:12 jajajajjajajajjaa. 23:29:13 olsner, jo i och för sig 23:29:28 oerjan: #ircnomic 23:29:29 * AnMaster slaps ehird with a super-large, super-smelly, decaying digitally-enhanced reinforced IRC-grade trout 23:29:46 * ehird slaps AnMaster with stupid client scripts 23:30:01 ehird: the wiki _still_ wasn't updated last i checked. how shall i know what game i am playing? 23:30:02 oerjan, well the pronunciation of så and so are quite different 23:30:06 ehird, not a script 23:30:10 ehird, just a plain alias 23:30:17 nothing random 23:30:39 AnMaster: in swedish yes, but sw/no ~ german o 23:30:51 ehird: the wiki _still_ wasn't updated last i checked. how shall i know what game i am playing? 23:30:54 oerjan: we'll tell you 23:30:55 :-P 23:31:04 oerjan, well I'm no expert of german, not knowing more than maybe 2-3 words in it 23:32:05 well essentially sw/no ~ nearly everyone else's o 23:35:21 -!- olsner has quit ("Leaving"). 23:41:05 -!- dbc has joined. 23:45:18 -!- ehird has changed nick to elliott. 23:45:34 -!- elliott has changed nick to ehird.