Topic: Core started

I had a chat to Mike Stirling several years and got permission to use his BBC B code.
To test the release candidate framework, I thought I'd port it now.

The VIA, sound and CPU are from here anyhow, and the Replay libs provide a nice wrapper for the IO, so it's not a big job.

I've picked up the 6845 CRT controller and the SAA5050 teletext chip so far, and wrapped Mike's top level to my core wrapper.

One nice thing is the disk interface used the WD177x chip which is also used in the Atari ST. I have code for this, including the data separator. I can probably use the complete SCP code from the Amiga driver.

Will keep you posted..
/MikeJ

Re: Core started

There are tools to generate floppy images, e.g. here:
http://www.stairwaytohell.com/bbc/index … diskimages

So most content is available formats generated by this tools, would be useful to support it.

/WoS

3 (edited by WoS 2015-02-27 06:57:41)

Re: Core started

There are tools to generate floppy images, e.g. here:
http://www.stairwaytohell.com/essential … e=homepage

So most content is available formats generated by this tools (called .ssd or .dsd), would be useful to support these to gain acceptance.

/WoS

4 (edited by JimDrew 2015-02-27 15:48:43)

Re: Core started

The HxC Floppy Drive Emulator software (free) will convert to/from .scp image files and *.SSD, *.DSD, and *.ADL images that are commonly used with BBC emulations for the PC, Mac, and Linux.

Since it's a WD177x chip, that's a no-brainer and once you make the FPGA code to emulate it you will be able to use the .scp images just like we can with the Amiga core.  That will of course work with an Atari ST/TT/Falcon core, TRS-80, CP/M, and any other of the odd computers that used the a Western Digital (or clones) FDC.

5 (edited by WoS 2015-02-27 17:50:01)

Re: Core started

1) I'd like to have a format supporting write as well - even on the Replay (e.g. I also do some development stuff directly on the c64 and write files using d64, and it is also required for highscore/game state/... saving, same with ADF on Amiga,...).

2) Yes, conversion as an first setup it is totally fine, but in general converting files fourth and back is also quite a p* in the * - especially when we talk about more than just a few files. And I understood such workarounds are not accepable for the masses (like I did with CRT at the beginning to convert to own INI loaders for the C64 just for development, I felt no one was interested for a general approach - now initial CRT support is just in and people just can load some of them already)...

I am quite sure I am not alone with this.


About what you said or assume. Here is a list of most famous BBC emulators - if I look at the feature list you can find ssd, double side ssd, but no scp...   http://www.bbcmicrogames.com/links.html    I am sure you can post here some other links supporting what you said. Right?  wink

/WoS

6 (edited by JimDrew 2015-02-27 18:10:46)

Re: Core started

Yes, I can do that.  There are several stand alone programs now written to use the SCP hardware to generate image files and/or convert image files for BBC, Amstrad CPC, Atari ST, and other computer systems.  The image format and hardware support by 3rd parties has really caught on.

The HxC Floppy Emulator Software has a batch conversion option, so you can convert to/from .scp image files to ALL of the various formats it supports (including BBC).   I believe that SamDisk also supports BBC, since BBC disks are just standard IBM 3740 format (like PC disks).  For the Amiga emulators, people are just using the .scp image files directly (no conversion required), which gives you the exact same data as a real floppy drive.  For other emulators that don't yet support .scp image format yet, you have to convert to whatever native format the emulator can understand and right now there is basically the ability to cover all computer systems using .scp image files.  I have around 10,000 or so image files now for many different computer systems, including: Amiga, Atari ST, C64/128, IBM PC, BBC, CP/M, Amstrad CPC, TRS-80, Apple II, Apple Mac, TI-99/4A, Atari 400/800, etc.  In fact, this list from the HxC Floppy Emulator contains some (not all) of the disk formats that SuperCard Pro has successfully imaged:  http://hxc2001.com/download/floppy_driv … upport.htm

7 (edited by WoS 2015-02-27 20:27:34)

Re: Core started

JimDrew wrote:

Yes, I can do that.  There are several stand alone programs now written to use the SCP hardware.

Ok, you refer to two file converter tools (SamDisk and HxC). And great you have so many files at your disposal - nice, but does not really help here.  Before you refered to emulators etc. supporting SCP already, which is not the case - so I didn't miss anything from the BBC community and everything is ok for me...  wink


