00:00:00 --- log: started retro/12.11.21 06:52:26 --- join: tangentstorm (~michal@108-218-151-22.lightspeed.rcsntx.sbcglobal.net) joined #retro 07:05:12 --- quit: harrison (Ping timeout: 240 seconds) 07:05:22 --- join: harrison (~quassel@li89-226.members.linode.com) joined #retro 11:09:55 --- join: kumul (~kumul@173.215.178.168) joined #retro 11:10:02 --- quit: kumul (Client Quit) 11:13:05 --- join: Mat2 (~claude@91-65-144-133-dynip.superkabel.de) joined #retro 11:13:08 hello 11:13:20 hi mat2 :) 11:13:38 hi tangentstorm ! what's new ? 11:14:14 I'm working on a pascal version of my vm 11:14:41 I ported a clone of libreadline to pascal : https://github.com/tangentstorm/linenoise 11:16:35 I'm thinking i'm going to port escapes.js to pascal, and get it working over ssh on linux, as well as with your sdl terminal 11:17:23 ah, looks like the old ADM31 terminal code I used on TurboPascal (CP/M version) 11:17:58 come to think of it, i have some old pascal code that already does this too :) 11:18:03 somewhere... 11:20:15 I should need to read and convert old 5-1/4 discs in IBM8 format to get the sources, very tricky 11:20:59 :) 11:23:58 i was pretty good about copying my old disks when 5-1/4 and 3.5" drives went off the market, but i had like multiple versions of each file in random places all over the disks 11:24:36 i've finally been sorting them out here: https://github.com/tangentstorm/silverware ... going to try and get some of them to run on ngaro 11:25:11 next week, I think to start programming on my than new Raspberri PI on a stand alone version of my vm 11:26:07 searching for a cheap touch screen for these device though 11:26:13 very cool! 11:29:20 have ideas about my own tablet os :) 11:31:04 * tangentstorm remembers seeing a pascal os kernel around not too long ago... 11:31:45 huh. 3 here you could borrow from: http://wiki.freepascal.org/Operating_Systems_written_in_FPC 11:31:58 er, 4 11:33:06 I want to finish these vm project so I can concentrate on, or me, important application programming (web browser, spreadsheet..) 11:33:16 ^for 11:33:31 on top of it 11:34:00 thanks for the link, I will study there code 11:37:23 the TORO kernel is very interesting, a typical nanokernel concept like the nucleus of Mac OS 9 11:38:21 I had suggested such kind of kernels would been prefered programmed in C or C++ 11:39:42 beats me :) 11:40:17 i found this a while ago : http://wiki.freepascal.org/THtmlPort ... I think it's an html rendering engine completely written in delphi, and then ported to fpc 11:43:11 https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/thtmlport/package/htmlview.pas ... yep, sure looks like it 11:43:49 nice :) My idea was to port the Gecko engine to my retro dialect but probably extending the vm with an existing HTML engine is a better idea 11:45:34 i've been trying to decide between compiling directly to ngaro or compiling to retro code. i almost think retro makes more sense, because it decouples the pascal compiler from the vm 11:52:18 that is true 11:53:05 this strategy have another advantage too: You can use my vm with your code :) 11:55:05 (with the ability to JIT compile performance critical parts) 11:57:07 :) 11:57:21 i think that's the way to go, then 11:59:05 implementing a pascal compiler would be easy in retro I think 11:59:52 I've got a partial pascal compiler written in forth from 1983, and the author gave me permission to port it 12:00:08 that is very gentle :) 12:00:36 * tangentstorm digs it up to post to the repository. 12:01:10 i had to transcribe it by hand from a blurry pdf, so i haven't actually got it running yet, and it's in an org-mode file 12:04:56 I am offering you to help in completing if you upload your code 12:05:23 https://github.com/sabren/b4/blob/master/ref/winfield-pascal-83.org 12:05:34 https://raw.github.com/sabren/b4/master/ref/winfield-pascal-83.org 12:05:48 github's org file parser's kind of a mess 12:05:57 Mat2: do you use emacs? 12:06:30 no, the JOE editor 12:07:17 (Joe's own editor) 12:07:17 ok... org-mode is an emacs plugin that's sort of a cross between an outliner, a personal organizer, and a literate programming tool 12:07:44 it's pretty cool but not necessarily worth the trauma of learning emacs over :) 12:08:24 i'll generate the plain forth version then 12:08:51 ok, installing these monstreous editor environment OS would not the problem for me, only using it :) 12:09:51 emacs is like unix, here one can say is-nix 12:10:41 (a failure) 12:11:03 :) 12:13:19 https://twitter.com/tangentstorm/status/240072961225281536 <- has links to the original articles that explain the code 12:15:53 thanks, very interesting code. I think it can be simplified a lot 12:16:34 I have expected a EBNF parser but well, it's a work base 12:16:52 i got stuck not knowing what a lot of the old forth words meant 12:17:14 https://github.com/tangentstorm/PL0-Language-Tools <- simpler pascal-like language, compiles to virtual machine very much like retro already 12:17:46 hmm, looks like forth 83 12:17:46 I thought I would start with that one as a prototype since it's so close 12:18:43 yeah. i had considered installing an emulator for an old machine to run it, but i just haven't gotten to it 12:19:05 actually i think it was the same machine you've mentioned a few times... z80? 12:20:12 yes 12:21:03 yeah. someone in #forth suggested i could download an emulator for that, and get the actual forth he was using 12:23:30 there flourish an sophisticated CP/M emulator on the net. You can download a folksforth image and run forth inside your web browser under this emulator 12:24:10 (or some older Fig or F79 system) 12:24:49 i was trying http://simh.trailing-edge.com/ 12:26:50 that emulator is fine but you you will be in trouble using the suggested disk image 12:26:58 http://www.tramm.li/i8080/ 12:27:43 <- but beware, this is an i8080 based emulator, there exist some forth systems which need an mor advanced z80 cpu 12:27:50 ^more 12:28:56 (zilog ~doubles the number of opcodes for it's z80 cpu) 12:29:01 :) that's cool 12:30:27 by the way, the basic version you will find on this side is the original one from Bill itself... 12:31:46 billg@microsoft.com ? :) 12:32:31 yes, the earliest kernel standard ever created for more than 20 years before MS-DOS (at least most home computers had selled with an microsoft basic in rom) 12:32:52 as operating system ! 12:32:56 :) 12:33:01 i really liked gw-basic 12:33:18 i mean... at the time :) 12:34:30 *g* most geeks don't know that the original IBM PC started with BASICA (also from Microsoft) 12:34:59 ... wow, that sounds familiar 12:35:26 MS-DOS was selled as optional disc-operating system 12:35:49 huh 12:36:24 that's why the first IBM PC had an cassette port (for storage with an cassette recorder) 12:36:42 like the ZX-Spectrum 12:37:41 i think my cousins had something like that. i didn't get a computer until like 1990 or so 12:38:05 that was the most selling home computer in the UK 12:38:30 whew. okay, i loaded this cpma operating system in my browser. now to try forth 12:40:24 and, is it working ? 12:40:55 still loading. i'm on a 10 year old xp machine, so it's loading really slow 12:41:39 I think it is loading at original speed 12:42:08 i like this console, especially how you can escape into the emulator and see the registers 12:43:09 yes, that is nice for debugging and was a standard feature on most CP/M systems 12:43:27 oh really? the actual machine was like that? 12:43:32 yes 12:43:32 huh 12:44:15 yeah, you know the nice thing about ngaro is that it's simple, and you have direct control of the ports 12:44:28 yes 12:44:46 i think it will be good for teaching... but even more so if you can directly inspect the stack and ram with an external shell like this 12:45:10 ( i'm making a course on programming ) 12:45:12 the first think I program is a debugger for my vm'S 12:45:20 :) 12:45:40 and an assembler from which I can build up a system on the fly 12:46:43 i was thinking of doing something like a hex dump, where students could just hand-code machine code in ram 12:47:07 and watch the little instruction pointer move around as it runs :) 12:47:49 that was common sense some time ago... but ignorant C enthusiasts had changed that because some of them don't know how cpu's work or what machine code is 12:48:43 (that are these experts which will now teach programming in universities I bet) 12:52:23 some months ago I had to work with some of these experts in system programming who don't know even the basics of binary logic 12:52:57 that was a sad experience 12:53:19 :) a lot of people make a living programming without knowing how to program 12:55:22 aha. both forth disks are loaded. 12:55:25 moment of truth 12:55:45 That would not really affect me as much, if not from this could endanger the safety of the general public 12:56:45 if I think only of ABS systems in cars, or flight controlling systems in airplanes... 12:59:56 it ran, and i typed "words" .. .got a long long list and couldn't figure out how to clear the screen 13:00:18 now i halted it and don't know how to restart 13:00:56 ah : load the boot sector again, then go 13:01:58 oh weird. it prints the stack backwards from how retro does it 13:02:19 that's standard 13:02:35 these ansi one of course 13:03:08 you will love it ;) 13:04:48 haha if you say so! 13:04:58 weird having to press enter, too 13:05:27 the first thing you should lok at is the terminal emulation because CP/M have no standard and programs will likely work with different ones 13:05:37 ^look 13:10:51 "page" to clear the screen. i should have known that. 13:11:28 --- quit: Mat2 (Remote host closed the connection) 13:12:39 --- join: Mat2 (~claude@91-65-144-133-dynip.superkabel.de) joined #retro 13:13:34 hmm, that was a linux kernel bug 13:13:48 strange 13:13:49 yikes 13:18:24 * Mat2 coding machinecode version of AVM with the inline assembler (gas) of FreePascal 13:20:15 * Mat2 finds AT&T syntax very uncommon but familiar for people knowing SPARC assembly 13:24:16 you can switch to ibm syntax or whatever assembler you want 13:26:08 I could compile an external procedure and use nasm but that is to much effort for one routine and I know AT&T syntax (it's only I don't use it regulary) 13:27:02 sadly FreePascal don't support Intel syntax for 64 bit code 13:27:21 i think even if you use the internal one you can switch the syntax... oh. weird. 13:34:09 addq (%r8), %rax 13:34:17 addq $8, %r8 13:34:28 I can live with it 13:35:22 some macros and it will look like mc680x0 assembly *lol* 14:59:24 after reflection i believe that a person who is deeply offended, in irc chat, by another person's not remembering every conversation and every nick on freenode, is emotionally spastic 14:59:37 tangentstorm: i mean you 15:00:00 well, at least you remember me now :/ 15:00:33 i am familiar with the trope you just deployed 15:00:52 and have a clever response which i won't waste 15:01:11 harrison: i'm sorry. i wasn't offended, and i wasn't trying to be rude yesterday. 15:01:25 we've just had the same conversation 3 times 15:03:10 did you ever see the movie with tom hanks where he is marooned? 15:03:21 castaway... yes 15:03:27 i didn't see it because I loathe him as an actor 15:03:33 but i know about it 15:03:45 anyway, he had a volleyball 15:03:53 and he drew a face on it 15:03:58 wilson 15:03:58 right? 15:04:19 if the volleyball had been offended 15:04:30 that would be analogous 15:05:11 wtf man don't oppress me by trying to make me into what you need i am a volleyball 15:05:34 i am not a number 15:05:40 I AM A FREE BALL 15:06:23 you admit that you were offended that your remembering me was not transitive 15:06:54 i would think you would be ashamed 15:07:03 to feel that way 15:07:04 no, i accept that you don't remember who you're talking to. i just didn't feel like explaining again why i'm not going to try using aos :) 15:07:42 yeah, well, so much for your stone soup theory 15:07:46 wilso 15:08:01 whatchoo talkin' bout wilson 15:08:51 and if you are still open to a bit of advice 15:08:59 never complain and never explain 15:11:01 okie doke. 15:11:08 does that mean we're cool now? 15:11:55 Not in any language I am familiar with. 15:12:49 ok. :) 15:33:57 have you guys ever programmed in Ada ? 15:38:18 sleep waiting, ciao 15:38:23 --- quit: Mat2 (Quit: Verlassend) 23:59:59 --- log: ended retro/12.11.21