From: John Fields on
On Thu, 18 Mar 2010 13:55:40 GMT, Jan Panteltje
<pNaonStpealmtje(a)yahoo.com> wrote:

>On a sunny day (Thu, 18 Mar 2010 12:57:15 +0000) it happened Nobody
><nobody(a)nowhere.com> wrote in <pan.2010.03.18.12.57.13.937000(a)nowhere.com>:
>
>The situation in other circles may have been different. The other
>>6502-based micros of that era (Commodore, Apple, Sinclair)
>
>Sinclair Z80, ZX81, and Spectrum were Z80 basesd and had not that bug :-
>Z80 has no bugs as far as I know, and I coded a lot for it.
>It has many 'hidden' instructions though.
>Wrote a disassembler for it:
> http://panteltje.com/panteltje/z80/index.html
>
>I never used the 6502 myself.

---
Pity...

It was basically a 6800 with no hardware multiply.

JF
From: Fred Bartoli on
John Fields a �crit :
> On Thu, 18 Mar 2010 13:55:40 GMT, Jan Panteltje
> <pNaonStpealmtje(a)yahoo.com> wrote:
>
>> On a sunny day (Thu, 18 Mar 2010 12:57:15 +0000) it happened Nobody
>> <nobody(a)nowhere.com> wrote in <pan.2010.03.18.12.57.13.937000(a)nowhere.com>:
>>
>> The situation in other circles may have been different. The other
>>> 6502-based micros of that era (Commodore, Apple, Sinclair)
>> Sinclair Z80, ZX81, and Spectrum were Z80 basesd and had not that bug :-
>> Z80 has no bugs as far as I know, and I coded a lot for it.
>> It has many 'hidden' instructions though.
>> Wrote a disassembler for it:
>> http://panteltje.com/panteltje/z80/index.html
>>
>> I never used the 6502 myself.
>
> ---
> Pity...
>
> It was basically a 6800 with no hardware multiply.
>
> JF


IIRC the 6800 didn't have any hardware multiply.
It was the 6809.


--
Thanks,
Fred.
From: Michael A. Terrell on

Nobody wrote:
>
> On Sun, 14 Mar 2010 10:24:56 -0500, Jamie wrote:
>
> > I wouldn't worry too much about it. If you ever had worked on the 6502
> > processors, I have a pile of old books that talk about the Jump indirect
> > (Vectoring address) that clearly states, you can store the vector
> > address anywhere how ever, it does not work if you do a page boundary
> > overlap.. You get an incorrect address and no, the assembler or
> > assemblers I've used, never flagged this as an error nor does any books
> > I've ever referenced state this.
>
> Amongst those of use who grew up with the 6502 (particularly with the BBC
> Micro), that issue was common knowledge. As for a reference, the BBC Micro
> Advanced User Guide, section 5.6, page 37, says:
>
> There is a bug in the 6502. When the indirect address crosses a
> page boundary the 6502 does not add the carry to calculate the
> address of the high byte.
>
> i.e. JMP (&19FF) will use the contents of &19FF and &1900 for
> the JMP address.
>
> http://www.bbcdocs.com/filebase/essentials/BBC%20Microcomputer%20Advanced%20User%20Guide.pdf
>
> The fact that almost every computer programmer of my generation in the UK
> owned a copy of that book probably accounts for it having been common
> knowledge.
>
> The situation in other circles may have been different. The other
> 6502-based micros of that era (Commodore, Apple, Sinclair) weren't so
> accomodating of technical users, and typically didn't come with an
> assembler or a circuit diagram as standard.


Sigh. Commodore published technical manuals for the VIC-20, C-64 and
most other computers they sold. They had schematics and data sheets on
the 6500 series ICs. Other companies published a lot of books after
reverse engineering the commodore line. i still have most of mine,
including the ones about the 1541 and other drives.


--
Lead free solder is Belgium's version of 'Hold my beer and watch this!'
From: Joel Koltner on
"Michael A. Terrell" <mike.terrell(a)earthlink.net> wrote in message
news:4BA29D6C.51EFECCF(a)earthlink.net...
> Sigh. Commodore published technical manuals for the VIC-20, C-64 and
> most other computers they sold. They had schematics and data sheets on
> the 6500 series ICs.

Yep, and simple-minded assemblers/disassemblers like Supermon by Jim
Butterfield were available pretty much immediately upon their release -- since
I believe he already had them for the PETs and just needed a few quick code
changes to work on the VIC and C-64.

I think I first heard of this particular problem in some article on software
copy protection that suggested that making use of this undocumented behavior
of the 6502 might lead would-be pirates astray. In retrospect I doubt that
would stop anyone for very long -- if you knew anything about hardware design
it might occur to you that something "funny" might be happening when you
crossed a page boundary. (Granted, no Google back then to verify/communicate
such ideas almost instantaneously...)

> i still have most of mine,
> including the ones about the 1541 and other drives.

"Mapping the C-64" and "Inside Commodore DOS" were awesome... those and the
Commodore hardware reference manual were a very good starting library.

---Joel

From: Jamie on
Fred Bartoli wrote:

> John Fields a �crit :
>
>> On Thu, 18 Mar 2010 13:55:40 GMT, Jan Panteltje
>> <pNaonStpealmtje(a)yahoo.com> wrote:
>>
>>> On a sunny day (Thu, 18 Mar 2010 12:57:15 +0000) it happened Nobody
>>> <nobody(a)nowhere.com> wrote in
>>> <pan.2010.03.18.12.57.13.937000(a)nowhere.com>:
>>>
>>> The situation in other circles may have been different. The other
>>>
>>>> 6502-based micros of that era (Commodore, Apple, Sinclair)
>>>
>>> Sinclair Z80, ZX81, and Spectrum were Z80 basesd and had not that bug :-
>>> Z80 has no bugs as far as I know, and I coded a lot for it.
>>> It has many 'hidden' instructions though.
>>> Wrote a disassembler for it:
>>> http://panteltje.com/panteltje/z80/index.html
>>>
>>> I never used the 6502 myself.
>>
>>
>> ---
>> Pity...
>> It was basically a 6800 with no hardware multiply.
>>
>> JF
>
>
>
> IIRC the 6800 didn't have any hardware multiply.
> It was the 6809.
>
>
Stop it, you guys are reminding me of my age!!!!!!!!!!!!!!!