--- Log opened Sat Sep 23 00:00:10 2017 |
00:18 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has quit [Ping timeout: 121 seconds] |
00:22 | | Alek [Alek@Nightstar-7or629.il.comcast.net] has joined #code |
00:22 | | mode/#code [+o Alek] by ChanServ |
00:50 | | celticminstrel [celticminst@Nightstar-0idqgb.dsl.bell.ca] has joined #code |
00:50 | | mode/#code [+o celticminstrel] by ChanServ |
00:51 | <&McMartin> | As part of reconsructing my hard drive after the crash, I've been messing around with the ZX Spectrum some more (as I restore my Sinclair emulation capability). |
00:52 | <&McMartin> | Such a wack-ass system. In some ways it makes even less sense than the ZX81. |
00:52 | <&McMartin> | In others, it's different from everyone else because everyone else was wrong, and that's honestly kind of refreshing to see, especially on a ROM from 1982. |
01:04 | | mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code |
01:04 | | mode/#code [+o mac] by ChanServ |
01:07 | | macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
01:21 | <@Alek> | wrong how? |
01:21 | <@Alek> | 64k ram? :P |
01:21 | <&McMartin> | Mostly BASIC/machine code coexistence. |
01:22 | <&McMartin> | There's a bunch of arcane things you need to do on the other 8-bits to make sure that BASIC doesn't stop your asm or vice versa, and really doing it right on C64 can require some arcane or super-heinous tricks |
01:22 | <&McMartin> | Of which my personal favorite is "print out a bunch of NEW, POKE and LOAD commands, with space between them for replies, then place the cursor carefully, stuff the keyboard buffer with ENTERs, and quit" |
01:23 | <&McMartin> | Sinclair BASIC has a lot of useful extensions to standard BASIC commands that make doing that work much more Working Exactly As Documened. |
01:23 | <&McMartin> | Saving and loading arbitrary memory chunks, with relocation at load time. Saving BASIC programs so that they autorun from any point in the program you want. Reassigning RAMTOP without disrupting BASIC unduly to reserve space for that machine code you're just about to load into place. |
01:23 | <&McMartin> | 64KB was standard by 1982~ |
01:24 | <&McMartin> | C64, Apple II, and PC all had at least that much, and maybe even ten times as much. |
01:26 | <&McMartin> | On the other hand, the Spectrum has no text mode. It's all just a bitmap. The print-a-character routine in ROM is a sprite blitter. |
01:29 | <@Alek> | o_o |
01:30 | <@Alek> | how does that work with custom fonts, if at all? |
01:30 | <&McMartin> | That, uh, depends |
01:31 | <&McMartin> | Either "trivially, because you can blit *everything*, so do whatever, man, this is a total-non-problem" |
01:31 | <&McMartin> | or "if you want to use the print-a-character routine for custom graphics, 21 characters worth of the charset graphics are in RAM and can be easily modified" |
01:33 | <&McMartin> | But the cunning observer will notice that 21 characters isn't enough for a complete font. |
01:34 | <&McMartin> | (This is also, IIRC, roughly how the old DOS graphics modes worked. Text/attribute memory only was a thing in the nongraphical screen modes.) |
01:37 | <@Alek> | eew. |
01:37 | <&McMartin> | The C64's bitmap mode was arranged so that blitting from the character ROM to it was easy to do, but you had to do the work on your own. |
01:39 | <&McMartin> | Also, actually using the bitmap mode was nontrivial because the video chip and BASIC would usually want to use the same memory. |
02:07 | | Jessikat [Jessikat@Nightstar-bt5k4h.81.in-addr.arpa] has quit [Connection closed] |
02:07 | | Derakon[AFK] is now known as Derakon |
02:27 | | macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code |
02:27 | | mode/#code [+o macdjord] by ChanServ |
02:29 | | mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
02:51 | | emlike [CanuckErran@Nightstar-9h7kkj.sasknet.sk.ca] has joined #code |
02:51 | | Canuck-Errant [CanuckErran@Nightstar-9h7kkj.sasknet.sk.ca] has quit [Connection reset by peer] |
02:51 | | emlike is now known as Canuck-Errant |
03:38 | | macdjord is now known as macdjord|slep |
04:19 | | Degi_ [Degi@Nightstar-0tcho5.dyn.telefonica.de] has quit [Connection reset by peer] |
05:48 | | Derakon is now known as Derakon[AFK] |
06:18 | | ricer [ricer@Nightstar-52ic2g.wechall.net] has joined #code |
06:29 | | celticminstrel [celticminst@Nightstar-0idqgb.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
07:24 | | ion [Owner@Nightstar-gmbj85.vs.shawcable.net] has quit [[NS] Quit: mded] |
09:32 | | Kindamoody[zZz] is now known as Kindamoody |
09:34 | | Jessikat [Jessikat@Nightstar-bt5k4h.81.in-addr.arpa] has joined #code |
10:19 | <&McMartin> | New Bumbershoot post: https://bumbershootsoft.wordpress.com/2017/09/23/c64-basic-disk-io/ |
10:22 | <~Vornicus> | You use "last" instead of "third" in the paragraph after the second sample of code. |
10:23 | <&McMartin> | Fixed. |
10:28 | <&McMartin> | I think this is the first time I've done a code walkthrough like this. |
10:46 | | Kindamoody is now known as Kindamoody|afk |
11:14 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
12:21 | | Degi [Degi@Nightstar-0tcho5.dyn.telefonica.de] has joined #code |
12:58 | | Degi [Degi@Nightstar-0tcho5.dyn.telefonica.de] has quit [Connection closed] |
14:10 | | celticminstrel [celticminst@Nightstar-0idqgb.dsl.bell.ca] has joined #code |
14:10 | | mode/#code [+o celticminstrel] by ChanServ |
14:19 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has quit [Ping timeout: 121 seconds] |
14:53 | | macdjord|slep is now known as macdjord |
15:45 | | Jessikat [Jessikat@Nightstar-bt5k4h.81.in-addr.arpa] has quit [[NS] Quit: Leaving] |
17:18 | | Degi [Degi@Nightstar-0tcho5.dyn.telefonica.de] has joined #code |
17:22 | | RchrdB [RchrdB@Nightstar-qe9.aug.187.81.IP] has joined #code |
18:08 | | celticminstrel [celticminst@Nightstar-0idqgb.dsl.bell.ca] has quit [Operation timed out] |
18:32 | | celticminstrel [celticminst@Nightstar-nr0ram.dsl.bell.ca] has joined #code |
18:32 | | mode/#code [+o celticminstrel] by ChanServ |
18:43 | | celticminstrel [celticminst@Nightstar-nr0ram.dsl.bell.ca] has quit [Connection closed] |
18:43 | | celticminstrel [celticminst@Nightstar-nr0ram.dsl.bell.ca] has joined #code |
18:43 | | mode/#code [+o celticminstrel] by ChanServ |
18:53 | | celticminstrel [celticminst@Nightstar-nr0ram.dsl.bell.ca] has quit [Ping timeout: 121 seconds] |
19:31 | | mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code |
19:31 | | mode/#code [+o mac] by ChanServ |
19:34 | | macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
19:57 | | celticminstrel [celticminst@Nightstar-nr0ram.dsl.bell.ca] has joined #code |
19:57 | | mode/#code [+o celticminstrel] by ChanServ |
21:14 | | Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud, @ToxicFrog |
21:21 | | Netsplit over, joins: @PinkFreud |
21:45 | | Netsplit Deepthought.Nightstar.Net <-> Krikkit.Nightstar.Net quits: @PinkFreud |
21:47 | | ToxicFrog [ToxicFrog@Nightstar-our0up.cpe.teksavvy.com] has joined #code |
21:50 | | Netsplit over, joins: @PinkFreud |
21:54 | | Derakon[AFK] is now known as Derakon |
22:49 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client] |
22:55 | | Reiv [NSkiwiirc@Nightstar-ih0uis.global-gateway.net.nz] has joined #code |
22:55 | | mode/#code [+o Reiv] by ChanServ |
23:49 | | macdjord [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has joined #code |
23:49 | | mode/#code [+o macdjord] by ChanServ |
23:50 | | mac [macdjord@Nightstar-a1fj2k.mc.videotron.ca] has quit [Ping timeout: 121 seconds] |
23:50 | | Kindamoody|afk is now known as Kindamoody |
--- Log closed Sun Sep 24 00:00:11 2017 |