From: Vanessa Ezekowitz on
Adam wrote:

>> Four POKES and a SYS command and the block of memory you specify is saved
>> to disk. This can be called from within a BASIC program or at the
>> 'command line'.
>
> How is that from Basic? You're clearly leaping into the ROM, lol

If you can write and RUN a BASIC program, execute those aforementioned
instructions from within that program, without writing or loading a custom
machine code routine, and have the BASIC program continue running after the
instructions have finished their job, it can be defined as "from BASIC".

Executing a SYS call to a ROM routine is no different from using the GET
command. Both dive into ROM at some point, and both return to executing
the rest of the BASIC program when they finish.

> Also, that procedure isn't documented in the C64 manual -.o, at least
> not the one that comes with it, I should probably eye the reference
> manual but tbh I don't remember seeing it there either although it's
> been a while.

It was in an issue of Compute!'s Gazette. Can't remember which one offhand
though.

>> The code is prefixed with an execution address as the first two bytes of
>> data written to disk. Auto-executable programs usually mess with the
>
> Are you sure that isn't the load address? I'm fairly sure it is...

er, yeah it's the LOAD address. 99% of the time, you'll execute the machine
code starting at the same address. In my programs, where a piece of code
has more than one subroutine in it, I put a jump table at the beginning of
the code, similar to the KERNAL's jump table.

> Still not really as easy as SAVE "bar" LINE 10 though :p

Certainly not, but programs designed to do this are written this way from
scratch anyway - there's not that much extra effort to make a program
self-executable, especially if you create a generic header that can be used
on future programs.

The C128 has an easier way: RUN"program",U8 will load and run any program
that is normally started with the regular LOAD and RUN commands.

--
"Life is full of happy and sad events. If you take the time
to concentrate on the former, you'll get further in life."
Vanessa Ezekowitz <vanDEesLEsaeTEzekTHowiIStz(a)gmail.com>
("DELETE THIS" to email me :-) )
From: Vanessa Ezekowitz on
Daniel Mandic wrote:


> the [Commodore 64] have no chance when it comes to Speccy
> Hi-Res ;)

The standard hardware modes of both machines are..

Spectrum: 256x176 graphics
Commodore: 40x25 text, 320x200 or 160x200 graphics

> It's an other atmosphere with Speccy, good for adventure and rpg games.

The "atmosphere" of a game is entirely up to the writer of the game, and is
not in any way related to the computer it's on (except of course, where the
hardware prevents some feature from being realized).

> There are also some colors left in Hires ;-)

All 16 colors are usable in all modes on the C64, similar to the Spectrum.

> Everyone knows the video-capabilities and the smooth animation of
> sprites with the [Commodore 64], but soooooo blocky and big and clunky,
> but smooth at least.

Sprites on the C64 are displayed at the same pixel density as the C64's
graphics screen. They are independent of the display and do not affect the
underlying graphic screen's colors. Therefore, they are no more or less
blocky than the Spectrum's sprites.

Sprites on the C64 can span 24x21 pixels or 12x21 pixels, and can also be
displayed at double their normal size (horizontally and/or vertically).
Sprites are totally independent of the underlying video mode.

The C64 is quite capable of doing the exact same kind of sprites as the
Spectrum as well, in the same manner as the Spectrum (by plotting them into
the display).

You are not required to use the entire space reserved for a sprite; indeed,
some games might only use a few pixels' worth of space for stuff like
bullets.

> (less room for more complex RPG/ADV Games, except they would be in B/W
> 320x200)

There is no monochrome mode on the C64. Color attributes only take up 1000
bytes of RAM and can be placed pretty much anywhere in the same block of
memory that the bitmap is assigned to (four 16K blocks = 64K).

> How much colors are available with 256x176 with a [Commodore 64], or an
> other similiar Graphic Mode to that resolution?

If you choose the high-resolution mode, the colors are controlled by an
attribute map, exactly like the Spectrum, where each 8x8 pixel region takes
one "canvas" color and one "paint" color. All 16 colors may be used if so
desired.

If you choose the lower resolution mode, colors are controlled by two
attribute maps. You can have three "paint" colors per 4x8 pixel region,
and one "canvas" color that covers the whole screen. All 16 colors may be
used if so desired.

--
"Life is full of happy and sad events. If you take the time
to concentrate on the former, you'll get further in life."
Vanessa Ezekowitz <vanDEesLEsaeTEzekTHowiIStz(a)gmail.com>
("DELETE THIS" to email me :-) )
From: Patrick de Zeester on
spike1(a)freenet.co.uk wrote:
> Vanessa Ezekowitz <vanDEesLEsaTEezTHekISowitz(a)gmail.com> did eloquently scribble:
>>> All I argued about was the fact the ROM was essensially the same between
>>> the two in spite of these differences. Every time sinclair released a new
>>> machine, he'd update the BASIC to take advantage of the new features.
>
>> Similar things did happen with the Plus/4 (BASIC 4.0?), the C128 (BASIC
>> 7.0), and the unreleased C65 (BASIC 10.0), just not during the VIC20 -> C64
>> transition. At least one other machine had BASIC 3.5 also, though I don't
>> remember which one that was.
>
> The utter flop that was the commodore 16 perhaps?
> (God knows what they were thinking when they released that)

Not only God, Commodore thought they released something which was
supposed to compete with the Spectrum!
From: Vanessa Ezekowitz on
spike1(a)freenet.co.uk wrote:

> Commodores didn't have a nice colour resolution.
> Speccy pixels came out square on a standard TV or monitor.
> Commodore lo-res pixels were horribly rectangular.
> 160x200 vs 256x192
>
> That's why they looked blocky.

The Spectrum doesn't have a mode comparable to the C64's
lower-resolution "multicolor" mode. If it did, and people used it, the
same complaint would apply. Try it yourself - create a 128x176 image and
scale it to 256x176. You'll get the EXACT same effect as the C64's
multicolor mode (except without the extra color density).

The color resolution of the C64 in highres mode is identical to the
Spectrum's display.

Just because some programmers chose to use the multicolor mode does not mean
that the C64 is incapable of the high resolution mode. People chose the
multicolor mode because it offers increased color density.

--
"Life is full of happy and sad events. If you take the time
to concentrate on the former, you'll get further in life."
Vanessa Ezekowitz <vanDEesLEsaeTEzekTHowiIStz(a)gmail.com>
("DELETE THIS" to email me :-) )
From: spike1 on
Patrick de Zeester <invalid(a)invalid.invalid> did eloquently scribble:
>> The utter flop that was the commodore 16 perhaps?
>> (God knows what they were thinking when they released that)

> Not only God, Commodore thought they released something which was
> supposed to compete with the Spectrum!

Aye, but they did it... what, 2 years after the spectrum?
And it only came with 16k of RAM when no-one in 1984 or 5 was bothering to
buy 16k spectrums anymore.

Of course, it was doomed to failure before it was even released because of
that. Not to mention its incompatibility with the vic and c64, meaning no
games when the spectrum had a 2 or 3 year head start and a massive back
catalogue.
--
| |What to do if you find yourself stuck in a crack|
| spike1(a)freenet.co.uk |in the ground beneath a giant boulder, which you|
| |can't move, with no hope of rescue. |
|Andrew Halliwell BSc(hons)|Consider how lucky you are that life has been |
| in |good to you so far... |
| Computer Science | -The BOOK, Hitch-hiker's guide to the galaxy.|