6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Sep 21, 2024 6:46 am

All times are UTC




Post new topic Reply to topic  [ 579 posts ]  Go to page Previous  1 ... 19, 20, 21, 22, 23, 24, 25 ... 39  Next
Author Message
PostPosted: Wed Jan 08, 2020 9:15 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
cbmeeks wrote:
BigDumbDinosaur wrote:
In any case, I've got lots of AMD 27C256-55 EPROMs laying around

Maybe you could sell a few of them and buy yourself a new car, house, etc. Those things have gotten ridiculously expensive in recent years.

JAMECO used to sell them at fairly reasonable prices, which is where I got the ones I have. Now they have vanished from their site, making me wish I had bought more. :cry: I'm doing some investigating to see if there are other sources at reasonable prices.

Incidentally, Microchip (Atmel) continues to produce a 45ns 32KB PROM (OTP EPROM, Microchip P/N AT27C256R-45PU), which is available through Digikey and Mouser. Also available is a 64KB version, P/N AT27C512R-45PU, although it would be of limited usefulness in most 65xx systems.

At some point I'll have to make a decision about future ROM requirements. I'm no fan of EEPROMs, as they are slow and require wait-stating or shadowing if high Ø2 speeds are desired. Flash ROM has about the same level of performance. Maybe I'll work out clock-stretching to deal with it.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2020 9:17 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1228
Location: Soddy-Daisy, TN USA
Not to go OT, but I'm thinking of using an Arduino UNO with some shift registers to load RAM during initial development. I'm just about burned out on swapping chips in/out of my programmer.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2020 9:24 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
cbmeeks wrote:
Not to go OT, but I'm thinking of using an Arduino UNO with some shift registers to load RAM during initial development. I'm just about burned out on swapping chips in/out of my programmer.

Yes, but from where will the UNO get the data that has to be poked into RAM during boot-up?

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2020 9:35 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1467
Location: Scotland
BigDumbDinosaur wrote:
cbmeeks wrote:
Not to go OT, but I'm thinking of using an Arduino UNO with some shift registers to load RAM during initial development. I'm just about burned out on swapping chips in/out of my programmer.

Yes, but from where will the UNO get the data that has to be poked into RAM during boot-up?


From it's internal flash. Uno (Atmega 328) has 32KB of flash. all you need is a minimal "monitor" that can then do xyz-modem to fetch the real code via serial or something into a 64K RAM system... changes to the Uno can be made via serial bootloader in a few seconds. Or you put it all in the Uno if your OS is (say) under about 16KB.

That's not quite how my Ruby 6502/816works, but it has a larger ATmega 1284 and shares the top 256 bytes of RAM with the 6502/816 (Bank 0 in the 816), so can directly write a bootloader there (it's about 200 bytes) that then talks to the Atmega via the same interface to pull the OS (10K), then BASIC (16K), etc. Re-programming the '1284 in my system takes 8 seconds to dump about 80KB of code and data into it via the ICSP interface. Booting the 6502/816 takes under a second to get the OS loaded, then one second more to load BBC BASIC if I need it.

The down-side is that turnaround from changing the OS code to testing it is not even enough time to get out of my chair let alone fetch a cup of tea...

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2020 9:37 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1467
Location: Scotland
BigDumbDinosaur wrote:
Incidentally, Microchip (Atmel) continues to produce a 45ns 32KB PROM (OTP EPROM, Microchip P/N AT27C256R-45PU), which is available through Digikey and Mouser. Also available is a 64KB version, P/N AT27C512R-45PU, although it would be of limited usefulness in most 65xx systems.


Or... Arrange the address decoding to only map in 1K of the PROM at a time, selectable from the 64K (assuming you can program just 1K at a time), then you can use it 64 times, and if that 1K is enough to serial pull the rest of your code, then it might be good enough?

-Gordon

_________________
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/


Top
 Profile  
Reply with quote  
PostPosted: Wed Jan 08, 2020 11:14 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
drogon wrote:
BigDumbDinosaur wrote:
Incidentally, Microchip (Atmel) continues to produce a 45ns 32KB PROM (OTP EPROM, Microchip P/N AT27C256R-45PU), which is available through Digikey and Mouser. Also available is a 64KB version, P/N AT27C512R-45PU, although it would be of limited usefulness in most 65xx systems.

Or... Arrange the address decoding to only map in 1K of the PROM at a time, selectable from the 64K (assuming you can program just 1K at a time), then you can use it 64 times, and if that 1K is enough to serial pull the rest of your code, then it might be good enough?

-Gordon

Sounds like a lot of hoop-jumping, especially since I'm going to need 12KB in my application. Having to use external hardware just to have a BIOS and drivers seems to be a solution in search of a problem.

As I said, I've got quite a few 27C256s, plus I have the capability to erase up to 20 at one time. I'll only use an OTP once the firmware is settled and it's time to move on to the next design.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 09, 2020 7:35 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 588
Location: Michigan, USA
cbmeeks wrote:
Not to go OT, but I'm thinking of using an Arduino UNO with some shift registers to load RAM during initial development. I'm just about burned out on swapping chips in/out of my programmer.

Neat idea...


Last edited by Michael on Thu Jan 09, 2020 9:08 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 09, 2020 8:55 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
(Best approach, probably, is to start a new thread to discuss alternative ROM provision.)


Top
 Profile  
