Pi1MHz Software

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

Pi1MHz Software

Post by dp11 »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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!
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
User avatar
IanB
Posts: 1055
Joined: Sun Sep 04, 2011 8:28 pm
Location: South Wales
Contact:

Re: Pi1MHz Software

Post by IanB »

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: 158
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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.
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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.
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Only Pizero kernel.img at the moment . I'll do a full build soon.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

If you what to do stuff from the co pro you have to use legal accesses to the 1MHz bus
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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: 158
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel »

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: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

DSI won't work currently , it might be possible.
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

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: 158
Joined: Mon Nov 25, 2019 1:10 pm
Location: Almere, Flevoland, The Netherlands
Contact:

Re: Pi1MHz Software

Post by egel »

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: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

On the beeb if you type

Code: Select all

P.$&FD00
what do you get ?
User avatar
Lardo Boffin
Posts: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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.
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Thats not right. Are you running in a copro ? if so can you disable it.
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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.
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
User avatar
Lardo Boffin
Posts: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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.?
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

Thanks Ken.

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

38D491EB-1D4E-48B0-B067-54E7F3D9F090.jpeg
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

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: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

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
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
User avatar
Lardo Boffin
Posts: 2977
Joined: Thu Aug 06, 2015 7:47 am
Contact:

Re: Pi1MHz Software

Post by Lardo Boffin »

Tried a different SD card and bingo!!!

Superb.

FA8A7E7A-B4CE-4A88-86C7-C76FCFD7DCBD.jpeg
Adventure Language on GitHub
Atom, issue 5, YARRB + video noise killer
Elk
A number of econetted (is that a word?) Beebs
BBC Master, Datacentre + HDD, pi co-proc, econet, NULA
dp11
Posts: 1757
Joined: Sun Aug 12, 2012 9:47 pm
Contact:

Re: Pi1MHz Software

Post by dp11 »

Excellent!
User avatar
KenLowe
Posts: 4675
Joined: Mon Oct 18, 2004 5:35 pm
Location: UK
Contact:

Re: Pi1MHz Software

Post by KenLowe »

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:
After initial power up
After initial power up
.
But after a Ctrl-Break, I get this:
After Ctrl-Break
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”