@Mike: missed something else to mention. I have a beeb with MMC card reader + DFSMMB installed, this can also handle
BEEB.MMB files.  Basically it is just a merged set of disk files - see here: http://swhs.home.xs4all.nl/bbc/mmbeeb/# … cesoftware (DUTILs pdf at the end).

Would be great if the Replay core can support these as well (beside single .DSD/.SSD files via floppy). Mikes core should have this included already and probably needs only mapping to the ARM based sdcard handler. When you did the initial porting I could take a look at this in case you need some support (as I have some original Beebs here for debugging and one MMC set)...

/WoS

8 (edited by JimDrew 2015-02-28 04:16:25)

Re: Core started

I think there are now more than a dozen different disk conversion/imager programs that support SCP hardware and/or image files.  So. I believe that every disk type ever made is supported.

Besides the images I have, there are tens of thousands of images files in .scp format.  There are numerous FTP sites that exist just for these images.

Re: Core started

Hi All,

Great to see the Beeb and Apple II are both coming. I would like to be one of the first to buy one of the commercially available boards.

I can somewhat help with hacking mainly on the ARM but I have done a little FPGA.

I would also like to see a real physical floppy interface and MIDI interface for Replay.

The two would be great for Atari ST fans too!

I will contribute what I can when I get my board!

Cheers.

FordP,

Still in the Garden of England wink

Re: Core started

There is no BBC core in the public SVN.   

Would it be possible to check in whatever code currently exists and perhaps we can help?

Re: Core started

working on it....

12 (edited by hoglet 2015-10-29 18:59:15)

Re: Core started

Mike,

I'm also tinkering with an BBC FPGA Core:
http://stardot.org.uk/forums/viewtopic. … amp;t=1029

It runs most games, but not Acornsoft Planetoid, which hangs after drawing the initial screen.

It would be very useful to know if this game is currently working on your BBC core.

Many thanks,

Dave

Re: Core started

The Planetoid issue turned out to be a 6522 bug:
http://www.stardot.org.uk/forums/viewto … 95#p123838

Dave

Re: Core started

Ah super, I'll merge this back into my code, thanks.

15 (edited by hoglet 2015-11-04 15:37:43)

Re: Core started

From another thread....

MikeJ wrote:

I've done some work on the beeb core also (I re-write the teletext stuff) and cleaned up the clock domains etc. I'll see if I can bring it up over the weekend.

Sounds like we might have been working on the same stuff.

I've done a bunch of fixes to the saa5050 and mc6845:
https://github.com/hoglet67/BeebFpga/commits/master

6845 fixes

I've been working my way through several bugs / missing bits of functionality:
- Fixed the cursor flash rate
- Fixed a bug where the cursor was incorrectly positioned in column 40 rather than column 0
- Fixed the reset behaviour so the display doesn't blank when break is held down
- Implemented R05_V_Total_Adjust so vertical timing now accurate
- Corrected the timing of VSync which is particularly critical to ensure Odd and Even fields in Mode 7 are recognised. Now the VSync signal is 100% identical to a real Beeb, i.e. each field is exactly 312.5 lines (20mS), and the Vsync pulse aligns with the display start.
- Added a partial implementation of the other half of R08 (cursor and display delay/disable)

SA5050 issues

- The pixel data in Mode 7 (12MHz pixel clock) was being reclocked at 16Mhz by the Video ULA which made it look awful.
- Implemented character rounding (which involved lots of head scratching). This is computed in real time (like the original SAA5050 does), rather than using a 2x font with everything pre-calculated. I added a second port to the character generator ROM so that the reference row could be read out.

Dave

Re: Core started

Dave - indeed, very much so (especially the 12/16MHz clock change)!

Rather than having two different versions I'll see if I can take your code, as is, into the framework here.
I'll steal back the VIA change as well wink
Cheers,
Mike

Re: Core started

Right, the 6522 changes you did in V4 look good - so I believe we are now in sync.
Dave, you have access to the dev repos here still correct?

Re: Core started

MikeJ wrote:

Right, the 6522 changes you did in V4 look good - so I believe we are now in sync.
Dave, you have access to the dev repos here still correct?

Yes I do.

BTW, I've just pushed a couple more SAA5050 and MC6847 fixes to github.

Dave

Re: Core started

ok thanks. I'll check the VIC still works first.