--- Log opened Sat Apr 22 00:00:03 2017 |
00:13 | | Kindamoody is now known as Kindamoody[zZz] |
00:55 | | Derakon[AFK] is now known as Derakon |
03:08 | | Namegduf [namegduf@Nightstar-lcgn9d.beshir.org] has joined #code |
03:08 | | mode/#code [+o Namegduf] by ChanServ |
05:01 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds] |
06:29 | | Jessikat [Jessikat@Nightstar-l204vk.dab.02.net] has joined #code |
06:43 | | Derakon is now known as Derakon[AFK] |
06:50 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
07:12 | | celticminstrel is now known as celmin|sleep |
07:18 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
07:18 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
07:24 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
07:26 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds] |
07:29 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code |
07:29 | | mode/#code [+o Alek] by ChanServ |
08:46 | | Kindamoody[zZz] is now known as Kindamoody |
09:05 | | Kindamoody is now known as Kindamoody|out |
10:17 | | Jessikat [Jessikat@Nightstar-l204vk.dab.02.net] has quit [[NS] Quit: Bye] |
11:02 | <@abudhabi> | Not sure when, but somewhere along the way, I morphed from "private tutor" to "subcontractor". |
12:22 | <@himi> | Hey McMartin, I've got a program here writtein in basic for the Apple II - do you know any easily accessible interpreter I could run it on under modern Linux? |
12:41 | <@himi> | urgh |
12:41 | <@himi> | The first place I could find that actually ran the code unmodified was a javascript implementation |
12:41 | <@himi> | I /think/ it's running a whole lot faster than the original Apple II, but I'm not certain |
14:13 | | Kindamoody|out is now known as Kindamoody |
14:39 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
15:10 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds] |
15:50 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
17:14 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
17:14 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
17:41 | | celmin|sleep is now known as celticminstrel |
19:38 | <@gnolam> | Oh yeah, should probably post this here as well: https://linusakesson.net/scene/a-mind-is-born/ |
19:50 | <&McMartin> | himi: I know of no actually decent Apple II emus on native Linux alas |
19:50 | <&McMartin> | In fact, the only decent one of any kind I'm aware of is AppleWin |
19:51 | <&McMartin> | Which might be WINEable, I guess? |
19:51 | <&McMartin> | Yay Revision |
20:06 | | Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
22:31 | | Kindamoody|autojoin [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has joined #code |
22:32 | | mode/#code [+o Kindamoody|autojoin] by ChanServ |
22:32 | | Kindamoody [Kindamoody@Nightstar-0lgkcs.tbcn.telia.com] has quit [Connection closed] |
22:33 | | Kindamoody|autojoin is now known as Kindamoody |
22:54 | | Kindamoody is now known as Kindamoody[zZz] |
23:25 | <@himi> | McMartin: the javascript one I found actually works decently on Chrome - Firefox is running it a bit strangely |
23:26 | <&McMartin> | That's why I qualified with "native" - JS online systems seem to be The Thing for Apple, and I'm not sure why |
23:26 | <&McMartin> | Well. For Apple II |
23:26 | <&McMartin> | Recompilers have been the thing for Macs~ |
23:27 | | * Vornicus pokes at haskell, needs to find his way around basic structures like dictionaries |
23:27 | <&McMartin> | Data.Map |
23:27 | <~Vornicus> | though in this case it's a constant dictionary so I don't know if that goes differently |
23:28 | <&McMartin> | himi: What did you ultimately end up using? |
23:29 | <&McMartin> | And how did you get the disk image into place? Or did you copy-paste the whole BASIC program in? |
23:29 | <@himi> | http://www.calormen.com/jsbasic/ |
23:29 | <@himi> | Copy pasted the code |
23:29 | | * McMartin nods |
23:29 | <&McMartin> | Aha, yeah, you're not wrong to think it's running faster |
23:30 | <&McMartin> | I think this is reimplementing Applesoft BASIC at the API level |
23:30 | <@himi> | From the information that came with the code (a 1984 article on exterior ballistics), the program should run at several seconds per iteration, whereas on Chrome it runs probably tens of iterations per secnd |
23:31 | <&McMartin> | Yeah |
23:31 | <&McMartin> | That sounds a lot like it's a Brandy BASIC-like system then |
23:31 | <&McMartin> | Ultimately probably what you wanted anyway, tbh |
23:31 | <&McMartin> | (Brandy being a native Linux edition of BBC BASIC) |
23:31 | <@himi> | I looked at Brandy, but it kept complaining and I couldn't figure out what its issues were |
23:31 | <&McMartin> | Well, it's a totally different dialect |
23:32 | <&McMartin> | If you needed Applesoft BASIC, you needed Applesoft BASIC |
23:32 | <@himi> | This one just ran it with no problems at all, except for graphics issues with the inverse command |
23:32 | | * himi nods |
23:32 | <&McMartin> | I started poking a bit at BBC BASIC a couple weeks ago and it organizes its programs very, very differently |
23:33 | <@himi> | A bit of work could have translated it to a more modern BASIC, but I'd literally just typed out several hundred lines of cryptic numerical code from a 35 year old article that wasn't a great scan in the first place, so getting it working in a verifiable way was necessary before making significant changes |
23:33 | <&McMartin> | Heh |
23:33 | | * himi is intending to rewrite it in python so it can actually run on modern hardware |
23:34 | <&McMartin> | Probably the simplest choice but if it's not doing any stringwork I'd at least consider using C |
23:34 | <&McMartin> | Apple BASIC's restrictions map neatly to Stuff That Makes C Work Easier |
23:35 | <@himi> | Yeah, I wanted to get it in a language that was easy for non-programmers to run |
23:35 | <@himi> | BASIC used to be that, but now python's probably a better choice |
23:35 | <&McMartin> | I agree |
23:35 | <&McMartin> | Though I would grimly note that actually JS is probably the *best* choice now. |
23:35 | <@himi> | heh |
23:35 | <@himi> | That's a distressingly valid observation |
23:36 | <@himi> | Except that to get it to run that easily you have to put it up somewhere on a web page |
23:36 | <&McMartin> | ... how were you planning on distributing the result if not "by putting it up on a web page"? |
23:36 | <@himi> | (which, incidentally, is a failing of that jsbasic code - no cli model) |
23:36 | <@himi> | Yes, but /I/ need to take responsibility for putting it up and keeping it up, or figure out how to make someone else do it |
23:36 | <&McMartin> | Yeah, actually, if you want I can turn your BASIC code into a disk image for actual emulators >_> |
23:37 | <&McMartin> | That might also be fun for speed tests |
23:37 | <@himi> | I'd rather just make a chunk of code available and let the users sort out the rest |
23:37 | <@himi> | Hm |
23:37 | <&McMartin> | I definitely suggest keeping a copy of the Applesoft Original |
23:37 | <&jerith> | I should also note that JS is not very high on the list of languages I trust with anything numerical. |
23:38 | <&McMartin> | Reminder that we're starting here with Applesoft BASIC |
23:38 | <@himi> | I /think/ I can do that - the article reckons the code is redistributable on non-commercial use terms |
23:38 | <&McMartin> | I'd like to see the original BASIC code because if I *can* do a BBC BASIC conversion, I've got Actual BBC BASIC V and VI here on my RasPi |
23:39 | <&McMartin> | (QBASIC is still the better dialect, though >_>) |
23:39 | <@himi> | Yeah, there's a bunch of cases where it does int(1000*<value> + .5) /1000 to work around a rounding issue in the interpreter |
23:40 | <&McMartin> | Really, that's good practice even with IEEE 754 |
23:40 | <@himi> | You want the version that currently doesn't run properly, or the one I copied directly and /also/ doesn't run (more catastrophically) |
23:40 | <&McMartin> | I was thinking more "once you succeed" but I was under the impression you had |
23:40 | <@himi> | It's running, but not properly |
23:40 | <&McMartin> | Gotcha |
23:41 | <@himi> | I /think/ there's a sign error somewhere that's causing G not to be added to the vertical force components, but I'm struggling to see where |
23:41 | <&McMartin> | I had the wrong magazines as a kid - it turns out your classier magazines with type-in articles included little machine language programs that actually checksummed every line as you typed it in for easy comparison with the text |
23:42 | <&McMartin> | It's very difficult to overstate how much more civilized this makes it |
23:42 | | * himi is seriously considering rewriting it in python from scratch based on the article description rather than the BASIC code, but currently wants to beat this into submission more than he wants a quickly working chunk of code |
23:42 | <@himi> | heh |
23:42 | <~Vornicus> | it's MLX |
23:43 | <&McMartin> | No, I'm thinking Automatic Proofreader |
23:43 | <@himi> | I've found one straight typo so far |
23:43 | <~Vornicus> | oh that one too |
23:43 | <&McMartin> | Which you used to get MLX into place |
23:44 | <&McMartin> | It turns out that other magazines actually had their own Automatic Proofreaders too and apparently they eventually synchronized on a checksum algo |
23:44 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds] |
23:44 | | * himi is wondering if there are subtler issues with the original code in the article |
23:44 | <&McMartin> | Yeah, if the printed code is wrong, a proofreader doesn't help -_- |
23:45 | <&McMartin> | One of the things Learn Python The Hard Way missed is that one of the things one learns from type-ins is to read with a skeptical eye |
23:45 | <@himi> | Hence sitting down and fiddling until the code runs the documented test case correctly |
23:45 | <@himi> | heh |
23:46 | <@himi> | Sometimes that thing you think is strange really is just a bug |
23:46 | <&McMartin> | Yep |
23:46 | <&McMartin> | And sometimes it's a subtelty |
23:46 | <&McMartin> | But spelled right |
23:47 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code |
23:47 | | mode/#code [+o Alek] by ChanServ |
23:48 | <&McMartin> | Well, good luck |
23:49 | <&McMartin> | I'm better at reading Applesoft than writing it but if you end up having questions about the mechanics of stuff I can probably help out |
23:49 | <&McMartin> | Unless it's actually going into GR/HGR mode I don't think you'll see anything weirder than HOME/INVERSE/FLASH/NORMAL though. |
23:49 | <&McMartin> | Everything else is more verbose assembler with a better type system. |
23:49 | | * Vornicus looks at Data.Map, determines that he doesn't know enough haskell to understand the documentation |
23:50 | <&McMartin> | (In order, clear the screen and then three commands for changing the text colors, basically) |
23:52 | <@himi> | Yeah, it's not really a BASIC issue or anything, it's an algorithm problem |
23:56 | | Jessikat [Jessica@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
23:57 | <&McMartin> | One thing Brandy does turn out to be good for is plotting at higher resolutions; when I did a brandy port of the hat function it ended up being a much nicer graph |
23:58 | <&McMartin> | Graphics are always super-non-portable across dialects, of course |
--- Log closed Sun Apr 23 00:00:05 2017 |