code logs -> 2017 -> Sat, 23 Sep 2017< code.20170922.log - code.20170924.log >
--- 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
code logs -> 2017 -> Sat, 23 Sep 2017< code.20170922.log - code.20170924.log >

[ Latest log file ]