MicroCoreLabs / Projects

Ted Fried's MicroCore Labs Projects which include microsequencer-based FPGA cores and emulators for the 8088, 8086, 8051, 6502, 68000, Z80, Risc-V, and also Typewriter and EPROM Emulator projects. MCL51, MCL64, MCL65, MCL65+, MCL68, MCL86, MCL86+, MCL86jr, MCLR5, MCLZ8
372 stars 78 forks source link

Chip orientation? Black Screen. #16

Open COREi64 opened 1 year ago

COREi64 commented 1 year ago

I've soldered up one of these MCL64 boards, and am getting a black screen on power up on a 64. I programmed the Teensy successfully, and am certain there are no bridges (did the soldering under high magnification under a microscope). Triple checked my soldering, and used the mouser part numbers from the BOM.

The only thing I can think of is that somehow I haven't oriented the chips correctly as I don't see anything on the board that indicates where pin 1 should be. I assumed that the top of the chip, with the pin 1 dot, is towards the Ux designation for each chip.

If my chip orientation isn't an issue, I am otherwise at a loss as to why it doesn't work for me. Any suggestions on troubleshooting would be appreciated.

MicroCoreLabs commented 1 year ago

Are you running at 800 mhz and fastest optimization? You could add some Serial.print statements to see if it gets out of reset and fetches instructions. Please check the chip orientation in the pcb files using KiCAD.


From: COREi64 @.> Sent: Thursday, April 27, 2023 5:29 PM To: MicroCoreLabs/Projects @.> Cc: Subscribed @.***> Subject: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

I've soldered up one of these MCL64 boards, and am getting a black screen on power up on a 64. I programmed the Teensy successfully, and am certain there are no bridges (did the soldering under high magnification under a microscope). Triple checked my soldering, and used the mouser part numbers from the BOM.

The only thing I can think of is that somehow I haven't oriented the chips correctly as I don't see anything on the board that indicates where pin 1 should be. I assumed that the top of the chip, with the pin 1 dot, is towards the Ux designation for each chip.

If my chip orientation isn't an issue, I am otherwise at a loss as to why it doesn't work for me. Any suggestions on troubleshooting would be appreciated.

— Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/16, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVEK5MAS72IOY5XFXQNDXDMFONANCNFSM6AAAAAAXORPMSA. You are receiving this because you are subscribed to this thread.Message ID: @.***>

COREi64 commented 1 year ago

Thanks for your comment.

I have confirmed that the chips are installed in the correct orientation. So far so good.

This was the first time I'd ever programmed a Teensy, so eventually I figured out what you meant (I think) by 800mhz and fastest optimization.

I have been programming the board with the Arduino application. The settings for the Teensy 4.1 I used in this last test is:

Optimize: Fastest CPU Speed: "816 MHz (overclocked)"

There doesn't appear to be a setting for 800mhz however.

This time, programming it with these settings, I got a change in behaviour (however still not working).

I used the MCL64_Fastest.c sourcecode.

I am seeing a screen now, however full of garbage and not responding to keyboard commands:

https://postimg.cc/gallery/4s7gf5b

Some of the garbled characters are flickering, so it appears there is perhaps some life in there... just not behaving correctly. Any thoughts?

Not familiar with serial print statements... or using this teensy in this manner but willing to try.

COREi64 commented 1 year ago

I must add that the comment about not responding to keyboard commands is actually not true. I was poking around on the keyboard, and I do notice that the garbled shapes to change when I press keys. If I do a runstop/restore, the whole screen does briefly flinch/blink. Pushing various keys does change the shapes on the screen... so perhaps something is running.

MicroCoreLabs commented 1 year ago

I suggest using the cycle accurate version of the code with the mode variable set to 0 or 1.


From: COREi64 @.> Sent: Saturday, April 29, 2023 4:58 PM To: MicroCoreLabs/Projects @.> Cc: MicroCore Labs @.>; Comment @.> Subject: Re: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

I must add that the comment about not responding to keyboard commands is actually not true. I was poking around on the keyboard, and I do notice that the garbled shapes to change when I press keys. If I do a runstop/restore, the whole screen does briefly flinch/blink. Pushing various keys does change the shapes on the screen... so perhaps something is running.

— Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/16#issuecomment-1528899468, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVENYSWCVIMYM4D4ZM3TXDWTLXANCNFSM6AAAAAAXORPMSA. You are receiving this because you commented.Message ID: @.***>

MicroCoreLabs commented 1 year ago

The fastest code is used for massive acceleration demos. The cycle accurate version is the one you want for now.


From: MicroCore Labs @.> Sent: Saturday, April 29, 2023 5:11 PM To: COREi64 @.>; MicroCoreLabs/Projects @.>; MicroCoreLabs/Projects @.> Cc: Comment @.***> Subject: Re: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

I suggest using the cycle accurate version of the code with the mode variable set to 0 or 1.


From: COREi64 @.> Sent: Saturday, April 29, 2023 4:58 PM To: MicroCoreLabs/Projects @.> Cc: MicroCore Labs @.>; Comment @.> Subject: Re: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

I must add that the comment about not responding to keyboard commands is actually not true. I was poking around on the keyboard, and I do notice that the garbled shapes to change when I press keys. If I do a runstop/restore, the whole screen does briefly flinch/blink. Pushing various keys does change the shapes on the screen... so perhaps something is running.

— Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/16#issuecomment-1528899468, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVENYSWCVIMYM4D4ZM3TXDWTLXANCNFSM6AAAAAAXORPMSA. You are receiving this because you commented.Message ID: @.***>

COREi64 commented 1 year ago

Is the variable you're talking about in the code, this line?

uint8_t mode=0;

COREi64 commented 1 year ago

So, given my lack of success with the software, I decided to start doing continuity checks on the board. Low and behold, I found a manufacturing flaw in the PCB (thanks JLCPCB). There was a hairline copper connection between pad 16 and 17 on chip U2. And I had to desolder U2 to find it too. Even under the highest magnification on my Amscope, I was unable to see it. I scratched between the two pads and sure enough, I saw copper with the first scrape. SHEZ.

After ensuring there's no bridge anymore, I soldered the chip back on and it started working.

Now, I'm wondering if perhaps that short maybe damaged something, as I'm finding the cycle accurate isn't completely compatible. Doesn't work with the RAD Expansion cartridge or the Sidekick64 cartridge. Doesn't work with the deadtest cartridge. Found it does work with a few games I've tried loading with a 1541).

The Maximum Acceleration in turn isn't functioning well for me at all. Even doing a small program to add 1 to a number, print to the screen and loop only runs for a short while, then give me an overflow error (it didn't even reach 500 when that happened).

I'm planning on building another just in case that bridge damaged something. The Teensy still programs ok, so I have my fingers crossed that the short didn't damage that microcontroller.

MicroCoreLabs commented 1 year ago

Im glad to hear you got it running. With cycle accurate mode=0 I can use EasyFlash and an external 1541 drive successfully. I have run DeadTest from an image loaded in the Teensy, but I dont own an external cartridge. Good idea trying another board. A few other folks had luck with the MCL64 and cartridges, and mine worked on multiple C64's.

Thx, Ted


From: COREi64 @.> Sent: Saturday, April 29, 2023 8:56 PM To: MicroCoreLabs/Projects @.> Cc: MicroCore Labs @.>; Comment @.> Subject: Re: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

So, given my lack of success with the software, I decided to start doing continuity checks on the board. Low and behold, I found a manufacturing flaw in the PCB (thanks JLCPCB). There was a hairline copper connection between pad 16 and 17 on chip U2. And I had to desolder U2 to find it too. Even under the highest magnification on my Amscope, I was unable to see it. I scratched between the two pads and sure enough, I saw copper with the first scrape. SHEZ.

After ensuring there's no bridge anymore, I soldered the chip back on and it started working.

Now, I'm wondering if perhaps that short maybe damaged something, as I'm finding the cycle accurate isn't completely compatible. Doesn't work with the RAD Expansion cartridge or the Sidekick64 cartridge. Doesn't work with the deadtest cartridge. Found it does work with a few games I've tried loading with a 1541).

The Maximum Acceleration in turn isn't functioning well for me at all. Even doing a small program to add 1 to a number, print to the screen and loop only runs for a short while, then give me an overflow error (it didn't even reach 500 when that happened).

I'm planning on building another just in case that bridge damaged something. The Teensy still programs ok, so I have my fingers crossed that the short didn't damage that microcontroller.

— Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/16#issuecomment-1528932573, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVEMBLRKORSBUZ5OQXWLXDXPIVANCNFSM6AAAAAAXORPMSA. You are receiving this because you commented.Message ID: @.***>

COREi64 commented 1 year ago

I was so thrilled to see the machine spring to life! I do appreciate your assistance and for sharing this awesome project. Next week, I'll build another board, and use a new Teensy. I'd be doing my continuity checks FIRST this time! =)

I've had a few people ask me if I would build them one of these boards, however, wanted to check with you first if you would have any objection? Also wanted to build one successfully first too! Thought it might be nice to offer assembled boards on my shop (I run corei64.com). Wondering if you would be amenable to me doing that?

I think it's such a cool board, but many people cannot solder things this fine.

My next build is going to be the MCL65+ I want to see how it performs in my VIC-20 and PET!

MicroCoreLabs commented 1 year ago

Prolly should contact me directly through my website.

Thx -Ted


From: COREi64 @.> Sent: Saturday, April 29, 2023 9:14 PM To: MicroCoreLabs/Projects @.> Cc: MicroCore Labs @.>; Comment @.> Subject: Re: [MicroCoreLabs/Projects] Chip orientation? Black Screen. (Issue #16)

I was so thrilled to see the machine spring to life! I do appreciate your assistance and for sharing this awesome project. Next week, I'll build another board, and use a new Teensy. I'd be doing my continuity checks FIRST this time! =)

I've had a few people ask me if I would build them one of these boards, however, wanted to check with you first if you would have any objection? Also wanted to build one successfully first too! Thought it might be nice to offer assembled boards on my shop (I run corei64.com). Wondering if you would be amenable to me doing that?

I think it's such a cool board, but many people cannot solder things this fine.

My next build is going to be the MCL65+ I want to see how it performs in my VIC-20 and PET!

— Reply to this email directly, view it on GitHubhttps://github.com/MicroCoreLabs/Projects/issues/16#issuecomment-1528934839, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AM4AVEMKBMTXBZZI4572SKTXDXRITANCNFSM6AAAAAAXORPMSA. You are receiving this because you commented.Message ID: @.***>