6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 21, 2024 10:49 pm

All times are UTC




Post new topic Reply to topic  [ 126 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next
Author Message
PostPosted: Fri Mar 10, 2023 8:34 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
A0CBM wrote:
I am curious...


Hi A0CBM do you have a more confident understanding now?


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 11, 2023 1:09 am 
Offline

Joined: Wed Nov 04, 2015 11:10 am
Posts: 51
The Series sure helped.


Top
 Profile  
Reply with quote  
PostPosted: Sat Mar 11, 2023 1:01 pm 
Offline

Joined: Wed Nov 04, 2015 11:10 am
Posts: 51
Will there be a tutorial on how to set up my Macbook Pro with Apple hardware. It looks like PALAsm is being used to program a number of devices. I'm new with my Macbook Pro and need help in this area.

...And thanks so much for putting out this Youtube series.


Top
 Profile  
Reply with quote  
PostPosted: Thu Apr 27, 2023 8:26 pm 
Offline

Joined: Thu Apr 27, 2023 8:24 pm
Posts: 1
will there be new updates to the series ?


Top
 Profile  
Reply with quote  
PostPosted: Mon May 08, 2023 1:29 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
Hi everyone! I'm back after a few months of break.

I just published an update to the channel https://youtu.be/q37AN7B6SzQ.
The TL;DW is:

- I will resume work on this series with the aim of getting to a completed PCB.
- My short term goals are:
  • finish interrupt-based serial comms
  • implement u/BigDumbDinosaur's Supermon816
  • replace my Teensy in-circuit programmer by I2C-to-GPIO ICs, using the I2C interface in my USB IC
  • design a proper expansion bus
- I've decided to name the computer BB816 (pronounced be-be-eight-sixteen)

Glad to be back and eager to make progress on this :-)

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Mon May 08, 2023 3:08 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Sounds great - welcome back!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 12:30 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
Haven't had much energy for editing these days unfortunately, I still want to complete the current project, but I'm not so sure about keeping up with making videos. I have this self imposed requirement to not do anything with these breadboards unless it is on video, to prevent continuity problems, but it has been a bit frustrating.

So, at the moment, I'm having some fun working with CPLDs and building new ideas there. Naturally, I'm thinking about a new computer based on what I learned from the current project. :mrgreen:

Here are the highlights of what I'm thinking about:
- 14MHz 65C816, PLCC or SMD ICs, only new and available parts
- Single cable operation from my computer (power supply, interacting through serial console, programming the CPLD, programming the EEPROM, accessing any device on the bus)
- 65C816 CPU
- 1M of RAM, 512k of ROM (copied to RAM at boot)
- FTDI FT4232H to provide 2 USB-to-UART interfaces, 1 USB-to-SPI interface and 1 USB-to-JTAG interface
- ATF1508 glue logic, programmed through FTDI chip (no external programmer needed)
- Dual-channel UART based on the 16C550C (eg 16C552). One channel for the main program, one channel for machine language monitor. Fast, FIFOs and Auto Hardware Flow Control
- MC23S17 SPI-to-GPIO to provide full control of the bus and control signals through USB, including single stepping the clock, breakpoints and tracing execution, programming the EEPROM and reading/writing I/O devices
- For I/O, a VIA and an RTC, keeping it simple
- And finally, an expansion bus based on PCIe x16 connectors, with 5V/3V3 selectable logic levels to be compatible with FPGAs (future video/sound project). All signals and busses exposed.

Here is a diagram
Code:
                                                                                                                           
                                                                                    D0-7 A0-23   CTRL                     
                                                                                      ┃     ┃     ┃                       
                                                              ┌───────────────┐       ┃     ┃     ┃       ┌───────────────┐
                                                              │   MCP23S17    │◀─────▶┃     ┃     ┃       │   512k ROM    │
                                           ┌─────────────────▶│               │◀──────╋────▶┃     ┃       │               │
                                           │                  │  SPI-to-GPIO  │◀──────╋─────╋────▶┃       │mirrored to RAM│
                                           │                  └───────────────┘       ┃     ┃     ┃       └───────────────┘
                                           │                                          ┃     ┃     ┃                       
                           ┌────SPI────────┘                                          ┃     ┃     ┃                       
                           │                                  ┌───────────────┐       ┃     ┃     ┃       ┌───────────────┐
                           │                                  │               │◀──────╋─────╋────▶┃       │               │
                           │                     ┌───────────▶│ ATF1508 CPLD  │       ┃     ┃     ┃       │    1M SRAM    │
                           │                     │            │               │◀──────╋────▶┃     ┃       │               │
                           │        ┌──────JTAG──┘            └───────────────┘       ┃     ┃     ┃       └───────────────┘
                           │        │                                                 ┃     ┃     ┃                       
                           │        │                                                 ┃     ┃     ┃                       
┌───────────────┐      ┌───────────────┐                      ┌───────────────┐       ┃     ┃     ┃       ┌───────────────┐
│               │      │               │◀─────UART Program───▶│   2ch UARTT   │       ┃     ┃     ┃◀─────▶│               │
│USB (Computer) │─────▶│  FT4232H 4ch  │                      │               │       ┃     ◀─────╋──────▶│  65C816 CPU   │
│               │      │               │◀─────UART Monitor───▶│   TL16C552    │       ┃◀────╋─────╋──────▶│               │
└───────────────┘      └───────────────┘                      └───────────────┘       ┃     ┃     ┃       └───────────────┘
                                                                                      ┃     ┃     ┃                       
                                                                                      ┃     ┃     ┃                       
                                                              ┌───────────────┐       ┃     ┃     ┃       ┌───────────────┐
                                                              │               │       ┃     ┃     ┃       │               │
                                                              │   65C22 VIA   │       ┃     ┃     ┃       │      RTC      │
                                                              │               │       ┃     ┃     ┃       │               │
                                                              └───────────────┘       ┃     ┃     ┃       └───────────────┘
                                                                                      ▼     ▼     ▼                       
                                                                                                                           
                                                                              ┌────────────────────────────┐               
                                                                              │    To Expansion Bus...     │               
                                                                              │                            │               
                                                                              │     PCIe x16 Connector     │               
                                                                              │     Selectable 5V/3V3      │               
                                                                              │       (74LVC16T245)        │               
                                                                              └────────────────────────────┘               


It's still quite a bit early in the design phase, but I've started on some of the building blocks of the hardware. My passion lies with building circuits so writing a complete OS for all of this might not happen. Still, I think it is a pretty neat design, especially the focus on single cable integration with the computer for iterating on code and logic.

Feedback welcome!

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 1:18 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
akohlbecker wrote:
It's still quite a bit early in the design phase, but I've started on some of the building blocks of the hardware. My passion lies with building circuits so writing a complete OS for all of this might not happen. Still, I think it is a pretty neat design, especially the focus on single cable integration with the computer for iterating on code and logic.

Feedback welcome!


It could run my BCPL OS ...

To make that work it would need an underlying OS which is vaguely Acorn compatible.

The crux is a filing system. Right now it's FAT32 running on the ATmega on my Ruby board (SPI SD card) - in your system? could be emulated via a serial line to the host PC...

Food for thought, anyway...

-Gordon

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 3:24 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1117
Location: Albuquerque NM USA
Since W65C02 and W65C816 have very similar pinout and you are using CPLD, you can support both CPU with one board design.
You can put a small bootstrap ROM in CPLD to boot and load from serial port so you really don’t need ROM.
In fact with ATF1508 having internal serial port, I would argue VIA and 16C550 are not necessary so your design simplified to RAM, CPLD, and 6502/65816.
Assuming it is just RAM, CPLD, and 65xxx, it can be overclocked easily to 30Mhz.
I think a series of videos about that may be popular.
Bill
PS, add a dual port RAM, then you can have VGA and keyboard with just 4 chips.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 5:54 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
drogon wrote:
akohlbecker wrote:
It's still quite a bit early in the design phase, but I've started on some of the building blocks of the hardware. My passion lies with building circuits so writing a complete OS for all of this might not happen. Still, I think it is a pretty neat design, especially the focus on single cable integration with the computer for iterating on code and logic.

Feedback welcome!


It could run my BCPL OS ...

To make that work it would need an underlying OS which is vaguely Acorn compatible.

The crux is a filing system. Right now it's FAT32 running on the ATmega on my Ruby board (SPI SD card) - in your system? could be emulated via a serial line to the host PC...

Food for thought, anyway...

-Gordon


Interesting idea, of trying to make it compatible with an existing OS. I must admit I'm not familiar with BCPL, do you have a link I could look at?

plasmo wrote:
Since W65C02 and W65C816 have very similar pinout and you are using CPLD, you can support both CPU with one board design.
You can put a small bootstrap ROM in CPLD to boot and load from serial port so you really don’t need ROM.
In fact with ATF1508 having internal serial port, I would argue VIA and 16C550 are not necessary so your design simplified to RAM, CPLD, and 6502/65816.
Assuming it is just RAM, CPLD, and 65xxx, it can be overclocked easily to 30Mhz.
I think a series of videos about that may be popular.
Bill
PS, add a dual port RAM, then you can have VGA and keyboard with just 4 chips.


Appreciate the feedback and suggestions!

You know, I've been prototyping things in WinCUPL, and I think my 1508 is already strapped for pins. I've been considering replacing the MC23S17s with logic inside the 1508 and that gets me over the line at the moment - because it then needs to pull in all the status bits, plus data bus bits, etc. I also like that the 16C550 family ICs have FIFOs and auto hardware flow control, allowing me to slow down the CPU clock easily without loosing any serial data.

