View unanswered posts | View active topics It is currently Sun Aug 18, 2019 9:21 am



Reply to topic  [ 23 posts ]  Go to page Previous  1, 2
 SC/MP 
Author Message

Joined: Sun Aug 04, 2013 9:02 pm
Posts: 23
The 6800 has some strange features (compared to the 6502). The rotate instructions set the overflow flag weirdly (V = N ^ C). And my personal favourite, store instructions (STA, STX & STS) affect the N, Z and V flags.

I may have some alpha boards available after Xmas for testing. Possibly without the USB serial chip and a PL2303 adapter to start.


Sat Dec 20, 2014 1:00 am
Profile

Joined: Sun Aug 04, 2013 9:02 pm
Posts: 23
My boards arrived and I've soldered up the first one. The silk screen pattern for the power regulators is the wrong way round and when I tested the power I found that the red LED I used has its flat edge and anode/cathode wires reversed from normal so I had to unsolder and flip it round.
Attachment:
DSCN1867.JPG
DSCN1867.JPG [ 1.99 MiB | Viewed 5185 times ]

I'll put the main processor in tomorrow and try out the switches and flag LEDs.


Tue Dec 23, 2014 11:53 pm
Profile

Joined: Tue Dec 31, 2013 2:01 am
Posts: 100
Location: Sacramento, CA, United States
BitWise wrote:
The 6800 has some strange features (compared to the 6502). The rotate instructions set the overflow flag weirdly (V = N ^ C). And my personal favourite, store instructions (STA, STX & STS) affect the N, Z and V flags.

I may have some alpha boards available after Xmas for testing. Possibly without the USB serial chip and a PL2303 adapter to start.


IMO, no other processor with which I'm familiar has "better" flag-setting behavior than the 6502, so I agree that the 6800 is a bit strange and annoying. Another one that bit me badly was the odd behaviors of the TSX and TXS instructions, which increment or decrement by one during the transfer. The 65xx and 6809 don't do this, and it's not particularly well-documented in the literature I had on-hand, so I wasted more time and curse-words discovering that 'feature' than any other.

Mike


Sat Dec 27, 2014 4:29 pm
Profile

Joined: Sun Aug 04, 2013 9:02 pm
Posts: 23
This project is still on going. The current status is:

The 16F1455 with USB CDC code is now functioning. No more PL2303 serial connections.

The number of emulations on board is now 8. You have the choice of:

1. SC/MP with 44K RAM and 20K ROM - Fully working with NIBL
2. CDP1802 with 44K RAM (Not boot ROM yet)
3. 6800 with 32K+12K RAM and 8K ROM (FLEX layout)
4. 6502 with 32K RAM + 32K ROM (16K Banked at $8000 for BASIC/FORTH/LISP ROMS- BBC layout)
5. 65C02 with 44K RAM + 20K ROM
6. 6809 with 32K+12K RAM and 8K ROM (FLEX layout) - Part Coded
7. 8080 with 44K RAM +4K ROM- Part Coded
8. Z80 with 44K RAM +4K ROM - Part Coded

Due to a design slip I have bit-bashed SPI currently on standard Arduino pins (for SD card access)

The card is compatible with my VT220 terminal shield

Currently running a with a cycle rate of 1Mhz but 2Mhz should be possible with all the emulations.

All the emulations are coded to be cycle exact for standard instructions and addressing modes. Added host access pseudo instructions are not.

The board design has been updated to allow 3 jumpers to allow any of the emulations to be picked as default (on the prototype boards you will hold a button on reset to enter a boot mode selector) and allow hardware SPI. The new board exposes more pins for EF inputs in CDP mode.

6800 and SC/MP modes have been added to my portable assembler and a 1802 mode is in flight. 8080 was added a couple of years ago. Only Z80 and 6809 to go.

I'd like to put a CP/M BIOS into a 4K ROM for the 8080/Z80 modes. If I could get CP/M 2.2 into ROM as well that would free up more RAM for the transcient program area.

The 6800 should be able to run the FLEX operating with a bit of persuading and it would be nice to have FLEX2 on the 6809.

I have a stock of small 128/256MB micro SD cards that would make nice virtual drives. I'm considering having a very simple non-standard partition table that just cuts them into floppy and small hard disk sizes.


Thu Feb 05, 2015 10:26 am
Profile

Joined: Sun Aug 04, 2013 9:02 pm
Posts: 23
I managed to boot BBC BASIC in the 6502 emulator last night after stripping down my old Acorn MOS emulation and making it match the new emulation environment. Found some really dumb bugs in the implementation of the branches that inverted their operation. Needs a bit more work to implement the bank switching for the ROM images.


Thu Feb 12, 2015 10:12 pm
Profile

Joined: Wed Jan 09, 2013 6:54 pm
Posts: 1225
A milestone!


Thu Feb 12, 2015 10:15 pm
Profile

Joined: Sun Aug 04, 2013 9:02 pm
Posts: 23
BigEd wrote:
A milestone!

Its getting there.

The SC/MP is fully functional.
The 6502 is close to working.
The 6800 prints a message from its boot ROM so some of that emulation must work - needs more code to do something useful.
The 1802 is coded but is waiting for me to add the device to my assembler then I can port the 1802 CamelForth and test it.
The 65C02 is coded but needs a boot ROM.
The 8080, Z80 and 6809 are part coded.


Thu Feb 12, 2015 10:23 pm
Profile

Joined: Tue Dec 31, 2013 2:01 am
Posts: 100
Location: Sacramento, CA, United States
BitWise wrote:
... The 6800 prints a message from its boot ROM so some of that emulation must work - needs more code to do something useful ...


Maybe you could try my SWTPC translation of VTL-2:

viewtopic.php?f=8&t=110

It expects only the following three hooks, and RAM from $0000 to $7fff. It uses $0000 to $0107 (for variables, system stack, and input buffer), and is assembled to reside at $7d00. Everything in between belongs to the VTL-2 programmer.

Code:
;mikbug-specific equates
piad     =    $8004     ; to detect user keypress for pause function
ineee    =    $e1ac     ; to receive a user keypress
outeee   =    $e1d1     ; to output an ASCII char
;         


I can PM you my source, or re-assemble it to match your environment ... just let me know.

Mike B.


Fri Feb 13, 2015 2:05 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 23 posts ]  Go to page Previous  1, 2

Who is online

Users browsing this forum: No registered users and 1 guest


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
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software