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

All times are UTC




Post new topic Reply to topic  [ 8 posts ] 
Author Message
 Post subject: New 65816 SBC
PostPosted: Sat Oct 07, 2017 7:08 pm 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
I have had this idea rattling around in my head for a 65816 SBC for some time now – and I had some free time, so I put form to that thought. The design is pretty straight forward, and leverages the ECB bus and is compatible with the IO boards from the Retrobrew Computers (formerly N8VEM) project. I have a monitor running in "emulation" mode and am working on creating a native mode monitor now. I also have the code running to control the 8272 based floppy controller card.

The system has 512K RAM and 32K ROM as well as a real time clock on board.

as it stands the memory map is:

000000 - 007FFF On Board RAM
008000 - 00FDFF On Board RAM or ROM - ROM can be software selectable to 32K or a choice of a 8 or 16K bank - bank size selectable in GAL equations
00FE00 - 00FE06 16550 UART
00FE07 - FE07 RTC & ROM SIZE SELECTION FLAG
00FE08 - 00FEFF Mapped to Z80 ports for ECB bus boards (IO)
00FF00 - 00FFFF BIOS and Hardware Vectors
00FF00 - 00FF70 Native mode jump table
00FF71 - 00FFEF Emulation Mode jump table
00FFF0 - 00FFFF Hardware Vectors
010000 - 07FFFF On Board RAM
080000 - FFFFFF Open to ECB Bus

more information including schematics can be found here:
https://www.retrobrewcomputers.org/doku ... 16_ecb_sbc


I have a few extra SBCs from the manufacturing run, so if anyone is interested in building one of these -- they are listed for sale on the Retrobrew computers "board inventory" page here:

https://www.retrobrewcomputers.org/doku ... dinventory

_________________
Dan Werner


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Sat Oct 07, 2017 7:26 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
You might find Supermon 816 useful, as it runs on the '816 in native mode.

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


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Sat Oct 07, 2017 7:46 pm 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Thanks, will check it out!

Dan

_________________
Dan Werner


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Sun Oct 08, 2017 3:08 am 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Supermon 816 is exactly what I was looking for, so I abandoned my monitor and decided to use Supermon.

I successfully got it to assemble using the WDC assembler (I want to keep all of my work in the same tools, to keep my sanity :D ), and everything checks out -- except reverse copies. forward works, but reverse does not.

example
T 7000 7010 5000 <- works OK
T 7000 7010 7060 <- returns to prompt OK, but fails to copy anyhting

The code is pretty simple, and as far as I can tell it assembled properly (from what I can tell the WDC toolset is picky, so proper assembly is not always to be taken for granted)

I am going to keep looking, but I was wondering if there were any known bugs in this area?

Dan

_________________
Dan Werner


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Sun Oct 08, 2017 3:14 am 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
danwerner wrote:
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Supermon 816 is exactly what I was looking for, so I abandoned my monitor and decided to use Supermon.

I successfully got it to assemble using the WDC assembler (I want to keep all of my work in the same tools, to keep my sanity :D ), and everything checks out -- except reverse copies. forward works, but reverse does not.

example
T 7000 7010 5000 <- works OK
T 7000 7010 7060 <- returns to prompt OK, but fails to copy anyhting

The code is pretty simple, and as far as I can tell it assembled properly (from what I can tell the WDC toolset is picky, so proper assembly is not always to be taken for granted)

I am going to keep looking, but I was wondering if there were any known bugs in this area?

Dan



nevermind, I found the problem -- duh . . .
Code:
 000000C0   opc_cpyi .equ $c0                  ;CPY # opcode
 000000A2   opc_ldxi .equ $a2                  ;LDX # opcode
 000000A0   opc_ldyi .equ $a0                  ;LDY # opcode
 00000054   opc_mvn  .equ $54                  ;MVN opcode
 0000002C   opc_mvp  .equ 44                  ;MVP opcode
 000000C2   opc_rep  .equ $c2                  ;REP opcode
 000000E2   opc_sep  .equ $e2                  ;SEP opcode

_________________
Dan Werner


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Sun Oct 08, 2017 4:05 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8507
Location: Midwestern USA
danwerner wrote:
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Supermon 816 is exactly what I was looking for, so I abandoned my monitor and decided to use Supermon.

I successfully got it to assemble using the WDC assembler (I want to keep all of my work in the same tools, to keep my sanity :D ), and everything checks out -- except reverse copies. forward works, but reverse does not.

example
T 7000 7010 5000 <- works OK
T 7000 7010 7060 <- returns to prompt OK, but fails to copy anyhting

The code is pretty simple, and as far as I can tell it assembled properly (from what I can tell the WDC toolset is picky, so proper assembly is not always to be taken for granted)

I am going to keep looking, but I was wondering if there were any known bugs in this area?

nevermind, I found the problem -- duh . . .
Code:
 000000C0   opc_cpyi .equ $c0                  ;CPY # opcode
 000000A2   opc_ldxi .equ $a2                  ;LDX # opcode
 000000A0   opc_ldyi .equ $a0                  ;LDY # opcode
 00000054   opc_mvn  .equ $54                  ;MVN opcode
 0000002C   opc_mvp  .equ 44                  ;MVP opcode   <----------------
 000000C2   opc_rep  .equ $c2                  ;REP opcode
 000000E2   opc_sep  .equ $e2                  ;SEP opcode

Dan

Amazing what a missing dollar sign can do. :D

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


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Tue Oct 10, 2017 12:03 pm 
Offline
User avatar

Joined: Tue Aug 14, 2012 12:47 pm
Posts: 18
Location: Austria - Vienna
danwerner wrote:
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Thanks, will check it out!

Maybe you will find Jammon (Jamaica Monitor) also useful. Despite it's old, it works nicely at least for my environment. I translated it to the ACME assembler syntax for better integration into my project, which is based on C64 SuperCPU for testing and a 16-bit C64 expansion board (c't magazine, 1987) (sorry, currently just german docs available) on real hardware. In addition to the embedding glue code needed I fixed a minor bug concerning disassembling in alternate display mode and how the cpu flags are handled.
Details on request. ;)


Top
 Profile  
Reply with quote  
 Post subject: Re: New 65816 SBC
PostPosted: Thu Oct 12, 2017 2:34 am 
Offline

Joined: Sun Jan 23, 2011 5:25 pm
Posts: 19
JeeK wrote:
danwerner wrote:
BigDumbDinosaur wrote:
You might find Supermon 816 useful, as it runs on the '816 in native mode.


Thanks, will check it out!

Maybe you will find Jammon (Jamaica Monitor) also useful. Despite it's old, it works nicely at least for my environment. I translated it to the ACME assembler syntax for better integration into my project, which is based on C64 SuperCPU for testing and a 16-bit C64 expansion board (c't magazine, 1987) (sorry, currently just german docs available) on real hardware. In addition to the embedding glue code needed I fixed a minor bug concerning disassembling in alternate display mode and how the cpu flags are handled.
Details on request. ;)



I will check it out, thanks!

Dan

_________________
Dan Werner


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC


Who is online

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