32-bit cores

antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

32-bit cores

Unread post by antonie »

Hi all,

Is it feasible to implement 32-bit cores in MiSTer?

I was looking for a way to get NextStep on to MiSTER and came across this project:

http://temlib.org/

It's basically an implementation of sparc32 in fpga.

From the website:

"There is also an unfinished version (complete but with bugs) for an Altera CycloneV GX (Terasic “Cyclone V GX Starter Kit”)

+——————————————————————————+
; Fitter Summary ;
+——————————————————————————+
; Device ; 5CGXFC5C6F27C7 ;
; Logic utilization (in ALMs) ; 9,490 / 29,080 ( 33 % ) ;
; Total registers ; 11070 ;
; Total pins ; 324 / 364 ( 89 % ) ;
; Total block memory bits ; 560,896 / 4,567,040 ( 12 % ) ;
; Total RAM Blocks ; 83 / 446 ( 19 % ) ;
; Total DSP Blocks ; 5 / 150 ( 3 % ) ;
; Total PLLs ; 1 / 12 ( 8 % ) ;
; Total DLLs ; 1 / 4 ( 25 % ) ;
+———————————+——————————————–+"

http://temlib.org/site/?p=567
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: 32-bit cores

Unread post by jca »

He already has a MISTer implementation on his ftp site (http://temlib.org/pub/mister/SS/) which boots but so far I have been unable to do anything as the zips for NextStep, Solaris and another OS are password protected.
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

Ok, excellent. I missed that.

I'm going to give it a try.

Do you know if those are OS images or virtual disk images?

If it's the OS's - an ISO is available here:

https://winworldpc.com/product/nextstep/3x
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: 32-bit cores

Unread post by jca »

I have no idea about the OS images and I did not spend much time on it.
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

Ok, I'll attempt to contact the author directly.
LeftEmpty
Posts: 148
Joined: Sun May 24, 2020 6:47 pm
Has thanked: 4 times
Been thanked: 4 times

Re: 32-bit cores

Unread post by LeftEmpty »

The Archimedes was using a 32 bits RISC CPU and got a core on the MiSTer.
User avatar
Grabulosaure
Core Developer
Posts: 79
Joined: Sun May 24, 2020 7:41 pm
Location: Mesozoic
Has thanked: 3 times
Been thanked: 92 times
Contact:

Re: 32-bit cores

Unread post by Grabulosaure »

The passwords are the OS names. Uppercase and lowercase characters.

I'm trying to finish the SMP version a.k.a SparcStation 10/20, with coherent MESI write-back caches.

(Yes I'm the author)
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

This is exciting stuff @Grabulosaure!

I'll try this core shortly and give feedback.
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

@Grabulosaure, I downloaded nx.tar.xz.zip which I assume in the NextStep image. I'm still trying to figure out the password though. Tried various combination "NextStep" - are you able to provide these in the forum, or should I e-mail you directly at info@temlib.org?
User avatar
Grabulosaure
Core Developer
Posts: 79
Joined: Sun May 24, 2020 7:41 pm
Location: Mesozoic
Has thanked: 3 times
Been thanked: 92 times
Contact:

Re: 32-bit cores

Unread post by Grabulosaure »

@antonie
Wikipedia...
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: 32-bit cores

Unread post by jca »

It took me a while to figure it out. You have to type the official name exactly as it is.
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

Ok, cool :)
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: 32-bit cores

Unread post by jca »

During my short lunch break I started to boot Solaris. I got a warning regarding last shutdown more recent than current time (Y2K?).
Last line displayed Hostname: solo.
I did not have time to figure out what to do next. May be ^D?
Now I also figured out that the sos archive is Sun OS.
antonie
Posts: 49
Joined: Mon May 25, 2020 7:03 pm
Has thanked: 2 times
Been thanked: 3 times

Re: 32-bit cores

Unread post by antonie »

Sun OS boots fine, I still must try Solaris. NeXTSTEP seems a bit unstable.

BTW I had to boot from the OpenBios command line. I figured out that, at the prompt, you must first select the .raw image before the "O> boot" command.

@Grabulosaure this is really good work...helping to push the MiSTer "state-of-the-art" even further forward. The community is getting exposed to machines that were (for me anyway) quite out of reach.
xolod79
Core Developer
Posts: 39
Joined: Wed May 27, 2020 8:13 pm
Has thanked: 6 times
Been thanked: 41 times

Re: 32-bit cores

Unread post by xolod79 »

@Grabulosaure your SS core is fantastic! Thank you. Are you planning to release it in the source code or are there any obstacles to this? I am a fan of the UNIX RISK systems. And I think that MIster really misses them.
danielb
Core Developer
Posts: 230
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 44 times
Been thanked: 66 times

Re: 32-bit cores

Unread post by danielb »

This is a great core. The Solaris and SunOS both work great, particularly Solaris, which seems tp run perfectly. With Solaris, just wait (there is a lot of waiting with this core) until you get a graphical login screen and then log in as root.
NextStep seemed problematic, The first couple of times that I tried loading it, it got all the way to the desktop, and then stopped with an error. Just now, it seems to have loaded correctly for the first time.
Anyway, thanks for the great work on this core. It's lots of fun.

D.
User avatar
limi
Top Contributor
Posts: 773
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 179 times
Been thanked: 570 times

Re: 32-bit cores

Unread post by limi »

The Amiga core (Minimig) is also 32-bit, FWIW. 🙂
User avatar
Grabulosaure
Core Developer
Posts: 79
Joined: Sun May 24, 2020 7:41 pm
Location: Mesozoic
Has thanked: 3 times
Been thanked: 92 times
Contact:

Re: 32-bit cores

Unread post by Grabulosaure »

@danielb

There are old sources available for the Xilinx SP605 board. But many things have changed since then.
I would like to clean-up sources and finish SMP mode before releasing them.

For those really interested, there is also a debugger ("debug". Ha!) which can be run from MiSTer console (SSH or direct access).
The debugger will show boot messages and make startup a bit less boring.
It can also stop the CPU, read registers, dump memory, place breakpoints... a bit like a JTAG debugger.

Booting is very slow because cache is disabled at some times during boot, due to compatibility and memory coherency issues.
And OSes like Solaris never tried to reduce boot time for computers which were usually always-on.

@limi
But MiniMig doesn't have (yet) a pipelined IEEE 754 single/double precision FPU !
xolod79
Core Developer
Posts: 39
Joined: Wed May 27, 2020 8:13 pm
Has thanked: 6 times
Been thanked: 41 times

Re: 32-bit cores

Unread post by xolod79 »

Grabulosaure wrote: Fri Jul 03, 2020 9:08 pm @limi
But MiniMig doesn't have (yet) a pipelined IEEE 754 single/double precision FPU !

And all 680x0 core dosen't have MMU. that does not run unix on them!

@Grabulosaure do you plan to make ethernet works? I see there are two vartants 1. bring the virtual adapter to the Linux HPS (ARM) side or 2. connect to free GPIOs like ENC28j60
User avatar
Sorgelig
Site Admin
Posts: 890
Joined: Thu May 21, 2020 9:49 pm
Has thanked: 2 times
Been thanked: 214 times

Re: 32-bit cores

Unread post by Sorgelig »

xolod79 wrote: Fri Jul 03, 2020 10:32 pm
And all 680x0 core dosen't have MMU. that does not run unix on them!
MMU present since 68030 (not EC or LC).
User avatar
Grabulosaure
Core Developer
Posts: 79
Joined: Sun May 24, 2020 7:41 pm
Location: Mesozoic
Has thanked: 3 times
Been thanked: 92 times
Contact:

Re: 32-bit cores

Unread post by Grabulosaure »

IIRC 68K first external MMU, MC68451, was almost as wacky as x86 protected mode.
Then Motorola went saner, removing features, to eventually leave in MC68040 only things used by UNIXes and MacOS.

@xolod79
There is an Ethernet MAC (AMD LANCE based) that used to work with the PHY on the Xilinx board.
A direct connection to a MII/RMII PHY (such as LAN8720 modules) should be easy.
For MiSTer, IDK. Maybe transferring Ethernet frames to the serial port to be handled by some bridge software.
Or find how to do PPP on Solaris, SunOS, Linux, NextStep...
User avatar
limi
Top Contributor
Posts: 773
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 179 times
Been thanked: 570 times

Re: 32-bit cores

Unread post by limi »

Grabulosaure wrote: Fri Jul 03, 2020 9:08 pm @limi
But MiniMig doesn't have (yet) a pipelined IEEE 754 single/double precision FPU !
Indeed! No FPU or MMU in the 68020 series. And as you pointed out, the 040 architecture was way more sane in this area than the 030. But, still 32-bit 🙂
Anything
Posts: 8
Joined: Mon May 25, 2020 1:48 pm

Re: 32-bit cores

Unread post by Anything »

limi wrote: Sat Jul 04, 2020 2:17 am
Grabulosaure wrote: Fri Jul 03, 2020 9:08 pm @limi
But MiniMig doesn't have (yet) a pipelined IEEE 754 single/double precision FPU !
Indeed! No FPU or MMU in the 68020 series. And as you pointed out, the 040 architecture was way more sane in this area than the 030. But, still 32-bit 🙂
There were external FPU and MMU for the 68020.
User avatar
LamerDeluxe
Top Contributor
Posts: 1239
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 887 times
Been thanked: 284 times

Re: 32-bit cores

Unread post by LamerDeluxe »

Anything wrote: Tue Jul 07, 2020 1:58 pm
limi wrote: Sat Jul 04, 2020 2:17 am
Grabulosaure wrote: Fri Jul 03, 2020 9:08 pm @limi
But MiniMig doesn't have (yet) a pipelined IEEE 754 single/double precision FPU !
Indeed! No FPU or MMU in the 68020 series. And as you pointed out, the 040 architecture was way more sane in this area than the 030. But, still 32-bit 🙂
There were external FPU and MMU for the 68020.
I had a 68882 with my 68030.
User avatar
limi
Top Contributor
Posts: 773
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 179 times
Been thanked: 570 times

Re: 32-bit cores

Unread post by limi »

Anything wrote: Tue Jul 07, 2020 1:58 pm There were external FPU and MMU for the 68020.
Yup! I should have said “on the chip”, which is what I meant, since it didn’t have e.g. MMU built in like the 030 and 040. (EC versions excepted)

(But we’re a little off the original topic now) 😄
xohs
Posts: 3
Joined: Tue Jun 16, 2020 5:56 am

Re: 32-bit cores

Unread post by xohs »

I have an archive of most versions of SunOS, Solaris, NeXTStep, and OpenStep if you need them for testing.
xolod79
Core Developer
Posts: 39
Joined: Wed May 27, 2020 8:13 pm
Has thanked: 6 times
Been thanked: 41 times

Re: 32-bit cores

Unread post by xolod79 »

Sorgelig wrote: Fri Jul 03, 2020 10:52 pm
xolod79 wrote: Fri Jul 03, 2020 10:32 pm
And all 680x0 core dosen't have MMU. that does not run unix on them!
MMU present since 68030 (not EC or LC).
I wanted to say that. I am not aware of more than one open source MMU implementation for 680x0.

There is also an interesting proposal to implement a virtual ethernet adapter using a TAP device. what will require adding to the Mister framework a service for transferring ethernet packets between fpga and HPS (probably through shared memory?). just like it was done with sound cards. This solution will allow it to be used for other cores Minimig, Ao486 and others. I know that this is obvious to many, do not scold me.
rolopolo
Posts: 4
Joined: Sat Sep 05, 2020 10:17 pm
Been thanked: 1 time

Re: 32-bit cores

Unread post by rolopolo »

I do have a spare station 10 which I think I a had dd image of running Nextstep. Dunno if that would help anyone. The Risc NS OS install images about are all DD images, no passwords on those. The SS10 is not a NS machine at the mo as it has an unsupported processor card inside right now.
bigvalen
Posts: 3
Joined: Sat Nov 28, 2020 4:48 pm
Has thanked: 2 times

Re: 32-bit cores

Unread post by bigvalen »

I giggled like a child, when I brought up SunView....brought back old memories.

How hard would it be, to get networking going ? Is this a problem that'd impact most projects ?
User avatar
Grabulosaure
Core Developer
Posts: 79
Joined: Sun May 24, 2020 7:41 pm
Location: Mesozoic
Has thanked: 3 times
Been thanked: 92 times
Contact:

Re: 32-bit cores

Unread post by Grabulosaure »

@bigvalen

Some cores support networking though serial port (PPP...) : Amiga, AO486. The SparcStation core also has an internal serial port accessible from Linux side, it can be used for the console and hardware debugger ("debug" ARM executable), it could be used for networking.

Networking worked on the old Xilinx dev board with had an MII PHY. A RMII PHY requires 7-8 signal pins.
Post Reply