00:00:00 --- log: started forth/01.07.12 00:04:09 --- quit: adu (IRCStep) 00:42:03 --- quit: _colorg (Ping timeout for _colorg[humbubba.smart.net]) 00:58:33 --- join: edrx (edrx@copacabana-ttyS16.inx.com.br) joined #forth 01:04:08 --- quit: edrx ([x]chat) 04:42:56 --- join: Fare (fare@aboukir-101-1-5-fare.adsl.nerim.net) joined #forth 05:09:55 * Trey has returned 05:35:21 --- quit: Fare (Connection reset by pear) 05:37:53 --- join: Fare (fare@aboukir-101-1-5-fare.adsl.nerim.net) joined #forth 06:29:11 --- quit: Kookis (Read error to Kookis[209.78.183.11]: Connection reset by peer) 06:40:07 --- quit: Fare (Ping timeout for Fare[aboukir-101-1-5-fare.adsl.nerim.net]) 06:48:01 --- join: Fare (fare@aboukir-101-1-5-fare.adsl.nerim.net) joined #forth 07:08:33 --- join: grurp (grurp@pc19984.batc.tec.ut.us) joined #forth 07:10:35 --- join: edrx (edrx@200.240.18.103) joined #forth 07:25:32 * Trey is idle: taking a flying lesson 07:36:12 --- join: cleverdra (jfondren@1Cust164.tnt4.florence.sc.da.uu.net) joined #forth 07:36:12 --- mode: ChanServ set mode: +o cleverdra 07:36:22 --- mode: cleverdra set mode: +ooo edrx Fare grurp 07:36:35 hi clev 07:37:07 bye clev - no time to kill now :( 07:38:46 hi edrx 07:38:50 bye edrx 07:39:33 --- part: edrx left #forth 09:23:48 --- quit: Fare (varley.openprojects.net zelazny.openprojects.net) 09:23:49 --- quit: cleverdra (varley.openprojects.net zelazny.openprojects.net) 09:23:50 --- quit: BorgHOME_ (varley.openprojects.net zelazny.openprojects.net) 09:23:50 --- quit: nate37 (varley.openprojects.net zelazny.openprojects.net) 09:23:50 --- quit: Trey (varley.openprojects.net zelazny.openprojects.net) 09:23:51 --- quit: lar1 (varley.openprojects.net zelazny.openprojects.net) 09:23:51 --- quit: grurp (varley.openprojects.net zelazny.openprojects.net) 09:23:58 --- join: nate37 (nate@cx83983-d.irvn1.occa.home.com) joined #forth 09:23:58 --- join: Trey (bowser@ns.TreySoft.com) joined #forth 09:23:58 --- join: lar1 (lar1@adsl-63-204-132-181.dsl.snfc21.pacbell.net) joined #forth 09:23:58 --- mode: benford.openprojects.net set mode: +ooo nate37 Trey lar1 09:24:00 --- join: grurp (grurp@pc19984.batc.tec.ut.us) joined #forth 09:24:00 --- mode: saberhagen.openprojects.net set mode: +o grurp 09:27:01 --- join: cleverdra (jfondren@1Cust164.tnt4.florence.sc.da.uu.net) joined #forth 09:49:13 --- topic: set to 'http://isforth.sourceforge.net -- http://cvs.sourceforge.net/cgi-bin/cvsweb.cgi/isforth/?cvsroot=isforth' by ChanServ 09:49:26 --- mode: ChanServ set mode: -o clog 09:49:26 --- mode: ChanServ set mode: -o lar1 09:49:26 --- mode: ChanServ set mode: -o Trey 09:49:26 --- mode: ChanServ set mode: -o nate37 09:49:26 --- mode: ChanServ set mode: -o grurp 09:53:25 Thanks, ChanServ. 09:53:28 * Trey has returned 09:54:44 --- mode: ChanServ set mode: +o cleverdra 09:54:56 --- mode: cleverdra set mode: +oooo clog grurp lar1 nate37 09:54:56 --- mode: cleverdra set mode: +o Trey 09:57:58 Good morning, cleverdra. 09:58:10 g'morning, Trey 10:13:53 * Trey is idle: back to work. 11:20:30 --- quit: cleverdra (Leaving) 11:23:51 --- join: Fare (fare@aboukir-101-1-5-fare.adsl.nerim.net) joined #forth 11:34:27 --- join: dsmith (dsmith@d230.as1.clev.oh.voyager.net) joined #forth 12:05:23 --- quit: dsmith ([x]chat) 13:04:05 --- join: Blandest (bland@h24-65-137-230.ed.shawcable.net) joined #forth 13:28:57 --- quit: grurp (Read error to grurp[pc19984.batc.tec.ut.us]: EOF from client) 13:50:12 --- join: notjunkd (junk@p39-max2.christchurch.netaccess.net.nz) joined #forth 14:15:35 --- quit: Fare (Ping timeout for Fare[aboukir-101-1-5-fare.adsl.nerim.net]) 14:32:39 }=:::::::>--- 15:06:11 --- quit: notjunkd ( hi nj 19:08:54 --- nick: adu -> adu_movie 19:12:20 --- join: TheBlueWizard (TheBlueWiz@ip-216-25-202-246.vienna.va.fcc.net) joined #forth 19:12:20 --- mode: ChanServ set mode: +o TheBlueWizard 19:12:25 hiya all 19:12:29 --- mode: TheBlueWizard set mode: +o adu_movie 19:15:33 * Trey has returned 19:15:35 Howdy TheBlueWizard 19:17:02 hiya Trey 19:18:02 --- nick: adu_movie -> adu 19:18:12 phew 19:18:17 tbw!!!! 19:18:18 hmm? 19:18:24 hiya adu 19:19:40 forester 19:20:22 huh? 19:20:32 ww (wrong window) 19:20:47 heh 19:33:28 --- join: colorg (r@humbubba.smart.net) joined #forth 19:33:48 3 4 + x 0000007 19:36:29 eh? 19:36:56 Hi 19:39:16 hi 19:39:29 what language does this look like? 19:39:31 How long should I wait before I say "hi"? 19:39:31 main(argc:int argv':string):int = ( 19:39:31 1..argc-1, i:( 19:39:31 argv'i'0="-"? 19:39:31 argv'i'1( 19:39:32 <"h" put("hi") 19:39:32 <"t" put("there"))) 19:39:34 0>) 19:40:18 Phunky. 19:40:20 That looks like Cadu 19:40:26 hehe 19:40:30 Cadu, i like that 19:41:00 i'm making a language, and it has no keywords 19:41:07 just alot of operators 19:41:09 Trey, how many VGA cards DON'T do a horizontal sync interrupt? 19:41:23 Lots of them. 19:41:32 adu in #forth, operators are keywords dude 19:41:37 dang 19:41:43 i know... 19:41:47 Why, colorg? 19:42:01 adu: um...is int a keyword? 19:42:10 Trey to sync an OS to, like the Amiga 19:42:18 no 19:42:27 but s4 and u1 are: 19:42:29 inD... 19:42:29 put(:string ...):void 19:42:29 :int:s4 19:42:29 :string':u1 19:42:33 then what is int then? 19:42:42 colorg: hmmm. 19:42:42 ah 19:42:44 its a typedef for convinience 19:43:14 Trey: but alas, the PC just ain't no multimedia box 19:43:16 Mastabatory Gymnastics 19:43:26 abatory? 19:43:42 adu's keyword-free language. 19:43:49 hehehe 19:44:04 colorg: no kidding. 19:44:16 * colorg shakes his head 19:44:30 * TheBlueWizard thinks it's cool :) 19:44:37 i'm still working on a BNF for it 19:44:38 I can't think of too many reasons you'd want horizontal freqency interrupts. 19:44:53 s/freqency/frequency/ 19:45:01 can't you have them work as things other than interrupts? 19:45:06 Trey the whole Amiga was synced to it 19:45:19 adu not as well 19:45:23 Yeah, but it only output TV-quality video. 19:45:32 adu: what about using . instead of ' as a syntax...e.g. argv.i.0? 19:45:36 TV quality is good 19:45:40 NOT 19:45:59 bcus at first . was the line terminator, then i moved to a space terminator like lisp 19:46:06 so i suppose . could be used now 19:46:09 proper Amiga monitors were real monitors 19:46:38 hmm....I also notice you eschew ; .... interesting 19:46:41 Composite video. 19:46:44 but Ada uses ' for some array operations, so i thought i'd use it 19:46:55 eschew? 19:47:02 avoid 19:47:05 o 19:47:07 ya =) 19:47:34 variablename(...) is equivilent to a switch 19:47:37 IIRC ' is a builtin qualifier; it lets you find out info on variables and types at compile time, e.g. integer'max 19:47:39 Trey yeah, but prenty of pixels 19:47:55 ya 19:48:04 colorg: if you call 640x480 "plenty". 19:48:11 its more tied to types than variables 19:48:31 That's a lot more than NTSC, and was a lot back then 19:48:54 how much does NTSC have? 19:49:04 320x200 I think 19:49:07 ew 19:49:22 More than that, actualy. 19:49:25 isn't that triangular tho? like a behive? 19:49:25 TV is The Small Screen for sure 19:49:41 can have more using overscan in Amiga, yeah 19:51:40 Trey the Amiga could change display mode between scanlines 19:51:41 NTSC more acurately describes a waveform than a pixel count. 19:52:18 colorg: true, but they had seriously custom hardware for it. 19:53:16 sure. Also, the audio was synced to the video. The max sample rate was the horsync x 2 or something. There's a good reason for that. 19:53:54 and constantly changing display mode between lines does slow down Amiga...I know SHAM employs this technique 19:55:35 I don't know the details, but I expect that they had fairly strict limitations on how you could change the video mode between scanlines. 19:57:08 Trey you had to program the Copper, which was nasty, but pretty flexible 19:58:16 colorg: correct...the timing has to be real tight, else you'd get skewed lines 19:58:35 --- mode: TheBlueWizard set mode: +o colorg 19:59:02 The reason for the audio being synced to the video is really deep. 20:00:00 You get one periodic realtime event in an OS. The Amiga got several important ones on the same interrupt that way. Really elegant. 20:02:59 got to go...bye! 20:03:04 --- part: TheBlueWizard left #forth 20:03:05 bye 20:03:09 so if such an irq was available on the PC I'd want to use it. 20:05:48 The plain PC PIC does about what, a megahz tops? 20:06:45 Why would you want anything that fast (except for scientific measurement tools)? 20:07:39 For audio you can use real high top clocks and divide down for notes in some cases 20:08:23 if your one periodic event is super-fast you can nest things nicely 20:08:46 Only if you have next to zero overhead in handling the interrupts. 20:09:03 right. Which is why I don't want VM. 20:09:36 Ah, you haven't gotten religion yet. 20:09:46 although it just occured to me that RT services can be separate from process switches 20:09:54 TaDa! 20:10:07 now I have religion? 20:10:19 The cool way involves running the pre-emptive tasks in the idle time of a real-time scheduler. 20:10:23 Hard real-time. 20:10:53 I'm familiar with rtlinux 20:11:13 So your drop-dead-can't-miss code runs under guaranteed real-time constraints, and everything else gets whatever the CPU has left over. 20:11:19 Exactly like rtlinux. 20:11:52 the Amiga did that in hardware, sortof. 20:11:59 So, you run your VM in the idle slot where you don't care. 20:12:08 Where you need paranoia, you go real-time. 20:12:45 I'd maybe run VM out in userland. It's a nightmare anyway. 20:13:58 VM lets you solve certain problems quite easily. Why give up such a powerfull tool? 20:14:12 Especially when you don't have to. 20:14:22 because it charges the lean and mean for costs incurred by the pigs 20:14:23 * Trey gets off his soapbox. 20:15:04 I disagree. If your hard real-time system has extra CPU cycles, why not utilize them for something else? 20:15:34 I mean irrespective of the RT. ed pays for Mozilla. 20:16:39 which causes a tendency for apps to turn into Mozilla 20:16:44 heh 20:16:48 or emacs 20:17:06 Creeping featuritis: see EMACS or Mozilla. 20:17:40 RMS should have just written a HAL for EMACS years ago. 20:17:54 HAL? 20:18:19 Hardware Abstraction Layer. 20:19:15 The glue that sits between the hardware specific code and a nominally hardware independant environment (typically an OS). 20:19:35 there's emacs Lisp 20:19:46 You know, the code layer that Chuck hates. 20:19:53 lol 20:20:15 No, the code layer that Chuck does in 200 instructions :o) 20:20:42 Lisp actually sits on top of the low level emacs code, not on the OS independant code. 20:20:58 Chuck doesn't bother with a HAL. He writes directly the the metal. 20:21:11 (which has its place, IMHO) 20:21:19 OK, you mean a OAL, OS Abstraction Layer. AN OS is a HAL. 20:21:29 No. 20:21:48 Emacs has an OAL of sorts. 20:21:56 WinNT has a HAL. 20:23:27 Trey for itself (NT) or for apps? 20:23:40 Itself. 20:23:57 Riiight. That's why it runs on 2 platforms and falling 20:24:37 The other platforms never really caught on, but it did support a number of them: PPC, x86, Alpha, MIPS 20:24:44 WinNT is Dos 9 as far as I'm concerned 20:25:06 Nope, VMS (last+1) 20:25:25 VMS had .EXE? 20:26:08 No. That got tacked on later. It actually did start out as a clean slate. 20:26:17 (tacked on to NT) 20:26:46 The primary architect of WinNT came from DEC where he worked on VMS. 20:27:17 The WinNT guts look a lot like VMS, with different names. 20:28:41 * Trey needs to sleep. He has a flying lesson at 09:00 tomorrow. 20:28:49 G'night, all. 20:28:54 * Trey is idle: sleeping 20:28:54 nite 20:29:35 so they took VMS and turned it into Dos 9. Leave it to Mickeysoft 20:56:14 --- join: notjunkd (junk@p19-max1.christchurch.netaccess.net.nz) joined #forth 21:02:18 --- join: BorgHOME_ (ecl@cpu2385.adsl.bellglobal.com) joined #forth 21:05:52 fyeh 21:06:02 perl is big 21:06:50 Perl is unbounded 21:13:32 Perl ain't so bad.... 21:13:41 it's nice in it's own way... 21:13:55 but I rarely use it. 21:15:46 I use Bash or awk or C. 21:16:41 and occaisionally Forth :o) 21:35:31 --- join: cleverdra (jfondren@1Cust119.tnt3.florence.sc.da.uu.net) joined #forth 21:35:31 --- mode: ChanServ set mode: +o cleverdra 21:35:39 --- mode: cleverdra set mode: +oo BorgHOME_ notjunkd 21:36:36 --- topic: set to 'Good friends: interrupts, PPI, syscalls, low-level knowledge =)' by cleverdra 21:36:42 --- quit: notjunkd ( Programmable Peripheral Interfaces are particularly cool. I really like those. 22:01:35 l8r 22:01:39 --- quit: adu (IRCStep) 22:02:07 bye. hi. 22:16:38 Hello, colorg. 22:16:48 Catch my message in EFnet #clienux ? 22:18:29 * cleverdra blinks. 22:18:33 clueflash! 22:20:11 cleverdra: hmmmmmmm 22:20:38 Isn't that vt102 stuff? 22:21:08 what's PPI? 22:21:10 Oh, is it? You can do a single write to a single PPI port. 22:21:19 Programmable Peripheral Interfaces are particularly cool. I really like those. 22:21:34 do see console_codes 22:21:39 OK. 22:21:44 n/m. 22:22:12 Maybe you're right. The fun way to do it would be with System.map. 22:23:04 The Linux console is ridiculously featureful though 22:23:10 What would System.map do? 22:23:53 How would you do it with System.map, I mean? 22:24:09 via /dev/mem or kmem 22:24:27 --- join: notjunkd (junk@p110-max2.christchurch.netaccess.net.nz) joined #forth 22:24:33 hm. 22:24:36 --- mode: cleverdra set mode: +o notjunkd 22:24:38 hi 22:24:51 hello, notjunkd. 22:25:08 hi 22:28:30 cleverdra: If you can find a kernel constant you can clobber it with dd as root with /dev/mem 22:30:00 Oh, cool. 22:38:57 darn. 22:39:05 COLOR.COM experiment 2 failed. 22:39:49 can't boot it? 22:41:52 No. I know why, too. I've spoken with Trey about it. I just realized that I hadn't tested my linux box, and decided to try it. I couldn't get a list of PCI devices. /linux/pci appears not to exist. It was worth a try. 22:42:53 If Chuck were to spend a few miliseconds, his system would boot on my computer. Sigh. Maybe someone else able to boot it will make the patch and redistribute, assuming that Color Forth contains COLOR.COM creating facilities. 22:44:20 The source is supposedly coming out, which is what I'm waiting for. 22:44:50 There was some mention of an agp dependancy. That's nuts. 22:46:54 The AGP dependency is really Chuck probing something very specific instead of doing a search. Apparently the programmed I/O with AGP is very portable, so that wouldn't be a problem. 22:47:10 Trey knows more about this than I. 22:47:44 --- quit: notjunkd ( s/'//. Fluke. 22:50:46 What PC speaker words? 22:52:34 I wrote some words using the PC Speaker PPI to emit frequencies for certain times. It was very fun doing, and I think I encapsulated the process nicely. 22:53:02 in what? 22:53:16 I still need to see if I can do this under Linux. I get the impression that Linux requires hoops to access PPI, which would frustrate me. 22:53:49 Forth. Specifically Enth, but the only Enth words are pc@ and pc! which are used to talk to the PPI. 22:54:03 !! 22:54:17 H3sm 1.5k, maybe! 22:54:32 In intel ASM pc@ and pc! are IN and OUT. 22:54:38 H3sm in the kernel can do what it wants 22:54:59 see if your H3sm has those 22:55:04 My thought, exactly. 22:55:11 those what, colorg? 22:56:56 They're not in pre2 22:57:10 they what, colorg? 22:57:48 * cleverdra wonders what he is going to do with the apparently unused extra undocumented registers on his pentium. 22:58:39 run that, do 100 wo. 22:58:49 OK. 22:59:11 I'll be getting offline in 30 minutes, so I'll look at that then. 23:01:05 cleverdra: /dev/ports is how you do IO from userland as root. Want some Forth I did of that? 23:01:29 That's VGA stuff in Forth 23:02:11 Thank you, colorg. 23:02:27 sure 23:06:58 GForth has CLEARSTACK. 23:07:19 Cool! =) 23:07:54 IOPOKE IOPEEK appear to correspond to PC! PC@ 23:08:13 That means it has a user-visible stack pointer, which is cheating 23:08:21 cleverdra: yeah 23:08:31 see if that H3sm runs for me 23:08:50 colorg - not really. CLEARSTACK can be implemented just as your WIPE is. 23:09:07 And even if it can't... it's a dependency. I don't get why you have WIPE at all. 23:10:05 I have wipe? 23:10:08 You don't appear to be using it. Thanks, colorg! 23:10:20 Yes, you define it right at the top of this program you sent me. 23:11:38 /dev/ports seems like it'd be much slower and less efficient to access. I guess this isn't really important. 23:12:38 wipe doesn't tick 23:12:53 oh, in the Forth? 23:13:25 I thought you meant in H3sm. Hm is a H3sm binary with IO primitives, real ones 23:13:56 Oh, cool. What version is this? 23:13:58 yes dev/port takes forever. 23:14:07 I dono, the one with IO 23:14:18 Oh, OK. 23:14:34 An earlier all-asm one I guess 23:14:59 Are you on cLIeNUX? 23:15:18 guess not, nm 23:15:30 Yes. This machine is a windows machine of my mother's though, that I'm using. My cLIeNUX machine isn't connected. 23:16:21 Like I said, I won't be able to test Hm for about 15 minutes, now, when I disconnect. 23:16:25 oh, well Hm has untested IO crap in it 23:17:05 * cleverdra nods. 23:17:35 It wouldn't be difficult for me to add iopeek/iopoke words to the version of H3sm I have, anyway. 23:19:41 H3sm is kinda hard to develop in. No .S When I want a number I have to use gforth for conversions most of the time :-/ I asked once before, but had to leave. Are you going to add an auxilary pyte stack to H3sm? 23:20:44 : apyte address ; dp @ 100 +p ! or so 23:21:31 I don't understand what you're doing there, colorg. 23:21:54 naming a variable and alloting 256 bytes 23:22:41 OK. 23:22:49 : allot dp p@ p+ p! pdrop ; I think 23:23:13 There might be an allot example in the includables, dono 23:24:04 OK. 23:25:16 And push pop could be in high level which would be OK for convenience 23:26:16 By push pop you mean ->r <-r ? 23:26:58 ->aux_pyte 23:27:13 Oh. Yes I guess that'd be OK. 23:42:11 good bye. 23:42:14 --- quit: cleverdra (Leaving) 23:59:59 --- log: ended forth/01.07.12