Reply with quote  
PostPosted: Thu Jan 09, 2020 3:35 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
BigEd wrote:
(Best approach, probably, is to start a new thread to discuss alternative ROM provision.)

I agree.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 13, 2020 2:30 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
Here's the final schematic. PCBs and other parts have been ordered.

Attachment:
File comment: POC V1.2 Schematic
poc12.pdf [308.41 KiB]
Downloaded 132 times

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 07, 2020 2:31 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
As a precursor to getting POC V1.2 up and running I pulled POC V1.1 out of storage and hooked it up to re-familiarize myself with the firmware and monitor. V1.1 POSTed and attempted ISL from the hard drive. So sitting on the shelf for nearly two years didn't seem to bother it any.

While I was piddling around, I removed the 25 MHz clock oscillator and replaced it with one running at 28.322 MHz. The computer POSTed and performed the ISL attempt. Since the oscillator drives a flop to produce Ø2, the system is running at 14.161 MHz, slightly above the maximum official speed supported by the 65C816. Gee, I can recall when a computer running at 14 MHz was a $30,000 piece of hardware. :D

The one fly in the ointment with running V1.1 at 14 MHz is the real-time clock isn't fast enough to stay with that speed—there is no wait-stating. This will also be a limitation of V1.2. However, the object of V1.2 is to develop software, not set speed records, so I can live with it. Assuming V1.2 runs okay and I get my firmware done, I may Frankenstein the gadget and see if I can get wait-stating on I/O working. It wouldn't be too surprising if the wait-state circuit had a resemblance to this.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Tue Feb 18, 2020 9:26 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
I have all parts and have started assembling V1.2, It's kind of slow going working with only one functional eye. :shock:

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 20, 2020 4:58 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1382
I took a good look at your 1.2 PCB, nice layout with 3 SMT devices, RAM and the MAX238 chips. In every case where I've had to do SMT mounting on (pretty small) PCBs, I do those first, working from the center of the PCB outward, then solder in the through hole parts afterwards. I also use some flux remover and small cotton cloth pieces to clean around the SMT parts after soldering them in and before any through hole parts are mounted. I also inspect them with a fairly powerful magnifier lens to ensure the solder joints are clean and without any bridging.

I also have the same magnifier headset you picked up, but have not yet had a chance to use it for PCB work. I do wish you the best in working under the limited sight conditions you have... if you get into a bind, I'm happy to help out on soldering. In recent years, I've built up around 50 very small PCBs with tiny SMT parts and no failures to date... including 10 of these cool Mini DACs:

https://www.amb.org/audio/gamma1/gallery/y1_8.jpg

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 20, 2020 7:54 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
POC V1.2 is assembled.

Attachment:
File comment: PCB Component Side
v1_2_pcb_top.gif
v1_2_pcb_top.gif [ 1.07 MiB | Viewed 12216 times ]
Attachment:
File comment: PCB Solder Side
v1_2_pcb_bot.gif
v1_2_pcb_bot.gif [ 604.65 KiB | Viewed 12216 times ]

Above are photos of the bare PCB. For some unfathomable reason, I decided to get red boards this time. It wasn't a good idea, as the relatively bright color gave me some grief in trying to place and solder comoponents.


Attachment:
File comment: PCB w/SMT Devices Attached
v1_2_pcb_smt.gif
v1_2_pcb_smt.gif [ 1011.67 KiB | Viewed 12216 times ]

Above, the PCB has the SMT hardware soldered. I mount boards on "legs" to facilitate assembly..


Attachment:
File comment: Close-Up of SRAM
v1_2_pcb_sram.gif
v1_2_pcb_sram.gif [ 339.45 KiB | Viewed 12216 times ]

Above is a close-up of the SRAM, which is an SOJ32 package.


Attachment:
File comment: Close-Up of MAX238
v1_2_pcb_max238.gif
v1_2_pcb_max238.gif [ 311.56 KiB | Viewed 12216 times ]

Above is a close-up of one of the MAX238 transceivers, which is an SOIC24 package.

More photos in the next post.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Thu Feb 20, 2020 8:07 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8390
Location: Midwestern USA
Attachment:
File comment: Assembled Unit
v1_2_assembled01.gif
v1_2_assembled01.gif [ 619.1 KiB | Viewed 12215 times ]

Above is an overall view of POC V1.2. Immediately to the left of the power connector at the unit's top right corner is a reset push button. I got tired of shorting out jumper posts with a screwdriver to reset the unit. :D

Also, note the one chip at the middle of the right-hand side that is socketed. That is the Ø2 clock generator flip-flop. I made it removable so I can test some ideas about clock stretching, which will involve plugging a daughterboard into the socket. This, of course, assumes this thing actually works.


Attachment:
File comment: Assembled Unit Rear View
v1_2_assembled02.gif
v1_2_assembled02.gif [ 356.63 KiB | Viewed 12215 times ]

Above is a rear view of the unit, showing the four serial ports and the power connector.


Attachment:
File comment: ROM ZIF Socket
v1_2_rom_socket.gif
v1_2_rom_socket.gif [ 1.05 MiB | Viewed 12215 times ]

Above is a close-up of the ROM ZIF socket, which plugs into a standard DIP socket soldered into the board.

Next step will be to burn a ROM with some firmware and see if she goes or blows.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 579 posts ]  Go to page Previous  1 ... 19, 20, 21, 22, 23, 24, 25 ... 39  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: