From: Terje Mathisen on
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
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
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
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
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
First  |  Prev  |  Next  |  Last
Pages: 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Prev: Software vs Hardware
Next: Searching for the PDP-3