6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 8:14 am

All times are UTC




Post new topic Reply to topic  [ 86 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next
Author Message
PostPosted: Sat Aug 14, 2021 2:33 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
plasmo wrote:
floobydust wrote:

Simple motto... "life's too short to drink cheap wine, ...


Speaking of cheap wines: I make my own wines. Have a small vineyard that produces 50-75 gallons of wines a year. I'll be busily harvesting grapes and making wine in 3 weeks.

I also make my own (cheap) labels by stick a piece of duct tape over the bottle. I'm proud of the cheap labels; my place is known as "Duct Tape Winery".
Bill


Wow...it never ceases to amaze me at what a diverse and talented group of folks out here... us ole guys... we got game! You'll have to post some pics of your wine making!

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 7:45 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
floobydust wrote:
Wow...it never ceases to amaze me at what a diverse and talented group of folks out here... us ole guys... we got game!

Yep! I'm so talented I can talk and belch at the same time. :D

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 14, 2021 6:12 pm 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
BigDumbDinosaur wrote:
Yep! I'm so talented I can talk and belch at the same time. :D

Running two simultaneous data streams from a single I/O port? As long as it's intentional and the intended receiver is able to successfully decode, I think that should definitely qualify as a feature and not a bug.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Last edited by barrym95838 on Tue Aug 24, 2021 8:17 pm, edited 3 times in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Aug 15, 2021 7:51 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
floobydust wrote:
Woo-Hoo! PCBs in shortly then...

Got the ship notice from the board house yesterday. Now it's up to the courier...

Meanwhile, I've been fooling around with the CPLD code. I decided to go ahead and make I/O decoding more granular, which exposes more RAM between the top of the I/O block and the bottom of ROM. This version also has the ability to switch out ROM and expose the RAM underneath it. When ROM is in, a write to a ROM address will bleed through to RAM.

It all simulates as expected...which doesn't guarantee that it will actually work. :shock:

Code:
/*
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
*                                                                                 *
*                 W65C816S PROOF OF CONCEPT SINGLE-BOARD COMPUTER                 *
*                                                                                 *
* =============================================================================== *
*                                                                                 *
*        Copyright (c)2021 by BCS Technology Limited.  All rights reserved.       *
*                                                                                 *
* Permission is hereby granted to use, copy, modify and distribute this software, *
* provided this copyright notice remains unaltered in the source code and  proper *
* attribution is given.  Redistribution, in any form, must be at no charge to the *
* end user.  This code or any part  thereof, including any derivation, MAY NOT be *
* incorporated into any package intended for sale unless written permission to do *
* so has been granted by the copyright holder.                                    *
* ------------------------------------------------------------------------------- *
* THERE IS NO WARRANTY OF ANY KIND WITH THIS SOFTWARE.                            *
*                                                                                 *
* While it is believed that all code will perform as intended,  the user  assumes *
* all risk in connection with the incorporation of this software into any system. *
*                                                                                 *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

* * * * * * * * * *
* VERSION HISTORY *
* * * * * * * * * *

Ver    Rev Date    Revision
--------------------------------------------------------------------------------
0.1.0  2021/06/28  Original version.
--------------------------------------------------------------------------------
*/

Name        logic;
PartNo      C106280001;
Date        2021/06/28;
Revision    0.1.0;
Designer    BDD;
Company     BCS Technology Limited;
Assembly    POC V2.0;
Location    U6;
Device      f1504ispplcc44;

property    atmel {cascade_logic  on       };
property    atmel {err_file       logic.err};
property    atmel {fast_inlatch   on       };
property    atmel {fold           off      };
property    atmel {foldback_logic on       };
property    atmel {logic_doubling off      };
property    atmel {optimize       on       };
property    atmel {output_fast    off      };
property    atmel {pin_keep       off      };
property    atmel {preassign      keep     };
property    atmel {security       off      };
property    atmel {soft_buffer    on       };
property    atmel {xor_synthesis  on       };

/*
==============================================
MACHINE ARCHITECTURE IMPLEMENTED IN THIS LOGIC
==============================================

           +--------------------------+ $01FFFF
           |                          |
           |                          |
           |                          |
           |  Extended RAM  (64 KB)   |
           |                          |
           |                          |
           |                          |
           +--------------------------+ $010000
           |                          |
           |        ROM (12 KB)       |
           |                          |
           +--------------------------+ $00D000
           |                          |
           |     SYSRAM (3.25 KB)     |
           |                          |
           +--------------------------+ $00C300
           |                          |
           |       HMU (0.25 KB)      |
           |                          |
           +--------------------------+ $00C200
           |                          |
           |      IODEV (0.5 KB)      |
           |                          |
           +--------------------------+ $00C000
           |                          |
           |                          |
           |      BASRAM (48 KB)      |
           |                          |
           |                          |
           +--------------------------+ $000000
                1 KB = 1024 bytes

         ---------------------------------
         | I/O MAP (10 bits of decoding) |
         ---------------------------------
              +--------------------+ $00C200
              |                    |
              |      RESERVED      |
              |                    |
              +--------------------+ $00C1C0
              |                    |
              |        XIO6        | Expansion Chip Select
              |                    |
              +--------------------+ $00C180
              |                    |
              |        XIO5        | Expansion Chip Select
              |                    |
              +--------------------+ $00C140
              |                    |
              |        XIO4        | Expansion Chip Select
              |                    |
              +--------------------+ $00C100
              |                    |
              |        XIO3        | Expansion Chip Select
              |                    |
              +--------------------+ $00C0C0
              |                    |
              |        XIO2        | vQUART Channel IRQs
              |                    |
              +--------------------+ $00C080
              |                    |
              |        XIO1        | DUART #2 (channels C & D)
              |                    |
              +--------------------+ $00C040
              |                    |
              |        XIO0        | DUART #1 (channels A & B)
              |                    |
              +--------------------+ $00C000

                            Signal            Type    Function
=============================================================================*/
pin  33                   = A6;            /* input   address line           */
pin  34                   = A7;            /* input   address line           */
pin  21                   = A8;            /* input   address line           */
pin  24                   = A9;            /* input   address line           */
pin  25                   = A10;           /* input   address line           */
pin  26                   = A11;           /* input   address line           */
pin  27                   = A12;           /* input   address line           */
pin  28                   = A13;           /* input   address line           */
pin  29                   = A14;           /* input   address line           */
pin  31                   = A15;           /* input   address line           */
pin   5                   = A16;           /* output  address line           */
pin  39                   = D0;            /* input   unbuffered data line   */
pin  36                   = DB0;           /* input   buffered data line     */
pin  43                   = PHI1;          /* input   system clock (phase 1) */
pin   2                   = PHI2;          /* input   system clock (phase 2) */
pin   6                   = !RAM;          /* output  RAM chip select        */
pin  19                   = !RD;           /* output  read data              */
pin   1                   = RESB;          /* input   system reset           */
pin  18                   = !ROM;          /* output  ROM chip select        */
pin  44                   = RWB;           /* input   MPU read/write         */
pin  41                   = VDA;           /* input   valid data address     */
pin  40                   = VPA;           /* input   valid program address  */
pin  20                   = !WD;           /* output  write data             */
pin   4                   = !WSE;          /* output  clock stretch control  */
pin  [8,9,17,11,12,14,16] = ![XIO0..6];    /* output  I/O chip selects       */


/*
=========================
BURIED LOGIC DECLARATIONS
=========================
*/
pinnode   = extram;                                   /* extended address latch     */
pinnode   = hmu0;                                     /* hardware management latch  */
pinnode   = hmusel;                                   /* 1 = HMU selected           */
pinnode   = iosel;                                    /* 1 = I/O device selected    */
pinnode   = romsel;                                   /* 1 = ROM selected           */
pinnode   = vab;                                      /* 1 = valid address present  */

/*
==================
FIELD DECLARATIONS
==================
*/
field addr     = [A15..A6];                           /* effective address LSW */

/*
==================
INTERMEDIATE LOGIC
==================
*/
hmu0.AR         = !RESB;

extram.LE       = PHI1;
extram.L        = D0;
hmusel          = extram:0 & addr:['h'C20x];
iosel           = extram:0 & addr:['h'C0xx..C1Fx];
romsel          = extram:0 & addr:['h'D0xx..FFxx] & !hmu0 & RWB;
/*
   --- A write to ROM goes to RAM at the same address.
*/
vab             = (VDA # VPA) & RESB;

/*
======
INPUTS
======
*/
hmu0.LE    =  hmusel & !RWB & PHI2 & vab;
hmu0.L     =  hmusel & !RWB & PHI2 & vab & DB0;

/*
=======
OUTPUTS
=======
*/
A16             = extram & RESB;
DB0.OE          = hmusel & RWB & PHI2 & vab;
DB0             = hmusel & RWB & PHI2 & vab & hmu0;
RD              = RWB & PHI2 & vab;
WD              = !RWB & PHI2 & vab;
WSE             = iosel # romsel & vab;
RAM             = !(hmusel # iosel # romsel) & vab;
ROM             = romsel & vab;
XIO0            = iosel & addr:['h'x00x] & vab;
XIO1            = iosel & addr:['h'x04x] & vab;
XIO2            = iosel & addr:['h'x08x] & vab;
XIO3            = iosel & addr:['h'x0Cx] & vab;
XIO4            = iosel & addr:['h'x10x] & vab;
XIO5            = iosel & addr:['h'x14x] & vab;
XIO6            = iosel & addr:['h'x18x] & vab;
/*
   --- $00C1C0 - $00C1FF reserved for future expansion.
*/

/* * * * *   E N D   O F   F I L E   * * * * */

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 12:06 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Nice... my last order of some odd parts came from China... they made it over in about a week. It was also free shipping on a couple interface PCBs (one tiny connector on it) and some FPC cables. Oddly, the package had USPS shipping from Illinois. In any case, hope they get here sooner.

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 3:28 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
floobydust wrote:
Nice... my last order of some odd parts came from China... they made it over in about a week. It was also free shipping on a couple interface PCBs (one tiny connector on it) and some FPC cables. Oddly, the package had USPS shipping from Illinois. In any case, hope they get here sooner.

The PCB order is coming in two shipments. The stencil was shipped separately from the PCBs, probably because stencils are relatively fragile and thus require different packaging.

As for the USPS thing, that's not uncommon with overseas shipments. The courier may not have the facilities for local handling your area. International shipments that travel by air will arrive at the nearest major airport for customs clearance—in your case, it sounds as though it was O'Hare in Chicago. The courier will then turn the shipment over to the postal service to cover the domestic part of handling the package. Given the labor problems that USPS has, that part of the process is probably the riskiest. :roll:

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 5:51 pm 
Offline

Joined: Sat Jan 02, 2016 10:22 am
Posts: 197
Has something changed in the clocking ?

The schematic has PHI1 to PIN 2 and PHI2 on PIN 43
Attachment:
File comment: Schematic snip
Screenshot 2021-08-16 184558.jpg
Screenshot 2021-08-16 184558.jpg [ 23.92 KiB | Viewed 1182 times ]

The CUPL seems to have them the other way around:
Code:
pin  43                   = PHI1;          /* input   system clock (phase 1) */
pin   2                   = PHI2;          /* input   system clock (phase 2) */


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 16, 2021 8:05 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
Martin A wrote:
Has something changed in the clocking ?

The schematic has PHI1 to PIN 2 and PHI2 on PIN 43

The CUPL seems to have them the other way around:
Code:
pin  43                   = PHI1;          /* input   system clock (phase 1) */
pin   2                   = PHI2;          /* input   system clock (phase 2) */

You, sir, are commended for your powers of observation. :D :D :D

I changed that around after I had posted the schematic and board layout. The CUPL code is correct.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 21, 2021 5:39 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
Well, I received the stencil, but no sign of the PCBs. They were supposed to show up Friday.

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


Top
 Profile  
Reply with quote  
PostPosted: Sat Aug 21, 2021 8:29 pm 
Offline

Joined: Sat Jan 02, 2016 10:22 am
Posts: 197
BigDumbDinosaur wrote:

You, sir, are commended for your powers of observation. :D :D :D

Well..... I have a reason for following along the design closely:
Attachment:
File comment: POC2 and a bit
board under test.jpg
board under test.jpg [ 129.15 KiB | Viewed 1112 times ]

The lower 2/3 of the board is basically the POC2, the upper third has all the I/O from a recent Z180 build. Left to right Wiz810s Ethernet header, 82C55 & IDE header, 2 chip VGA Video solution, and dumb keyboard port.

Ive been looking at building a 65816 board with BBC basic for a while, your clock stretching circuit solved the problem of limiting the speed to that of the slowest I/O components, the Z180 didn't have that problem as it has a build in wait state generator. The big advantage the 65816 has over the Z180, is no MMU to deal with and no restricted 64k visible at any one time memory.

The I/O from the Z180 build needs 4 I/O selects that also fits within the POC2 7 device memory map. So basically with the CPU, clock stretching, 128k ram and CPLD memory mapper, I had 70% of a POC2 anyway so I added provision for the serial connections.

There are differences of course, to make all 128k ram visible as well as 128k rom a 4 bank memory map is defined, and of course the video ram has its place in the memory map. However, in theory, if the memory mapping CPLD code were tweaked and the serial components fitted it ought to be compatible, if slower.

HC and HCT parts and a 70ns flash for rom limit it to 10mhz at the moment for developoing the basic I/O drivers. The 24mhz oscillator was a step to far without extending the wait stating to the rom.


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 30, 2021 5:14 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
BigDumbDinosaur wrote:
Well, I received the stencil, but no sign of the PCBs. They were supposed to show up Friday.

The PCBs arrived on Monday, and as I was preparing to get the SMT stuff soldered in place, I discovered a major boo-boo in the layout. :oops: The board is electrically correct but the footprint I used for the 'AC245 transceiver was wrong. It has the right number of lands but is the wrong package width. Below is the incorrect PCB layout. The mistake is with U4, which is located at the southwest corner of the 65C816 socket.

Attachment:
File comment: V2.0 PCB w/Wrong Component Footprint
pcb_wrong.gif
pcb_wrong.gif [ 95.95 KiB | Viewed 1071 times ]

I thought it might be possible to scab the transceiver in place by reforming the leads, but that won't fly due to the part being too wide relative to the layout footprint, as well as being jammed up close to the 65C816's socket.

Having discovered this little contretemps, my only recourse was to fix the board layout and place another order with JLCPCB. Below is the repaired layout. Since I was forced to a do-over, I made some other layout changes as well. Let's see if any of you who read this can spot those changes.

Attachment:
File comment: V2.0 PCB w/Right Component Footprint
pcb_right.gif
pcb_right.gif [ 96.9 KiB | Viewed 1071 times ]

Supposedly, I'll have the new PCBs and stencil on Thursday. It really tees me off when I make a boneheaded blunder like that. :evil:

Oh, what the hell: it's only money! :twisted:

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 30, 2021 5:43 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8544
Location: Southern California
Would the '245 fit if you were to J-lead it? Hopefully the leads would not break in the effort. I know there was some kind of tool to do a good job of it very quickly, but I've never seen one.

I know you said you already ordered the revised board though.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 30, 2021 6:51 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
GARTHWILSON wrote:
Would the '245 fit if you were to J-lead it? Hopefully the leads would not break in the effort. I know there was some kind of tool to do a good job of it very quickly, but I've never seen one.

I know you said you already ordered the revised board though.

There's just too much of a difference between the part's width and the footprint's width to make that practical. The amount the pins would have to be reformed to land on the lands would leave almost no pin surface exposed for soldering. I had unpleasant visions of a DOA unit due to a soldering issue. That's what prompted me to fix the layout, bite the bullet and order new boards.

Of course, the stencil I got with the bad boards is useless as well. I ordered a new stencil to go with the new boards so I can try my hand at reflowing a second unit once the prototype has been built and made functional.

This is the first board layout that I have goofed up in over 10 years. Maybe old age is to blame. :D

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 30, 2021 9:03 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Ouch! That hurts.... more fancy coasters for the workshop it seems.

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


Top
 Profile  
Reply with quote  
PostPosted: Mon Aug 30, 2021 11:02 am 
Offline

Joined: Sun Jul 11, 2021 9:12 am
Posts: 155
Gotta post pics of the boards anyway though! Can’t leave us hanging. 8)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 86 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 24 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:  
cron