Pi1MHz Software

discuss both original and modern hardware for the bbc micro/electron
dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Pi1MHz Software

Post by dp11 » Sat May 30, 2020 1:32 pm

I've just pushed a Beta version of the Pi1MHz software. The big change is how the underlying sampling of the 1MHz bus is done. This increases performance in a few low level areas. This has enabled me to add a frame buffer. I've used code from other people to support the frame buffer so I can't take any credit. I have a number of changes planned in future so things will change, but if you want a simple second monitor for your beeb you can give it ago.

Writing characters to &FCD0 they will appear on the Pi's screen. Infact you can even send vdu command to draw lines on the screen.

You can even go as far as intercepting the vdu vector and sending it to the Pi to have a duplicate screen.

Code: Select all

 10 FOR I%=0 TO 2 STEP 2
   20 P%=&900
   30[OPT I%
   40 .revector
   50 LDA &20E
   60 STA old
   70 LDA &20F
   80 STA old+1
   90 LDA #(oswrch MOD 256)
  100 STA &20E
  110 LDA #(oswrch DIV 256)
  120 STA &20F
  130 RTS
  140 .old
  150 NOP
  160 NOP
  170 .oswrch
  180 STA &FCD0
  190 JMP (old)
  200]
  210 NEXT
  220 CALL revector
Latest kernel https://github.com/dp111/Pi1MHz/tree/master/firmware

As I say this very much build on other work, so I 'd like to thank them for their efforts.

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Sat May 30, 2020 4:22 pm

Interesting sounding project! What hardware is required to connect the Pi to the 1MHz bus? Obviously a level shifter of some sort but what are the specifics?
Thanks!
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
IanB
Posts: 570
Joined: Sun Sep 04, 2011 8:28 pm
Location: South Wales
Contact:

Re: Pi1MHz Software

Post by IanB » Sat May 30, 2020 5:17 pm

dp11 wrote:
Sat May 30, 2020 1:32 pm
This has enabled me to add a frame buffer.
Neat =D>
I guess these were some of the "few steps required" you mentioned in the other thread before Prisma 3 support might become possible.

User avatar
egel
Posts: 85
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel » Sat May 30, 2020 7:35 pm

Lardo Boffin wrote:
Sat May 30, 2020 4:22 pm
Interesting sounding project! What hardware is required to connect the Pi to the 1MHz bus? Obviously a level shifter of some sort but what are the specifics?
Thanks!
viewtopic.php?f=3&t=18513

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Sat May 30, 2020 8:07 pm

egel wrote:
Sat May 30, 2020 7:35 pm
Lardo Boffin wrote:
Sat May 30, 2020 4:22 pm
Interesting sounding project! What hardware is required to connect the Pi to the 1MHz bus? Obviously a level shifter of some sort but what are the specifics?
Thanks!
viewtopic.php?f=3&t=18513
Thanks. Will have a read.
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Sat May 30, 2020 8:12 pm

dp11 wrote:
Sat May 30, 2020 1:32 pm
I've just pushed a Beta version of the Pi1MHz software.
Awesome. I'll check this out shortly. Can I double check, is this beta currently only for the Pi Zero & Pi 1 (using kernel.img)?
Lardo Boffin wrote:
Sat May 30, 2020 8:07 pm
egel wrote:
Sat May 30, 2020 7:35 pm
Lardo Boffin wrote:
Sat May 30, 2020 4:22 pm
Interesting sounding project! What hardware is required to connect the Pi to the 1MHz bus? Obviously a level shifter of some sort but what are the specifics?
Thanks!
viewtopic.php?f=3&t=18513
Thanks. Will have a read.
It eventually points you to this thread.

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Sat May 30, 2020 8:13 pm

KenLowe wrote:
Sat May 30, 2020 8:12 pm
dp11 wrote:
Sat May 30, 2020 1:32 pm
I've just pushed a Beta version of the Pi1MHz software.
Awesome. I'll check this out shortly. Can I double check, is this beta currently only for the Pi Zero & Pi 1 (using kernel.img)?
Lardo Boffin wrote:
Sat May 30, 2020 8:07 pm
egel wrote:
Sat May 30, 2020 7:35 pm