We'll see how it goes!

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 8:56 pm 
Offline
User avatar

Joined: Wed Feb 14, 2018 2:33 pm
Posts: 1488
Location: Scotland
akohlbecker wrote:
Interesting idea, of trying to make it compatible with an existing OS. I must admit I'm not familiar with BCPL, do you have a link I could look at?


BCPL is the fore-runner to C.

Everything about it is here: https://www.cl.cam.ac.uk/~mr10/

The compiler outputs a bytecode (Called CINTCODE - Compact INTermediate CODE) and that's then interpreted on the target hardware. My cintcode vm is 16KB is size. The OS behind that is about 10KB of 6502 code. (Plus the ATmega side). I can run the compiler directly on my board which has 512KB of RAM.

-Gordon

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


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 07, 2023 10:52 pm 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1117
Location: Albuquerque NM USA
akohlbecker wrote:

You know, I've been prototyping things in WinCUPL, and I think my 1508 is already strapped for pins. I've been considering replacing the MC23S17s with logic inside the 1508 and that gets me over the line at the moment - because it then needs to pull in all the status bits, plus data bus bits, etc. I also like that the 16C550 family ICs have FIFOs and auto hardware flow control, allowing me to slow down the CPU clock easily without loosing any serial data.

We'll see how it goes!

CPLD’s resource is limited so you need to decide what features and how much functionalities to implement with that limited resource. With CPLD, it is like putting together a family dinner with $20 budget — you may need to get cheaper cuts or make a dish from basic ingredients or smaller portion or forget about wine. Yes, FPGA is like a $200 budget that can provide everything without limitation, but we have already chosen the world of retro computer with slow 8-bit CPU and limited 64K memory so our challenge is about doing more with less. Fortunately CPLD is programmable so you can try many different mixes of functions and features.

Welcome to the world of CPLD. I like your CPLD prototype boards for solderless breadboard, viewtopic.php?f=4&t=7631#p100968 I think it is a great start for the exploration of CPLD.
Bill

Edit, this is a particular mixture of functions and features possible with ATF1508-like CPLD: Z80all is a 4-chip + CF standalone Z80 SBC with text VGA and PS2 keyboard. https://www.retrobrewcomputers.org/doku ... 0allr1quad


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 08, 2023 7:01 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
drogon wrote:
BCPL is the fore-runner to C.

Everything about it is here: https://www.cl.cam.ac.uk/~mr10/
[...]
I can run the compiler directly on my board which has 512KB of RAM.

This is an excellent goal, I think, to have a high level language which can compile on the machine itself. It may well need a large RAM, and so the '816 is a good fit, and it's a great showcase of an '816 system. Well done!

It would be great to see BCPL featuring in some other '816 projects - like BB816 for example!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jul 14, 2023 9:14 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
drogon wrote:
akohlbecker wrote:
Interesting idea, of trying to make it compatible with an existing OS. I must admit I'm not familiar with BCPL, do you have a link I could look at?


BCPL is the fore-runner to C.

Everything about it is here: https://www.cl.cam.ac.uk/~mr10/

The compiler outputs a bytecode (Called CINTCODE - Compact INTermediate CODE) and that's then interpreted on the target hardware. My cintcode vm is 16KB is size. The OS behind that is about 10KB of 6502 code. (Plus the ATmega side). I can run the compiler directly on my board which has 512KB of RAM.

-Gordon


I will look at this in more detail, thanks!

plasmo wrote:
Welcome to the world of CPLD. I like your CPLD prototype boards for solderless breadboard, viewtopic.php?f=4&t=7631#p100968 I think it is a great start for the exploration of CPLD.


Thank you, appreciate the feedback.

plasmo wrote:
Edit, this is a particular mixture of functions and features possible with ATF1508-like CPLD: Z80all is a 4-chip + CF standalone Z80 SBC with text VGA and PS2 keyboard. https://www.retrobrewcomputers.org/doku ... 0allr1quad


Impressive work fitting all of this into 4 chips :-)

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
PostPosted: Fri Aug 11, 2023 2:18 pm 
Offline
User avatar

Joined: Sat Jul 24, 2021 1:37 pm
Posts: 282
Next episode in the series is up, talking about interrupts, a bit of theory overview, and implementing handlers and a jump table in my kernel https://youtu.be/jxoe_QPqOJc. It also showcases how I use my Teensy as a debugger with setting breakpoints and tracing execution, as I do some live coding and troubleshooting. Hopefully someone finds this interesting! :-)

_________________
BB816 Computer YouTube series


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 126 posts ]  Go to page Previous  1 ... 5, 6, 7, 8, 9  Next

All times are UTC


Who is online

Users browsing this forum: pdragon and 40 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: