YARRB

discussion of games, software, hardware & emulators relating to the Acorn Atom
User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Aug 14, 2016 1:55 pm

I solved my reset problem, it turned out to be a user error :oops:

I always tested it with writing #11 to ?#BFFE but that doesn't set both MP0 and MP1. I have to write #18 to ?#BFFE for that ](*,) ](*,) ](*,) I think it's time for me to take a <BREAK> :lol:

I can also copy the OS into RAM and that runs fine, of course I implemented your little patch. The copying works even flawlessly at 4 MHz but as soon I am in Basic the Atom fails at every speed except 1 MHz. I even replaced the 8255 with one that is known to work at 4 MHz but no luck. That needs a bit more investigation....
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Sun Aug 14, 2016 2:33 pm

Hi Roland,

So we can compare notes about 2MHz and 4MHz operation, could you list the part numbers and speeds of your:
- 6502
- 6522
- 8255
- RAM
- ROM
- '133

Here are mine:
- 6502 - Signetics SY6502 (8219 date code)
- 6522 - Rockwell R6522-31 (9251 date code)
- 8255 - Mitsubishi M5L8255AP-5 (822300 date code)
- RAM - Alliance AS6C1008-55
- ROM - SST 39SF010A
- '133 - 74ALS133

I also have handy some different 6502's:
- Rockwell R65C02P2 (date code 8482)
- Rockwell R65C02P4 (date code 1145, probably fake)
- UMC UM6502CE (date code 1124)

And one different 8255:
- NEC D71055C

(Only with this NEC 8255 will my new Atom run at 4Mhz reliably)

These are my current results with M5L8255AP-5:
- SY6502 - works at 1MHz, 2MHz, hangs at 4MHz
- UM6502CE - works at 1MHz, 2MHz, hangs at 4MHz
- Rockwell R65C02P2 - works at 1MHz, 2MHz, hangs at 4MHz with a small squeak
- Rockwell R65C02P4 - works at 1MHz, 2MHz, keyboard reads random characters at 4MHz

These are my current results with the NEC D71055C:
- SY6502 - works at 1MHz, 2MHz, hangs at 4MHz
- UM6502CE - works at 1MHz, 2MHz, hangs at 4MHz
- Rockwell R65C02P2 - works at 1MHz, 2MHz, hangs at 4MHz
- Rockwell R65C02P4 - works at 1MHz, 2MHz, 4Mhz =D> =D> =D>

Occasionally when changing to 2MHz I'll get a crash. This is hard to reproduce from a BASIC program.

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Aug 14, 2016 2:47 pm

Dave,

I think the type of 8255 is very critical. My Toshiba TMP8255AP-5 works at 2 MHz but fails at 4 MHz. I took the NEC8255AC-2 from my green Atom 2k15 and now the blue Atom also runs fine at 4 MHz, after I patched the OS with an RTS instruction at #FEFB. But that is expected behaviour because my VIA can't keep up at 4 MHz.

For now these results are very satisfying.

BTW I also tested the XMA bank switching and that seems also to work fine. The only thing I have to do is to find another NEC8255AC-2 8)

Greetings,
Roland
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Aug 14, 2016 7:46 pm

I have found five other bugs :shock:

Well, actually it was one typo but copy-paste made it five bugs. Consider this:

Code: Select all

-- RA16
if (A15 = '0' and A14 = '1' and XMA1 = '1')
   or (A15 = '1' and A15 = '0' and A13 = '1' and A12 = '0' and BS2 = '1')
   or (A15 = '1' and A14 = '1')
then
   RA16 <= '1';
else
   RA16 <= '0';
end if;


The second line has A15 = '1' and A15 = '0' but the chance that I win the lottery is a million times bigger than that condition. This is copied to the other four RA-lines as well. The effect is that if you write to #Axxx the CPLD actually writes to block 0.
I discovered this when I modified the operating system copy routine to copy a utility ROM to #Axxx. I couldn't get it to work and I didn't see any bug in the copy routine. The only thing I changed was #C0 to #A0. Then I realised that the hardware could be faulty. It was....

I have attached a new set of files for beta-2. But I think that everything works fine now.
Attachments
yarrb-b2.zip
Two bug fixes in Atom 2k15 mode:
1. Exclude video ram for enabling the RAM
2. Fixed typos in addressing for Axxx banks
(13.7 KiB) Downloaded 26 times
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Sun Aug 14, 2016 7:56 pm

Hi Roland,

I have't tried using #A000 RAM yet, so didn't hit this issue.

I'll update to beta 2 and report back tomorrow.

Dave

User avatar
oss003
Posts: 2550
Joined: Tue Jul 14, 2009 11:57 am
Location: Netherlands
Contact:

Re: YARRB

Postby oss003 » Sun Aug 14, 2016 8:10 pm

Nice job guys =D> =D> =D> =D>
Great stuff those CPLD's, saves a lot of soldering :wink:

Greetings
Kees

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Aug 14, 2016 8:20 pm

oss003 wrote:Great stuff those CPLD's, saves a lot of soldering :wink:


Yes, I really like them. It's a real shame on Xilinx that they don't produce the XC9572XL any more. We can use them in many Atom projects. They do pop up on Ebay but I don't know if we can rely on them. Do they have the same quality? Are they genuine of just clones?

I have created a small bootstrap file to load all the ROM images into the Atom2k15 mode. Just unzip the files into the /SYS directory of your SD-card and you can init the system with the *YARRB command.

Edit: I deleted this file because it was not complete. It's uploaded in a later post.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
Multiwizard
Posts: 1214
Joined: Wed Jan 11, 2012 9:03 pm
Contact:

Re: YARRB

Postby Multiwizard » Sun Aug 14, 2016 9:10 pm

roland wrote:
oss003 wrote:Great stuff those CPLD's, saves a lot of soldering :wink:
It's a real shame on Xilinx that they don't produce the XC9572XL any more.
You mean these ones?

http://www.aliexpress.com/item/XC9572XL ... 0c65d739b7


Greetings, Wim... :-)

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Aug 14, 2016 9:17 pm

Hi Wim,

Nope, I need these ones; http://www.aliexpress.com/item/XC9572XL ... 120c667aa1

Xilinx doesn't produce them any more but Ali still has thousands of them in stock. But for about $14.00 we know if these are reliable :lol: The price is not that bad. I paid a bit more at Farnell.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Mon Aug 15, 2016 10:29 am

Hi Roland,
roland wrote:I have created a small bootstrap file to load all the ROM images into the Atom2k15 mode. Just unzip the files into the /SYS directory of your SD-card and you can init the system with the *YARRB command.

I hit a couple of glitches with this.

Line 110 loads JBOX21.ROM, and the latest SYS image seems to use JBOX2015.ROM.

By the way, what's the difference between JBOX and JOSBOX? Both are loaded separately.

Line 290 loads OPERSYST.ROM, which I don't have.

Should this be the "original Atom" C000-FFFF, or should it be the "New Atom" C000-FFFF? I assume it needs AtoMMC at E000 to be included?

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Mon Aug 15, 2016 11:18 am

I will update the SYS-files. The OPERSYST.ROM is just a copy from the EEPROM with AtoMMC3 already integrated.

The JOSBOX is the free version (only for members of the Dutch Atom User Group) of the AXR1 rom. It was written by Jos Horsmeijer. The JBOX has completely other statements, mostly handy commands for usage outside of programs, and was written by Jan Bronswaer.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Mon Aug 15, 2016 11:33 am

roland wrote:I will update the SYS-files. The OPERSYST.ROM is just a copy from the EEPROM with AtoMMC3 already integrated.

I'm trying to keep the latest versions of the SYS files in the Atom Software Archive git:
https://github.com/hoglet67/AtomSoftwar ... roland/SYS

I'll try to update this as well with the YARRB bits.
roland wrote:The JOSBOX is the free version (only for members of the Dutch Atom User Group) of the AXR1 rom. It was written by Jos Horsmeijer. The JBOX has completely other statements, mostly handy commands for usage outside of programs, and was written by Jan Bronswaer.

