Re: Short ML Program
From
wwww.leser@gmail.com@3:770/3 to
All on Fri Mar 2 10:02:03 2018
This newsgroup used to be entertaining! Where's all the fun gone?
Let me try some:
Try to imagine you didn't already have an idea as to how fast machine language can be as compared to BASIC. Would Jim Butterfield's demonstration have convinced you that it is worth the while learning how to do computer programming in assembly language?
He assures us that BASIC could never fill the screen at the same rate as his assembly program does, and that's certainly true. But is the difference really as great as it appears from the video?
10 print chr$(19);
20 get a$
30 for i=1 to 7
40 a$=a$+a$
60 next
70 a$=left$(a$,111)
80 print a$;a$;a$;a$;a$;a$;a$;a$;a$;
90 if left$(a$,1)<>":" then 10
Can you improve upon my program above, or rewrite it, to make it run faster? Would you take a different approach, like the following?
10 printchr$(147)
20 co=53248:ca=8448:ir=56334
30 fori=0to7:poke8192+32*8+i,0:next
40 poke53272,24
50 poke198,0:wait198,1:get a$
60 pb=co+8*(asc(a$)-64)
70 pokeir,peek(ir)and254:poke1,peek(1)and251
80 fori=0to7:pokeca+i,peek(pb+i):next
90 poke1,peek(1)or4:pokeir,peek(ir)or1
100 if a$<>":"then 50
110 poke53272,21
(Line 60 needs some work.)
Besides that, did you notice that Jim Butterfield's assembly program, too, can be improved upon, speed-wise? Here's a hint: Most monitors' mnemonic-to-opcode translators won't even let you not do the improvement (but VICE's monitor will.)
Another oddity that's apparent from the video hasn't been mentioned yet: Jim Butterfield's machine does not exhibit the Commodore 64's standard character set. It looks more like the VIC-20(or PET?)'s character set to me. Did Jim Butterfield use a
modified machine? Could that account somehow for the curious fact that the very
last character on screen remains blank?
Chris
--- SoupGate-Win32 v1.05
* Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)