--- Log opened Sun Jan 13 00:00:22 2019 |
01:43 | | Kindamoody is now known as Kindamoody[zZz] |
02:02 | | Derakon[AFK] is now known as Derakon |
04:07 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
04:14 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
04:52 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has joined #code |
04:52 | | mode/#code [+qo Vorntastic Vorntastic] by ChanServ |
05:27 | | Derakon is now known as Derakon[AFK] |
06:49 | | * McMartin finishes disassembling these old machine code routines and giving them labels and stuff |
06:49 | <&McMartin> | Of the three, two of them I even know what the heck they do |
06:49 | <&McMartin> | The one remaining is, of course, the one I actually care about. -_- |
06:51 | <~Vorntastic> | Put it up, let's see what it looks like |
06:51 | <&McMartin> | Oh, I mean, I know broadly what it does |
06:51 | <&McMartin> | These are the as-you-type proofreader routines from the type-in days. This one is the one that was good enough to handle transposition of characters. |
06:52 | <&McMartin> | One moment |
06:52 | <&McMartin> | (And the BASIC loader for it was bonkers; the BASIC code self-destructed as it ran and it had DOS-style relocation tables in its BASIC loader) |
06:52 | <~Vorntastic> | Holy cats |
06:52 | <&McMartin> | (It got away with self-destructing by never branching backwards) |
06:53 | <&McMartin> | (Anyway, I got rid of all that, did the relocation by hand as part of the symbolication process, and hardcoded a few extra things to make it C64 specific instead of modifying at link time to match one of five different machines) |
06:55 | <&McMartin> | http://pastebin.starforge.co.uk/28 |
06:55 | <&McMartin> | The opening stuff before vector causes it to interject itself into ICRNCH, BASIC's "tokenize a line" routine. The final JMP instruction forwards the call to go tokenize it now that the work is done. |
06:56 | <&McMartin> | I think I'm going to rest a bit before I dig in deeper. I've got my memory map and such ready but I'm fading out a bit. |
06:56 | <&McMartin> | Basically every address touched that *isn't* symbolicated has a meaning to the BASIC interpreter. |
07:18 | <&McMartin> | OK, tea brewing, let's do this |
07:24 | <&McMartin> | Man, a lot of this is just stealing scattered bytes of storage throughout the OS's temporary routines. |
07:37 | <&McMartin> | Got it, I think |
07:37 | <&McMartin> | Now to reimplement it in Python to see if it in fact does what I expect |
07:40 | <&McMartin> | Hm. Not quite. |
07:41 | <&McMartin> | That did it. Woot! |
07:42 | <&McMartin> | Here is the procedure. |
07:42 | <&McMartin> | - Determine the line number being entered, and use this as the initial value of the checksum |
07:42 | <&McMartin> | - Remove all spaces from the line that are not between quotes |
07:42 | <&McMartin> | - for i in range(len(line)): checksum += ord(x[i])*(i+1) |
07:43 | <&McMartin> | - mask checksum to 16 bits, then XOR the high and low bytes together |
07:43 | <&McMartin> | - Express that as a two-letter code, low-nybble first, but use ABCDEFGHJKMPQRSX instead of 0123456789ABCDEF |
07:44 | <&McMartin> | This is the only checksum procedure of the three I checked that can actually detect transposed characters. -_- |
07:46 | <&McMartin> | A fun quirk of the implementation is that it will try to compute checksums for commands typed directly at the REPL |
07:46 | <&McMartin> | But it will reuse the last line number typed, so the same command issued at different points during program entry will checksum to different values. |
08:25 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
08:30 | | celticminstrel is now known as celmin|sleep |
10:42 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
10:45 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has joined #code |
10:45 | | mode/#code [+o Alek] by ChanServ |
10:57 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
11:00 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has joined #code |
11:00 | | mode/#code [+o Alek] by ChanServ |
11:09 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has joined #code |
12:05 | | Kindamoody[zZz] is now known as Kindamoody |
13:47 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
14:01 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has joined #code |
14:01 | | mode/#code [+o Alek] by ChanServ |
14:52 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
14:55 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has joined #code |
14:55 | | mode/#code [+o Alek] by ChanServ |
15:25 | | celmin|sleep is now known as celticminstrel |
15:36 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code |
15:36 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
15:42 | | Vorntastic [uid293981@Nightstar-6br85t.irccloud.com] has quit [[NS] Quit: Connection closed for inactivity] |
16:13 | | Kindamoody is now known as Kindamoody|afk |
16:17 | | * abudhabi plays with scp, copying stuff to new workstation. |
16:28 | <&[R]> | scp is absolutely horrible if you need to copy a symlink |
16:28 | <@abudhabi> | Now using rsync because I wanted it to skip duplicates after a broken wifi connection. |
16:28 | <&[R]> | Either rsync or `ssh tar c | tar x`/`tar c | ssh tar x` will work correctly |
16:58 | <@celticminstrel> | Fortunately I don't generally have to copy symlinks, so scp works just fine. >_> |
17:11 | <&[R]> | Don't ever copy a .wine directory then :p |
17:22 | <@celticminstrel> | I don't think I would ever copy a .wine directory to a server though. |
17:25 | <&[R]> | I did, to my home NAS |
17:29 | <@celticminstrel> | NAS? |
17:29 | <&[R]> | A file server |
17:55 | <&ToxicFrog> | Stands for Network Attached Storage. |
17:55 | <&ToxicFrog> | (not to be confused with SAN, Storage Area Network, which is disks exported as block devices over the network) |
18:08 | | Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection closed] |
19:12 | <&[R]> | https://blog.benjojo.co.uk/post/dive-into-the-world-of-dos-viruses |
19:13 | <&[R]> | Of possible interest to McM |
19:22 | | Degi [Degi@Nightstar-kajt4o.dyn.telefonica.de] has joined #code |
19:39 | | VirusJTG_ [VirusJTG@Nightstar-42s.jso.104.208.IP] has joined #code |
19:40 | | VirusJTG [VirusJTG@Nightstar-42s.jso.104.208.IP] has quit [Ping timeout: 121 seconds] |
20:12 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has quit [[NS] Quit: ] |
20:12 | | McMartin [mcmartin@Nightstar-rpcdbf.sntcca.sbcglobal.net] has joined #code |
20:12 | | mode/#code [+ao McMartin McMartin] by ChanServ |
20:13 | <&McMartin> | Wow, seriously |
20:13 | <&McMartin> | good work, AT&T |
20:21 | < Degi> | What happened |
20:24 | <&[R]> | <[R]> https://blog.benjojo.co.uk/post/dive-into-the-world-of-dos-viruses |
20:24 | <&[R]> | <[R]> Of possible interest to McM |
20:25 | | * abudhabi mutters darkly about Mint 19 dropping a bunch of driver support because it inherits Ubuntu's kernel. |
20:36 | <@Tamber> | Oh, man, I remember VXH. :/ |
21:17 | | Derakon[AFK] is now known as Derakon |
21:31 | | Kindamoody|afk is now known as Kindamoody |
21:36 | | Alek [Alek@Nightstar-o723m2.cicril.sbcglobal.net] has joined #code |
21:36 | | mode/#code [+o Alek] by ChanServ |
22:18 | <&McMartin> | Degi: My DSL went out for like 12 hours |
22:18 | | * McMartin remembers that it isn't the 1980s anymore, and is going to actually need to explain what it means for a BASIC program to include a NEW statement in it |
22:29 | <@Reiv> | Funny that NAS got brought up; I attempted to rig my router as a NAS thingy the other day and only got it half working ;_; |
22:57 | | Emmy [Emmy@Nightstar-9p7hb1.direct-adsl.nl] has quit [Ping timeout: 121 seconds] |
22:57 | <&ToxicFrog> | I don't think I've ever heard anything but tales of woe from router-builtin NAS features. |
23:19 | <&[R]> | I don't see how excessively old versions of everything stuffed into a super-underpowered-CPU with inadequate cooling could be woeful at all. |
23:39 | <@Reiv> | ToxicFrog: Yeah, my increasing inclination is to wait til Orthia gets a replacement laptop, then maybe rig up Maple as a NAS and security camera store or something |
23:40 | <@Reiv> | (Or just use a Raspberry Pi or equivalent, but I know even less about how to drive /those/) |
23:46 | <&ToxicFrog> | (it's not that hard, it's just a linux machine that boots from SD card) |
23:46 | <&ToxicFrog> | (having a built in screen and keyboard in maple will make things more convenient, though) |
23:46 | <&ToxicFrog> | That is in fact how the current version of ancilla came about; when I retired my old laptop (because it got ~20 minutes of battery life and replacement batteries were going for $200) I turned it into a server. |
--- Log closed Mon Jan 14 00:00:23 2019 |