Prev: Software vs Hardware
Next: Searching for the PDP-3
From: Terje Mathisen on 8 Jan 2007 09:24 Peter "Firefly" Lund wrote: > On Sun, 7 Jan 2007, ChrisQuayle wrote: > >> This is typical of the idiom and saves memory. By the time you have a >> couple of hundred modules, the overall saving is quite significant. >> >> Now of course, all is surfaces, and uSoft Studio rulz ok :-)... > > Try this: > > ftp://ftp.scene.org/pub/mirrors/hornet/code/effects/stars/mwstar.zip Nice. The guy who wrote this entered Caltech a few months later, and then started working for Goldman Sachs after graduation, presumably at quite a bit above my own starting salary. :-) Good for him! Terje -- - <Terje.Mathisen(a)hda.hydro.com> "almost all programming can be viewed as an exercise in caching"
From: ChrisQuayle on 8 Jan 2007 13:35 Peter "Firefly" Lund wrote: > It was one of the reasons why it was difficult to put a 68060 in a Mac. > The relevant exception handling and occasional faking of an old-style > exception stack frame + forwarding to the os handler was taken care of > by some system software that came with the (third-party) CPU board. > > In this case, this kind of software was called an "extension". Ok fair comment, but you can't expect a system manufacturer like Apple to even attempt to cater for a 3rd party add-on vendor. As far as I can see, Apple in particular were well known for minimising hardware count in their machines and probably cut corners and made use of tricky stuff at system software level as well. The fact that a 3rd party vendor had trouble adding a much more modern cpu to an earlier well locked down design is no surprise really. So, while it's an example, it is a bit esoteric and doesn't invalidate the point I was trying to make. > > One can get surprisingly far by just being able to block interrupts > individually. Well, we do that as well and it's pretty much essential, but that's not the same mechanism, nor due to the same requirement as having a hardware based interrupt priority structure. Different animals. Chris
From: "Peter "Firefly" Lund" on 8 Jan 2007 14:51 On Mon, 8 Jan 2007, Terje Mathisen wrote: > The guy who wrote this entered Caltech a few months later, and then started > working for Goldman Sachs after graduation, presumably at quite a bit above > my own starting salary. :-) > > Good for him! Yes :) The wildest thing is that it was actually possible to improve it a bit! Instead of using INT 16h to test for a keypress, one could use IN AL, 60h followed by RCR AL,1 and a JC/JNC. It was also possible to write some of the interleaved loop stuff such that at least one byte was shared between instructions, in other words, such as the lower jump jumps into the middle of an instruction such that the remainder of the instruction just happens to be another useful instruction. Instead of using MOV BH,A0 followed by MOV ES, BX, one could use a POP ES, I think it was. The top of memory was available at a field inside the PSP and as far as I recall, it was easy to get it into ES. The top of memory wouldn't always be A000h but it would almost always be close enough for the visuals to work just fine. -Peter
From: "Peter "Firefly" Lund" on 8 Jan 2007 14:55 On Mon, 8 Jan 2007, ChrisQuayle wrote: > Ok fair comment, but you can't expect a system manufacturer like Apple to > even attempt to cater for a 3rd party add-on vendor. As far as I can see, No, but I can expect Motorola to make their CPUs more backwards compatible. Compatibility snags was a contributing factor to why Apple was a bit slow in introducing new CPUs for the old Macs. > Well, we do that as well and it's pretty much essential, but that's not the > same mechanism, nor due to the same requirement as having a hardware based > interrupt priority structure. Different animals. Where do you need hardware-based interrupt priority handling (outside of NMI) that can't be done as well by software + hardware-based interrupt blocking? -Peter
From: =?ISO-8859-1?Q?Niels_J=F8rgen_Kruse?= on 8 Jan 2007 16:30
Peter "Firefly" Lund <firefly(a)diku.dk> wrote: > On Sun, 7 Jan 2007, ChrisQuayle wrote: > > > would miss pre and post dec/inc operators, as they can save a lot of > > instructions whan accessing arrays, depending on how you have structured the > > code. > > These days, instructions are free but loads and stores are not ;) Slots in the reorder window are not free. -- Mvh./Regards, Niels J�rgen Kruse, Vanl�se, Denmark |