Thanks, I'm now better informed!

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Mon Aug 15, 2016 6:55 pm

I have uploaded a new version of the SYS files. I now included the opersyst.rom file and it loads jbox2015.rom (which was apparently not in my Atom Archive v10-beta 1, so I included that as well).

It turns out that the JBOX2015 is fully compatible with Yarrb, the statements TURBO, WP and XMA work fine.

I also repaired Chuckie Egg. It also runs now fine on my blue Atom. I still don't know why it didn't work.
Attachments
SYS.zip
(17.49 KiB) Downloaded 14 times
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Mon Aug 15, 2016 7:00 pm

Hi Roland,

Thanks for doing this.

Just for my understanding, what is in each 4K chunk of opersyst.rom? i.e. Original Atom version, patched, etc?

I'll test tomorrow and report back.

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Mon Aug 15, 2016 9:01 pm

The contents of OPERSYST.ROM are:

#C000 - #CFFF: Atom Basic (afaik not patched)
#D000 - #DFFF: floating point rom, patched for enabling Branquar at #Exxx
#E000 - #EFFF: AtoMMC3 rom with Branquar
#F000 - #FFFF: Atom MOS, patched
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
1024MAK
Posts: 6787
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...

Re: YARRB

Postby 1024MAK » Tue Aug 16, 2016 11:17 am

Image

I received my PCB on Saturday - see here.
I already have a lot of the parts, but will have to get the remaining bits...

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
TheCorfiot
Posts: 648
Joined: Mon Jan 08, 2007 5:22 pm

Re: YARRB

Postby TheCorfiot » Fri Aug 19, 2016 3:56 pm

Thanks Roland and Dave

Got my YARRB PCB today, time to get building :)

Cheers :)

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Fri Aug 19, 2016 8:41 pm

Have fun with building it. Remember, the cpld files are here.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Wed Aug 31, 2016 7:21 pm

Hi Roland,

Another small bug report.

At Cambridge we found the current YARRB firmware isn't compatible with Atom Tube.

Address BEEx need to be external.

The fix was to change:

Code: Select all

      -- Bus Buffer control
      if (A15 = '1' and A14 = '0' and A13 = '1' and A12 = '1' and A11 = '1' and A10 = '1' and A9 = '0' and A8 = '0' and nBFFX = '1') then
         nBUFEN <= '0';
      else
         nBUFEN <= '1';
      end if;

to

Code: Select all

      -- Bus Buffer control
      if (A15 = '1' and A14 = '0' and A13 = '1' and A12 = '1' and A11 = '1' and A10 = '1' and (A9 = '0' or A8 = '0') and nBFFX = '1') then
         nBUFEN <= '0';
      else
         nBUFEN <= '1';
      end if;

Before, only BCxx was external.

After, BCxx, BDxx and BExx are external.

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Wed Aug 31, 2016 8:50 pm

And that will probably clash with a GODIL at #BDxx .... but for me that's no problem because the YARRB Atom doesn't have a GODIL. I think your fix is fine.

I have to check this anyway because if #A00 is not occupied with RAM (so available for a disk controller) then the bus should also be opened for the 8271 at #A00. I think a final version should open the bus if:

#A00 is not RAM and #Axx is addressed
#BCxx is addressed
#BExx is addressed
#BFxx is addressed but not #BFFE/#BFFF (signal nBFFx)
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
hoglet
Posts: 6605
Joined: Sat Oct 13, 2012 6:21 pm
Location: Bristol

Re: YARRB

Postby hoglet » Wed Aug 31, 2016 9:22 pm

roland wrote:I think a final version should open the bus if:
#A00 is not RAM and #Axx is addressed
#BCxx is addressed
#BExx is addressed
#BFxx is addressed but not #BFFE/#BFFF (signal nBFFx)

There may not be a single correct answer here.

What about the original Atom SID at #BDC0-#BDDF?

Does anyone have a GODIL in an original Atom anymore? I don't...