viewtopic.php?f=3&t=18513
Thanks. Will have a read.
It eventually points you to this thread.
Thanks. I was just trying to work out what I needed to buy from it! Will have to wait until later though. Have a +3 to try and fix.
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Sat May 30, 2020 8:39 pm

Only Pizero kernel.img at the moment . I'll do a full build soon.

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Sat May 30, 2020 8:52 pm

dp11 wrote:
Sat May 30, 2020 8:39 pm
Only Pizero kernel.img at the moment . I'll do a full build soon.
Just got it running on my PiZero. That's pretty awesome! Not done a lot of testing yet. All I've done so far is ?&FCD0=33 and I see the '!' character repeat to the Pi screen. I did have to disable my 6502 CoPro for this to work. I'll check out the vdu vector redirection code shortly.

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Sat May 30, 2020 9:45 pm

If you what to do stuff from the co pro you have to use legal accesses to the 1MHz bus

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Sat May 30, 2020 10:32 pm

A quick read through the AUG would indicate that I need to do this via an OSBYTE &93 call, with X set to &D0 (FRED offset) and Y set to the byte to be written. I'll try modifying the redirection code to see if it works over the tube.

User avatar
egel
Posts: 85
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel » Sun May 31, 2020 11:46 am

dp11 wrote:
Sat May 30, 2020 8:39 pm
Only Pizero kernel.img at the moment . I'll do a full build soon.
Will a DSI connected LCD display also work, like the Raspberry Pi Touch Display?

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Sun May 31, 2020 12:17 pm

DSI won't work currently , it might be possible.

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Sun May 31, 2020 9:16 pm

I've add a bit more support to make the video a bit more like a beeb. There is a hint of Mode 7 support and a hint on NuLA. Ellipse plotting doesn't match the beeb, infact lots of the PLOT command need a bit of work. The video stuff does need a bit of a tidy up.

I'd sort of like to get on with other things for a bit so if anyone would like to help a bit that would be great.

User avatar
egel
Posts: 85
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel » Tue Jun 02, 2020 1:12 pm

dp11 wrote:
Sun May 31, 2020 12:17 pm
DSI won't work currently , it might be possible.
Would composite also be possible? And not to much work?

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Tue Jun 02, 2020 2:51 pm

That might be possible I've never tried, but it is more likely to work than DSI due to the resolution

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 4:04 pm

My level shifter arrived today and I plugged everything together (hopefully correctly) and switched on with no magic smoke so hopefully ok!

I downloaded the kernel from the link above and put it in the root of my SD card (a 128MB card I had spare) along with the other files in the firmware folder.

I have my HDMI cable plugged into the Pi but I’m not getting anything at all on the screen - it just says ‘No signal’. What are the obvious things to check?

The Pi boots fine with its normal SD card and outputs to HDMI on the screen I am using.

There is a red LED lit up (and a green one) - is that significant?

Thanks!

450BFE26-B0FA-4772-B6CA-B754DCC5B987.jpeg
Lardo
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Wed Jun 03, 2020 4:27 pm

On the beeb if you type

Code: Select all

P.$&FD00
what do you get ?

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 4:32 pm

dp11 wrote:
Wed Jun 03, 2020 4:27 pm
On the beeb if you type

Code: Select all

P.$&FD00
what do you get ?
48.
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Wed Jun 03, 2020 4:51 pm

Thats not right. Are you running in a copro ? if so can you disable it.

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Wed Jun 03, 2020 4:53 pm

Lardo Boffin wrote:
Wed Jun 03, 2020 4:04 pm
There is a red LED lit up (and a green one) - is that significant?
That's just indicating that both 5v0 and 3v3 are present on the board. Do any of the other 1MHz functions work (eg BeebSCSI)?

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 4:55 pm

