Jump to content
santosp

eclaire XL P.C.B. aka "Atari on FPGA project"

Recommended Posts

Posted (edited)
13 hours ago, bocianu said:

After first tests PIA interrupt fix seems to work... partially.

By defaut #FujiNet sets low level on PROCESS pin for 50us.

50us looks enough for real hardware and interrupt gets triggered, but on Eclaire it's not detected.

After extending pulse witdh to 150us it also started to work on EclaireXL.

 

Is the Fujinet output open drain? I am wondering if it's an analog issue because of the weak pullup. I understand the Eclaire uses the same pullup values as a real Atari (Mark will correct me if I'm wrong?), but still the timing could be different due to the fet switches and the different threshold levels.

 

Open drain was a key issue when I tested SIO synchronous mode, but it is true that in that case the frequency was higher and hence the pulses much shorter. Still, if the fujinet output it's open drain indeed, and if it's software configurable (as most micro controllers allow), it might be worth to try configuring the output as push pull (not open drain), at least to rule out the issue.

 

I doubt a synchronizer chain has here any significant effect either way.

Edited by ijor
  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Checked the schematic, we have a 4k7 pull-up. Not got time to check the other schematics right now, but seems to match the xel at least.

Edited by foft

Share this post


Link to post
Share on other sites

Think I found another bug. The interrupt flag is cleared on the reverse transaction. I’ll fix that later...

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)
2 hours ago, foft said:

Think I found another bug. The interrupt flag is cleared on the reverse transaction. I’ll fix that later...

Fixed that, give it a spin please. 20200601b.

Edited by foft
  • Like 5

Share this post


Link to post
Share on other sites

now it works like a charm! 😁

I even tried 20us pulse and it also worked!

 

thanks a lot foft, looks like problem solved.

 

 

  • Like 2

Share this post


Link to post
Share on other sites
9 minutes ago, bocianu said:

now it works like a charm! 😁

I even tried 20us pulse and it also worked!

 

thanks a lot foft, looks like problem solved.

 

 

Great. Many thanks for reporting the bugs so I could fix.

  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites

I would like to confirm that with v40 the F9 RESET bug is gone 👍

 

By the way - is there any way to change a virtual cartridge without switching Eclaire OFF and ON?

I tried pressing F10 and then F12 to select andother CAR file, but I always land in BASIC.

 

Share this post


Link to post
Share on other sites

F10 doesn’t work?

 

I need to do more pia fixes on the interrupts. There are some other things in there that look somewhat iffy.

Share this post


Link to post
Share on other sites
8 minutes ago, foft said:

F10 doesn’t work?

 

I need to do more pia fixes on the interrupts. There are some other things in there that look somewhat iffy.

F10 works, but assigning a *.car file after F10 doesn't.

Share this post


Link to post
Share on other sites
On 6/1/2020 at 10:55 PM, TheMontezuma said:

F10 works, but assigning a *.car file after F10 doesn't.

Need to press F10 after inserting the car file to reboot the system. Otherwise it usually crashes (depending on the car and what the system is running...)

Share this post


Link to post
Share on other sites
Posted (edited)
On 6/1/2020 at 10:45 PM, foft said:

I need to do more pia fixes on the interrupts. There are some other things in there that look somewhat iffy.

I think I have some more pia fixes (build tomorrow). These shouldn't impact fujinet but it does make the acid test pass again.

 

I think some of the edge detect logic runs when its in 'output mode', which causes the spurious interrupts on $34/$3c combinations.

Edited by foft

Share this post


Link to post
Share on other sites

Thanks for all the effort you're putting into this, foft.  I don't have an Eclaire, but I think it's a wonderful project.

Share this post


Link to post
Share on other sites

A couple of questions ...

 

Somebody tested the SIO external interface with a 1010 or other Atari tape recorder?

 

I understand that the whole SIO interface, except motor control, is bidirectional, from the hardware point of view, correct? In theory I could reverse the direction of any SIO signal (again, except motor control), if I wanted, right?

 

Share this post


Link to post
Share on other sites
12 minutes ago, ijor said:

A couple of questions ...

 

Somebody tested the SIO external interface with a 1010 or other Atari tape recorder?

 

I understand that the whole SIO interface, except motor control, is bidirectional, from the hardware point of view, correct? In theory I could reverse the direction of any SIO signal (again, except motor control), if I wanted, right?

 

Re: pokey: SID and SIO can not be switched around to my knowledge. The clocks have a bunch of modes. Clock out is output only and clock in can be input or output. 

 

Re pia CA1 and CB1 are input only. CA2 and CB2 are bidir.

So IRQ-> in only, proceed -> in only, command -> in/out, motor -> out only (due to transistor)

	----CB1=SIO_IRQ
	----CB2=SIO_COMMAND
	----CA1=SIO_PROCEED
	----CA2=SIO_MOTOR_RAW

Of course its possible I got some of this wrong, but this is my understanding...

Share this post


Link to post
Share on other sites
53 minutes ago, foft said:

Re: pokey: SID and SIO can not be switched around to my knowledge. The clocks have a bunch of modes. Clock out is output only and clock in can be input or output.

 

Hi Mark,

 

Forget about Pokey, forget about the core. I am talking about the pure Eclaire board hardware. I can see that motor control is buffered, so there is no way to read its state (it's a pity). But the rest of the signals don't seem to be buffered and are fully bidirectional and I could reverse their direction if I wanted it, right?

 

Also, again, did you test connecting a tape recorder like a 1010? Or if I try I would be the first with the inherent risk of blowing the whole thing? :)

 

Share this post


Link to post
Share on other sites

Yes everything is bidirectional except motor control. So it could have a very fast custom read if you have an appropriate device on the other end.

 

I've used a tape recorder before with no issues (except eating tapes!). The audio in isn't good quality at all and is only present on the large boards, I needed to pay more attention to the design on the ADCs.

Share this post


Link to post
Share on other sites
47 minutes ago, ijor said:

Also, again, did you test connecting a tape recorder like a 1010? Or if I try I would be the first with the inherent risk of blowing the whole thing? :)

Eclaire XL devices, from the first models already have a transistor capable to supply more than 1 Amper at the "tape recorder motor control line". In addition a polyfuse which cutting at 500mA has been placed in line before the outpout there.  So, no blowups permited.:P

Share this post


Link to post
Share on other sites
10 minutes ago, santosp said:

Eclaire XL devices, from the first models already have a transistor capable to supply more than 1 Amper at the "tape recorder motor control line". In addition a polyfuse which cutting at 500mA has been placed in line before the outpout there.  So, no blowups permited.:P

 

:) But seriously, and once again, both you and Mark did a wonderful job here!

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
On 6/2/2020 at 11:19 PM, foft said:

Need to press F10 after inserting the car file to reboot the system. Otherwise it usually crashes (depending on the car and what the system is running...)

I attached example *.car files I used for testing (ROM: Standard XL OS).

After powering up Eclaire, I press F12 and assign a *.car file. So far so good.

Now I want change the cart. I press F12 and assign another *.car.

Sometimes it works. Sometimes I could hear SIO noise and it goes to BASIC.

In this case nothing helps anymore. I can press F10 and it does not recognize the cart at all (again it goes to BASIC).

I have to switch Eclaire OFF and ON to assign a new *.car file.

 

Of course it is not a critical bug, but I wanted to let you know, just in case it woud be easy to fix.

CAR.zip

 

[EDIT]

core version: v40

eclaireXL_ITX

build_A2EBAromv3

 

Edited by TheMontezuma

Share this post


Link to post
Share on other sites

Any particular cart that fails? I just selected about 20 random ones on v40 core with the v1 EclaireXL and it seems fine.

Share this post


Link to post
Share on other sites

I've found another issue on core40.

I'm unable to store ROM settings now.

Every time I power off and on my eclaire it beeing reseted to atarixl.rom

storing configuration on flash neither SD does not help.

 

 

Share this post


Link to post
Share on other sites
Posted (edited)

The path is never saved. It loads profile 1 rom data from the flash, unless atarixl.rom is present in the sd card, which takes priority.

 

So if you load a new rom, then save to flash on profile 1 it should work. Just be sure that you restart to test with either no sd card or an sd card without the rom in the standard place.

Edited by foft

Share this post


Link to post
Share on other sites

Anything I will save as rom on profile1 is beeing replaced with atarixl.rom when I power off/on Eclaire. Always - when SD card is in. 

When card is out, this field is blank and it loads "something" - probably from internal flash. 

Share this post


Link to post
Share on other sites
4 minutes ago, bocianu said:

Anything I will save as rom on profile1 is beeing replaced with atarixl.rom when I power off/on Eclaire. Always - when SD card is in. 

When card is out, this field is blank and it loads "something" - probably from internal flash. 

Yes exactly

Share this post


Link to post
Share on other sites
1 hour ago, bocianu said:

When card is out, this field is blank and it loads "something" - probably from internal flash. 

Yep. After selecting the OS ROMs I rename the directory (with the PC) and the firmware cannot find the default anymore. 

  • Like 1

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...