Dave

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Wed Aug 31, 2016 10:14 pm

hoglet wrote:There may not be a single correct answer here.

So every Atom can have its custom CPLD 8)

hoglet wrote:What about the original Atom SID at #BDC0-#BDDF?

That is covered in my idea because I leave the bus closed at #BDxx

hoglet wrote:Does anyone have a GODIL in an original Atom anymore? I don't...

Me neither and I think we were the only two with a Godil in an original Atom. So problem is solved :lol:
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Sep 11, 2016 8:03 pm

Today I created a cheap, stripped down, version of Yarrb. I took a normal board and I fitted a 32kB static RAM, 64kB eprom and a XC9536XL CPLD on it. Why? Don't ask, I had this stuff just lying around and it's for an Atom that I'm going to sell.

The board itself has no permanent damage so it can still be upgraded by the future owner. The only things I had to do was to bend out pins 20 and 28 of the RAM chip. Pin 28 is wired to the socket pin 32 and pin 20 is wired to the socket pin 31. For the eprom to work I only had to connect the pins 30 and 32 of the socket together with a small piece of wire.

The CPLD has it's own Yarrb-3.6 decoding. It holds only #BFFF and does switch eight banks of 4k at #Axxx and two banks of 16k at #C000 - #FFFF. One bank has the MMC rom, the other one has Atom DOS rom. It is also possible to completely disable the rom at #Exxx so an original diskpack can be connected without mods. The ram on the disk controller board can't be read because the buffers are closed at their addresses.

This Atom can run at 1 or 2 MHz.

IMG_1367.JPG


IMG_1368.JPG


IMG_1369.JPG


Probably no one will reproduce this but I thought just to mention it.....
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Sep 18, 2016 5:19 pm

Today I was working with the Atom and the stripped down version of YARRB, to test the Atom Disc Pack. This worked fine (after solving a bad contact) but the Atom was continuously switching to graphics mode. It didn't do it when running some loop, but while waiting for a key press it randomly switches to a black screen. Reading back the value of ?#B000 gave the value #B0 which is surprising me. How does this value get into that register.

My badly behaving Atom had the same issue when I started it with the YARRB board. At first I thought it was that Atom but now I have two Atoms with a YARRB board with this issue. The switching to the graphic mode stops after the Atom has been powered on for a while. Does any body else also seeing this?
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Sun Sep 18, 2016 7:43 pm

I have patched the YARRB CPLD and now it enables the bus buffer when the FDC is used. The Atom Disc Pack is working now on an Atom with the YARRB board.

IMG_1412.JPG
Crunch means: you can't format a write protected disc.


IMG_1415.JPG
Much better with the protection removed :)


The latest CPLD versions are also attached to this message. Yarrb72v13 is the version for the XC9572XL CPLD and Yarrb36v10 is for the minimized XC9572XL CPLD (but probably nobody needs this one).
Attachments
yarrb72v13.zip
For XC9572XL CPLD
(13.72 KiB) Downloaded 14 times
yarrb36v10.zip
For the minimized version with XC9572XL CPLD
(11.15 KiB) Downloaded 19 times
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
marcusjambler
Posts: 116
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: YARRB

Postby marcusjambler » Mon Aug 28, 2017 2:37 pm

Just wondering if there are any of these boards left.
Pre-built is my preference.

User avatar
roland
Posts: 2808
Joined: Thu Aug 29, 2013 8:29 pm
Location: Born (NL)
Contact:

Re: YARRB

Postby roland » Mon Aug 28, 2017 4:59 pm

Unbelievable, this weekend I got two requests for such a board. Unfortunately I just sold the last one. If there is still more interest I can order a few new boards but that will take a few weeks before delivery.
256K + 6502 Inside
MAN WOMAN :shock:

User avatar
marcusjambler
Posts: 116
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: YARRB

Postby marcusjambler » Mon Aug 28, 2017 6:11 pm

Atomic entanglement maybe....
No problem waiting for new boards.


Return to “acorn atom”

Who is online

Users browsing this forum: No registered users and 2 guests