dp11 wrote:
Wed Jun 03, 2020 4:51 pm
Thats not right. Are you running in a copro ? if so can you disable it.
With the matchbox co-proc disabled in software it now returns 127.
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 4:56 pm

KenLowe wrote:
Wed Jun 03, 2020 4:53 pm
Lardo Boffin wrote:
Wed Jun 03, 2020 4:04 pm
There is a red LED lit up (and a green one) - is that significant?
That's just indicating that both 5v0 and 3v3 are present on the board. Do any of the other 1MHz functions work (eg BeebSCSI)?
I have not had chance to try anything else out yet! My SD card is only 128Mb so doubt I will fit a HDD image on it.

Can anything be tested without plugging in ROMs etc.?
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Wed Jun 03, 2020 5:02 pm

Lardo Boffin wrote:
Wed Jun 03, 2020 4:56 pm
KenLowe wrote:
Wed Jun 03, 2020 4:53 pm
Lardo Boffin wrote:
Wed Jun 03, 2020 4:04 pm
There is a red LED lit up (and a green one) - is that significant?
That's just indicating that both 5v0 and 3v3 are present on the board. Do any of the other 1MHz functions work (eg BeebSCSI)?
I have not had chance to try anything else out yet! My SD card is only 128Mb so doubt I will fit a HDD image on it.

Can anything be tested without plugging in ROMs etc.?
You can certainly create a SCSI drive that will fit onto a 128Mb card, but you will need the ADFS ROM on your machine to read it. The other emulated hardware (Music 5000 & RAM Disk) also need dedicated ROMs installed on your machine. Can you also make sure that the level shifter is plugged in central to the ribbon cable, it is possible for this to be misaligned. Difficult to see from the photo if it is plugged in centrally.

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 5:09 pm

Thanks Ken.

It looks properly inserted. There is an even gap both sides of the extension cable.

38D491EB-1D4E-48B0-B067-54E7F3D9F090.jpeg
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Wed Jun 03, 2020 5:14 pm

If P.$&FD00 doesn't work nothing will.

Can you check you are Actually typing

Code: Select all

P.$&FD00 

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 5:18 pm

dp11 wrote:
Wed Jun 03, 2020 5:14 pm
If P.$&FD00 doesn't work nothing will.

Can you check you are Actually typing

Code: Select all

P.$&FD00 
No I wasn’t... :oops:

417131FF-9AE3-4970-9A83-A3BCD143F9B6.jpeg
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

User avatar
Lardo Boffin
Posts: 2066
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin » Wed Jun 03, 2020 5:23 pm

Tried a different SD card and bingo!!!

Superb.

FA8A7E7A-B4CE-4A88-86C7-C76FCFD7DCBD.jpeg
Atom, issue 5
Elk
BBC model B 32k issue 4, 16k sideways RAM, Watford 12 ROM board, Acorn 6502 coproc
BBC model B 32k issue 7, turboMMC, Opus Challenger 3 512k, Pi 3 coproc
USA Model B
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA

dp11
Posts: 1140
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 » Wed Jun 03, 2020 5:25 pm

Excellent!

User avatar
KenLowe
Posts: 1173
Joined: Mon Oct 18, 2004 5:35 pm
Location: Scotland
Contact:

Re: Pi1MHz Software

Post by KenLowe » Wed Jun 03, 2020 5:44 pm

Lardo Boffin wrote:
Wed Jun 03, 2020 5:23 pm
Tried a different SD card and bingo!!!

Superb.
Nice one.
dp11 wrote:
Wed Jun 03, 2020 4:27 pm
On the beeb if you type

Code: Select all

P.$&FD00
what do you get ?
I just tried this on my system, and get this on initial power up of the RPi:
capture13.png
After initial power up
.
But after a Ctrl-Break, I get this:
capture14.png
After Ctrl-Break
.
I need to power cycle the PI to get the full message again. It seems quite consistent.

Post Reply

Return to “8-bit acorn hardware”