←2006-11-26 2006-11-27 2006-11-28→ ↑2006 ↑all
00:41:25 * SimonRC makes the leap of faith
00:41:32 <bsmntbombdood> ?
00:41:55 <SimonRC> I am hoping that this Ubuntu upgrade is not going to uninstall my x server or anything stupid like that.
00:42:24 <SimonRC> openoffice.org2 is being replaced by openoffice.org
00:42:31 <SimonRC> which is also alarming
00:43:58 <GreaseMonkey> wtf?
00:44:36 * SimonRC is upgrading Ubuntu.
00:45:39 <SimonRC> I though: "Hey! I'm still using 'Daft Drake' or whatever it's called. I'll upgrade to Edgy Eft."
00:45:46 <SimonRC> s/Daft/Dapper/
01:12:22 <ihope> You forgot the name "Dapper Drake"? How'd you manage that?
01:12:25 <ihope> :-P
01:16:58 <bsmntbombdood> damn daft
01:19:08 <GreaseMonkey> referring to http://rodger.shadowarts.org/files/Handgrenade.txt , can the program counter be set directly?
01:20:57 <GreaseMonkey> as in: 0000: 05 00 02 01
01:21:25 <GreaseMonkey> 0500: set A to 00, 0201: set register 01 (Program Counter) to A
01:22:32 -!- wooby has joined.
01:22:37 -!- wooby has quit (Remote closed the connection).
01:22:47 <bsmntbombdood> what's the difference between 01 and 05?
01:24:29 <GreaseMonkey> each command goes XX YY, where XX is the opcode and YY is the supplied value
01:24:37 <bsmntbombdood> i know
01:24:40 <bsmntbombdood> I read
01:24:53 <GreaseMonkey> please rephrase the question
01:25:01 <bsmntbombdood> what's the difference between "01 xx" and "05 xx"
01:26:16 -!- wooby has joined.
01:26:36 <GreaseMonkey> oh
01:26:55 <GreaseMonkey> 01 xx: set A(reg 00) to reg XX
01:27:04 <GreaseMonkey> 05 xx: set A(reg 00) to value XX
01:27:27 <bsmntbombdood> so 01 copies a pointer, 05 copies a value?
01:27:55 <GreaseMonkey> 01 copies a REGISTER, 05 copies a value.
01:28:14 <bsmntbombdood> I don't get it
01:28:27 -!- ihope_ has joined.
01:28:37 <GreaseMonkey> like:
01:28:38 <GreaseMonkey> 01 xx: MOV R00,Rxx
01:28:46 <GreaseMonkey> 05 xx: MOV R00,xx
01:29:02 <GreaseMonkey> there is no MOV R00,[xx]
01:29:28 <GreaseMonkey> that's intel syntax apart from the register values
01:29:44 <RodgerTheGreat> I never actually finished that spec...
01:30:03 <bsmntbombdood> i still don't get it
01:31:24 <bsmntbombdood> 01 xx
01:31:27 <bsmntbombdood> 03 00
01:31:40 <bsmntbombdood> that increments A and xx?
01:33:15 <RodgerTheGreat> that command actually ignores it's parameter (wasteful, and I was going to change it)
01:33:24 <bsmntbombdood> i know
01:34:01 <RodgerTheGreat> what brought this up in the first place?
01:34:16 <bsmntbombdood> dunno, GreaseMonkey mentioned it
01:35:27 <RodgerTheGreat> it was originally going to be the language spec for a programming combat game that we never really got around to implementing. Something kinda like RoboWars, if you've ever played it.
01:35:42 <bsmntbombdood> The idea seems interesting
01:36:13 <RodgerTheGreat> there are games like it in existence. I thought it would be a fun game to code for PalmOS
01:37:40 <bsmntbombdood> what's P?
01:38:08 <RodgerTheGreat> read the top section of the file
01:38:28 <bsmntbombdood> oops
01:39:46 <RodgerTheGreat> and I'm not sure I remember what the difference between 01 and 05 was supposed to be.
01:42:20 <GreaseMonkey> you said : 05 - Set A to *value* X
01:42:30 <GreaseMonkey> it's an 8-bit spec
01:42:45 <RodgerTheGreat> Oh, yeah- a literal set, rather than a copy
01:42:55 <RodgerTheGreat> makes sense now
01:42:58 <bsmntbombdood> huh?
01:43:06 <GreaseMonkey> yep
01:43:25 <GreaseMonkey> OK, if, at 0000, I do: 05 00 02 01
01:43:26 -!- calamari has joined.
01:43:32 <GreaseMonkey> does it set the program counter?
01:43:37 <calamari> hi
01:43:40 <GreaseMonkey> hi
01:44:05 <RodgerTheGreat> yeah, that's correct
01:44:06 <GreaseMonkey> reg 01 is the program counter, so what happens if i set it DIRECTLY?
01:44:21 <GreaseMonkey> does it jump?
01:44:26 <RodgerTheGreat> effectively
01:44:50 <RodgerTheGreat> the system increments after each program step, so you actually want to jump to the address before the one you want
01:45:00 <RodgerTheGreat> er.. yeah
01:45:04 <RodgerTheGreat> I think that made sense
01:45:16 <GreaseMonkey> k
01:45:21 -!- ihope has quit (Connection timed out).
01:45:58 <GreaseMonkey> you should hvae some external code loader because 128 instructions is impractical for anything big but it could fit a code loader
01:46:43 <RodgerTheGreat> possibly
01:47:33 <RodgerTheGreat> the game centered around the idea of creating very lightweight, fast programs, so I was doing some work on refining the instruction set to make it easier to use for that purpose
01:48:13 <RodgerTheGreat> 128 instructions is small for something useful, like a program, but reasonably large for a simple bot AI
01:48:28 <GreaseMonkey> eg: F0 - load page A (64-byte pages) at location 00
01:48:45 <GreaseMonkey> F1 = load at loc 40, F2 = at loc 80, F3 = at loc C0
01:48:46 <RodgerTheGreat> as I said, the spec was still under a fair amount of development
01:48:49 <RodgerTheGreat> yeah
01:48:51 <GreaseMonkey> yeah
01:49:22 <RodgerTheGreat> a memory paging system could work pretty well for this type of setup
01:49:33 <GreaseMonkey> yep :D
01:50:24 <GreaseMonkey> well, F0-F3 = load page numbered by *register* xx, F4-7 load page numbered by *value* xx
01:51:22 <RodgerTheGreat> haha- most definitely not RISC
01:51:29 <GreaseMonkey> and the initial setup should be: 00 = page 00, 40 = page 01, 80 = page 02, C0 = page 03
01:51:38 <GreaseMonkey> afk food
02:27:46 -!- GregorR-L has joined.
02:39:14 -!- GregorR has quit (Read error: 104 (Connection reset by peer)).
02:39:14 -!- EgoBot has quit (Read error: 54 (Connection reset by peer)).
02:45:10 -!- GregorR has joined.
03:00:46 -!- GregorR-L has quit (Read error: 110 (Connection timed out)).
03:13:19 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
03:20:01 <bsmntbombdood> woot, pipes
03:21:19 -!- Sgeo has joined.
03:59:22 -!- CakeProphet has quit (Read error: 104 (Connection reset by peer)).
04:50:06 <GreaseMonkey> back
04:52:01 <GreaseMonkey> RTG: I think HandGrenade *is* RISC.
04:52:10 <GreaseMonkey> - fixed instruction length
04:52:17 <GreaseMonkey> - lots of registers
04:52:59 <GreaseMonkey> one thing you need is the ability to read and write to/from memory
04:54:42 <GreaseMonkey> i think that minibiatch is a good lang :D
04:55:03 -!- dbc has quit (Read error: 104 (Connection reset by peer)).
04:55:08 <GreaseMonkey> iiaaabbb xxxxyyyy
04:55:08 <GreaseMonkey> i = instruction:
04:55:08 <GreaseMonkey> 00: MOV
04:55:12 <GreaseMonkey> 01: ADD
04:55:12 <GreaseMonkey> 02: ADC
04:55:12 <GreaseMonkey> 03: XOR
04:55:16 <GreaseMonkey> a = see table 1 below, apply to x
04:55:16 <GreaseMonkey> b = see table 1 below, apply to y
04:55:16 <GreaseMonkey> x = reg 1
04:55:21 <GreaseMonkey> y = reg 2
04:55:22 <GreaseMonkey> Table 1:
04:55:28 <GreaseMonkey> 000: use register
04:55:28 <GreaseMonkey> 001: use register as pointer
04:55:32 <GreaseMonkey> 010: use next 16-bit block and skip
04:55:33 <GreaseMonkey> 011: use I/O bus
04:55:33 <GreaseMonkey> 100: use relative pointer forward (00-07)
04:55:36 <GreaseMonkey> 101: use relative pointer backward (F8-FF)
04:55:37 <GreaseMonkey> 110: use far relative pointer forward (08-0F)
04:55:37 <GreaseMonkey> 111: use far relative pointer backward (F0-F7)
04:55:44 <GreaseMonkey> very RISC
04:56:15 <GreaseMonkey> Registers A-P are available. P is the program counter.
04:56:40 <GreaseMonkey> though midibiatch looks promising
04:57:13 <GreaseMonkey> meh
04:57:48 <GreaseMonkey> yeah, midibiatch is more practical
04:58:02 <GreaseMonkey> minibiatch is more esoteric
05:08:49 <Razor-X> I still say you only need SUBLEQ.
05:09:06 <Razor-X> Nor can I see why that's impractical, assuming a flat memory model. All you'll have to do is pay for busses.
05:09:31 <Razor-X> And maybe artificially segment of pieces of the memory as ``faster'', or create fast temporary pieces of storage or something.
05:11:07 <Razor-X> Of course, they'll be really fat busses. If you have a SUBLEQ-64 chip with my proposed extension for example, the busses will be 32 bytes long. Very very fat.
05:12:29 <bsmntbombdood> begin to see what was the emotion excited within me by the stile, and said to his visiter's remark, imparted to his vexation, that he saw nothing- although I call him by means of which he had been greatly changed during slumber.
05:13:37 <bsmntbombdood> At first, doubting that I was more angry than any of its roof, of course, added to a thick seaman's cloak, which he forcibly adapts his designs.
05:14:12 <bsmntbombdood> The door of the earth, you know, is twenty-four thousand miles east, I anticipate the rising of the transparent lake, and at the bare mention of the Egyptian ignorance of steam.
05:14:33 <Razor-X> .......
05:14:35 <bsmntbombdood> ^^ what you get when you take 37,000 lines of poe and give it to mark v. shaney
05:14:40 <Razor-X> Righto.
05:20:14 <GreaseMonkey> SubLEq gives out the biggest frikkin code ever
05:21:04 <Razor-X> But every operation is O(1) after all.
05:22:07 <GreaseMonkey> note that minibiatch doesn't have any jump or skip instructions, you have to scratch them out yourself
05:22:16 <GreaseMonkey> midibiatch is much more practical though :D
05:23:11 <Razor-X> Also, SUBLEQ is cheap.
05:23:33 <Razor-X> All you need is memory and a fairly minimal datapath.
05:30:29 -!- wooby has quit.
05:34:24 <GreaseMonkey> what's your proposed extension?
05:34:44 <GreaseMonkey> 32 bytes, 256 bits, 256 more pins.
05:53:27 -!- wooby has joined.
06:04:41 <GreaseMonkey> http://esolangs.org/wiki/Minibiatch and http://esolangs.org/wiki/User:GreaseMonkey
06:04:46 <GreaseMonkey> afk food
06:04:52 <GreaseMonkey> dinner now
06:05:06 -!- Sgeo has quit (Remote closed the connection).
06:08:34 <GreaseMonkey> well, dinner isn't quite ready yet
06:08:50 <GreaseMonkey> 02 00 26 00 C0 22 01 10 80 22 03 01 40 22 42 00 01 00 40 22 42 20 02 00 40 F2 02 F0 24 00 02 F0 04 00 00 FF 48 65 6C 6C 6F 20 57 6F 72 6C 64 21 0D 0A 00
06:08:55 <bsmntbombdood> !ps d
06:09:13 <GreaseMonkey> k, now it's ready
06:22:12 -!- wooby has quit.
06:29:23 <Razor-X> I gots an idea!
06:29:37 <Razor-X> Lets have a catalogue of stuff that breaks EgoBot! Just to mock GregorR!
06:29:40 <Razor-X> !ps
06:29:46 <Razor-X> Awww. It's not here :(
06:33:57 <Razor-X> Mmmf. GreaseMonkey: Explain your architecture in a bit of detail.
07:06:39 -!- calamari has quit ("Leaving").
07:41:42 <GreaseMonkey> ok, i'm going to wash up, i'll be back in abt 20 minutes, just warming the room up
07:42:02 <GreaseMonkey> ok, now what do you want clarified?
07:53:38 -!- cmeme has quit (Connection timed out).
07:54:16 -!- cmeme has joined.
07:54:53 <GreaseMonkey> k, gonna wash up, be back soon
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:15 <GreaseMonkey> back
08:43:14 <GreaseMonkey> gonna get some zzzz, cya
08:44:03 -!- GreaseMonkey has quit ("zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzleepytime").
10:05:56 -!- dbc has joined.
12:02:21 -!- anonfunc has quit.
16:22:30 -!- GregorR-L has joined.
16:43:23 -!- Asztal has joined.
17:02:11 -!- tgwizard has joined.
17:38:21 -!- jix has joined.
18:32:09 -!- lament has joined.
18:56:21 -!- Arrogant has joined.
18:58:53 -!- wooby has joined.
18:59:02 -!- wooby has quit (Remote closed the connection).
19:18:57 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
19:20:09 -!- tgwizard has joined.
19:38:52 -!- tgwizard has quit (Read error: 110 (Connection timed out)).
19:39:35 -!- tgwizard has joined.
21:05:11 -!- Arrogant has quit ("Leaving").
21:40:18 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
21:43:23 -!- Sgeo has joined.
21:52:12 -!- wooby has joined.
22:03:07 -!- pgimeno has quit (Read error: 54 (Connection reset by peer)).
22:17:52 -!- pgimeno has joined.
22:32:13 -!- oerjan has joined.
22:58:28 -!- wooby has quit.
23:01:53 -!- dbc has quit (Read error: 104 (Connection reset by peer)).
23:46:38 -!- sekhmet_ has joined.
23:48:11 -!- sekhmet has quit (Nick collision from services.).
23:48:20 -!- sekhmet_ has changed nick to sekhmet.
←2006-11-26 2006-11-27 2006-11-28→ ↑2006 ↑all