New computer core to be ported on DE10 : Rockwell AIM65

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

Hello,
i've designed a the Rockwell AIM65 replica, if someone is interested the design is at https://github.com/shinymetal6/aim65_quartus.
There is a brief description with features and bugs, i'm still working on that but at now it's quite working, only printer and tape are not yet done.
Note : it's for an Arrow SocKIT, I don't have a DE board.

EeDee
Posts: 261
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 13 times
Been thanked: 48 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by EeDee »

Sounds interesting. Hope to be able to try it out on the MiSTer soon

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

I tried to compile the project as is but I had some trouble.
First the path to the roms and font are fully qualified and did not match the location of these files on my system.
Example:
.INIT_FILE("D:/SVN/verilog/Projects/aim65/aim65_quartus/rtl/aim65/ROM/monitor_z22.hex"))
I wonder if these names can be relative and not absolute. I also wonder if the double )) is necessary.

After changing the names to the fully qualified names on my system I got the following error:

Error (12006): Node instance "aim65_decmux" instantiates undefined entity "aim65_decmux". Ensure that required library paths are specified correctly, define the specified entity, or change the instantiation. If this entity represents Intel FPGA or third-party IP, generate the synthesis files for the IP.
At this point I gave up.

aim65_decmux aim65_decmux (
.z22_do(z22_do),
.z23_do(z23_do),
.z24_do(z24_do),
.z25_basic_do(z25_basic_do),
.z25_forth_do(z25_forth_do),
.z25_pl65_do(z25_pl65_do),
.z26_basic_do(z26_basic_do),
.z26_forth_do(z26_forth_do),
.z26_pl65_do(z26_pl65_do),
.csa0_6522_do(csa0_6522_do),
.csa4_6532_do(csa4_6532_do),
.csa8_6522_do(csa8_6522_do),
.csac_6520_do(csac_6520_do),
.ram_cs(ram_cs),
.video_cs(video_cs),
.z22_cs(z22_cs),
.z23_cs(z23_cs),
.z24_cs(z24_cs),
.z25_cs(z25_cs),
.z26_cs(z26_cs),
.csa0_6522(csa0_6522),
.csa4_6532(csa4_6532),
.csa8_6522(csa8_6522),
.csac_6520(csac_6520),
.cpu_data(cpu_din)
);l

C-R-T
Posts: 205
Joined: Wed Mar 03, 2021 5:10 pm
Has thanked: 21 times
Been thanked: 92 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by C-R-T »

This is a mister forum, posting cores for other boards is inappropriate.

Bernouilli
Posts: 35
Joined: Sun Jun 14, 2020 9:28 am
Has thanked: 2 times
Been thanked: 6 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by Bernouilli »

I don't think it's inappropriate, what is inappropriate is the title.
The title makes you think that there is a new core for the mister.
The title should be something like : new core to port to the mister : AIM65
And maybe it should be in the "Development for the Mister" sub-forum.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

After reading this post:
viewtopic.php?p=73418#p73418
I made the suggestion of opening this thread to the author.
Due to the lack of information in the original post it may not have been the best suggestion regarding the location of the post but it surely is not inappropriate. New cores are always welcome.
If you don't know the SocKit is very similar to the DE10 nano and quite a few cores have been ported from MISTer to the SocKit.
I find your post being quite rude.

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

@jca sorry for absolute path, i will fix, i have to figure out how to do it.For aim65_decmux.v i've not committed the correct files.qpf, i will do now, sorry. The double )) is needed.
@C-R-T Yes, sorry, I don't have a DE board. Inappropriate post, I admit, it's for a sockit and not for a DE. If you think it's inappropriate I can remove it.
@bernouilli , "Note : it's for an Arrow SocKIT, I don't have a DE board." was clear enough for me, sorry.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

@shinymetal6
Thanks. For the absolute path it was not so much a problem for me, I just changed it to match my system. I suppose there is a way to make it relative but I am far from being an expert. OK for aim65_decmux.v.
Regarding this new thread this is my own "fault" as I made the suggestion but it is interesting to have a potential new MISTer core. For me it is a good opportunity to learn as this core is a very basic one and the SocKit is very similar to the DE10 nano.

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

@jca, yes, sorry, my mistake, i've not been explicit enough in my very first post.
in my opinion the sockit is not so different from the DE, still cycloneV and quite the same pinout, but i'm an hw designer so small differences are not really issues for me ... thanks for pointing out that mistake on the files.qpf, maybe i've committed before the compilation. rgds

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

Thanks.
As I said I am no FPGA guru but I try to learn. Until now I have been trying with various success to port cores from one board to another. No MISTer so far as I got chicken feet with the framework.
First I need to compile your original project.
Next I will try what I can do:
Replace sys with the MISTer sys?
Change the board from SocKit to DE10 nano?
Redo the pin assignments?
Try a compile and see what bunch of errors I will get.
Are you using only BRAM for memory?
One problem I foresee is the video output: the SocKit has only VGA, no HDMI. I am not sure how it will work to port the VGA part and also I only use HDMI.
2 questions as I did not look into the details:
How do you change the CPU type?
Are all the ROMs loaded on start and selected via the menu or selected at compile time?
Don't expect too much from me, I am just trying to learn and even if I fail I will have learned something.

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

Well, dunno, never ported something from sockit to mister.
I think it's better to use only what is under rtl folder in a new mister design starting from the template ( at least I did this when I started with sockit ), but someone else can be more precise. If I remember well there's something on the sockit mister github.
The pins assignement should be the one from DE10.
To change the cpu you have to modify the verilog in aim65.v under rtl/aim65, at the end change "cpu_65c02" with "cpu". I see now you have to change the port "SYNC" to "sync" ( from upper case to lower case ). I will fix soon.
The roms are selected via the menu
Don't expect too much from me too, i got the sockit 1 month ago and i'm still learning in my spare time.
thank for your help.
rgds

User avatar
pgimeno
Top Contributor
Posts: 709
Joined: Thu Jun 11, 2020 9:44 am
Has thanked: 277 times
Been thanked: 226 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by pgimeno »

shinymetal6 wrote: Wed May 17, 2023 10:03 am

@C-R-T Yes, sorry, I don't have a DE board. Inappropriate post, I admit, it's for a sockit and not for a DE. If you think it's inappropriate I can remove it.

Nuuuuu! Worst case, you can ask a mod to move it to another subforum by reporting your own post, but by all means, DON'T delete it.

When I suggested to post it in this forum, I didn't know it was not being developed for MiSTer. Still, I don't think it's inappropriate. Maybe you can edit the title (by editing the first post) to something that implies that it needs to be ported to the MiSTer framework, to avoid misleading people.

MiSTer is not just a DE10-Nano; it's also the accompanying Linux, the main executable that provides services and controls for cores, and the framework that provides video services, makes all cores have a menu and enables them to communicate with Linux and main.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

@shinymetal6 Thanks for the changes:
Relative path for ROMs and FONT.
Demux fixed.
Now your project compiles out of the box without any error.
In the next few days I won't have much time but I will see what I can do.
Anyone wanting to do the port to the DE10 Nano should try it and if you have a lot more experience that me it should be a piece of cake.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

I could not resist.
Note: I don't know what I am doing but I tried.
Replaced SYS from original core with SYS from MISTer template.
Opened the project with Quartus.
Changed the FPGA chip to the one used on MISTer. I removed the pin assignments as recommended.
Imported assignments with the pin assignments I exported from another MISTer project.
Compiled the project -> No error.
Uploaded the rbf to MISTer.
Started the core on my MISTer with not much hope of seeing anything as I use HDMI and the Sockit has only VGA.
Surprise: Rokwell AIM 65
<
displayed.
Loaded the Basic extended ROM to do some testing.
The keyboard is "sending" garbage.

Attachments
aim65.zip
(873.09 KiB) Downloaded 219 times
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

Correction:
I though the KB was "sending" garbage. This is not the case: the font looks horrible on 1080p and the core seems to send other characters after the typed character.
I tried again without loading Basic.
Here is what I got.
I don't have much time so feel free to make some tests.

Attachments
20230518_131420-screen.png
20230518_131420-screen.png (65.59 KiB) Viewed 8228 times
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

On the first test I made I though I was in Basic, it was not so. I was in the monitor. Looking on @shinymetal6 Github I saw I had to type 5 to go into BASIC.
Have fun but be careful not to destroy your vision :D

Attachments
20230518_133100-screen.png
20230518_133100-screen.png (76.87 KiB) Viewed 8219 times
jca
Top Contributor
Posts: 1911
Joined: Wed May 27, 2020 1:59 pm
Has thanked: 145 times
Been thanked: 454 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

@C-R-T: Are you happy? :twisted:

EeDee
Posts: 261
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 13 times
Been thanked: 48 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by EeDee »

Good start and looking forward to more. Thanks @shinymetal6 and thanks for the porting work @jca.
I wonder how far this will go? I'm hoping that it will be a lot further :-)

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

@EeDee
You can already use BASIC, FORTH and PL/65.
Load the extended ROM you want and press 5.

For his Github
Still to do:
find a way to load and store programs, i'm still studying the MiSTer framework
fix an annoying behaviour on the serial port, tricky enough
find why sometimes the screen jumps
fix the keyboard as for now works only with US keyboard
a lot of more bugs I have not yet found ...

As an additional and in my opinion useful add on, I have implemented a clear screen pressing F4, currently not used on real AIM65.
This too needs a bit of fixing here and there, but when time will leave me to work on it again I will try to fix it

EeDee
Posts: 261
Joined: Thu Dec 24, 2020 12:33 pm
Has thanked: 13 times
Been thanked: 48 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by EeDee »

Thanks @jca have seen readme and tried Basic ROM but screen not really readable for me hence looking forward to enhancements :)

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

On HDMI 1080p it looks horrible. This is the reason I first though the keyboard was sending garbage although the character typed seemed to appear.
After that I started to try to figure out what was send by typing QWERTY. Q and W gave a ? and when I typed E it went into the editor. :D
The core works but on HDMI it is close to be unusable.
I suppose it is better on CRT. May be someone with a CRT could provide some feedback.

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

@jca : you did a great job, really!
I will look better, even if on my sockit it runs fine, so maybe i have to buy a de10 sooner or later ...
great great job, thanks a lot

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

I don't have too much merit, I just tried. I am still learning FPGA programming, I don't know anything about the framework except that it is where the hardware dependencies reside. The SokIt uses a framework derived from the MISTer one so it seemed logical to first replace it, next was to change the chip model and redo the chip assignments. I am familiar enough with Quartus to export the pin assignments from from an existing MISTer project and import them in the new project. Thanks to this feature it was really easy, without it it would have been a nightmare. I was really surprise that it compile without any error, the fact that the 2 chips are very similar is the reason.
I don't think you should rush to get a DE10 nano: The screens looks fine on the pictures from your Github, the problem on HDMI comes from the upscaling and somewhat from the font itself. A bigger font would help but that would mean to redesign the video part of the core and would have effect on the number of characters per line and number of the lines per screen.
The AIM 65 did not have video output, only with add-on boards so you must have developed something for video. A good reference would be the UK-101 and Multicomp MISTer projects. For the Multicomp the keyboard/screen is just a virtual serial terminal. The original Multicomp from Grant Searles also support several serial ports
I noted that the core outputs some kind of heart beat on the green user LED. What is it?
Thanks for this core.

shinymetal6
Posts: 8
Joined: Mon May 15, 2023 9:29 am
Has thanked: 5 times
Been thanked: 11 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by shinymetal6 »

Well, a lot of merit in my opinion ... I understand that the mister framework is rock solid, but you know where to work on...
You are correct, i grabbed the 20 displays and pushed on a simple 320x200 video wrote from scratch, I will look to the UK-101 for sure, thank you for the information.
The heartbeat is a simple output from the PLL divided by 1 million, I had issues on having the cpu clock running at the very beginning due to my lack of knowlodge on quartus.
Just to understand better, when you start the core have you the information on pixel clock, resolution and so on from the mister framework?

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

In MISTer ini I have it enabled. I will post it when I am back near my MISTer.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

Sorry, too busy these days.
The problem comes from the low resolution which also implies small fonts.
AIM65
161x200 34.89kHz 137.3Hz
1920x1080 148.50MHz 60Hz

UK101
512x256 15.79kHz 50.0Hz
1920x1080 148.50MHz 60Hz

Multicomp
640x400 31.26kHz 59.4Hz
1920x1080 148.50MHz 60Hz

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

For the original cores from Grant Searles (not MISTer cores)
UK101
http://searle.x10host.com/uk101FPGA/index.html

Multicomp
http://searle.x10host.com/Multicomp/index.html

A lot of detailed information in these pages.

danielb
Core Developer
Posts: 230
Joined: Thu Jun 04, 2020 1:43 pm
Has thanked: 44 times
Been thanked: 66 times

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by danielb »

jca wrote: Tue May 23, 2023 10:35 pm

For the original cores from Grant Searles (not MISTer cores)
UK101
http://searle.x10host.com/uk101FPGA/index.html

Multicomp
http://searle.x10host.com/Multicomp/index.html

A lot of detailed information in these pages.

Hi, I was going to suggest that looking at the UK101 core could help in the creation of this one, but I see I was beaten to it. The UK101 was my noob project; the first, and so far last piece of FPGA programming I ever attempted.

Anyway, while the UK101 core is based on Grant Searles original work, when I ported it to Mister I made some pretty significant changes:

  • I rewrote a significant portion of the video output to work nicely with the MiSTer framework. I also had to support multiple resolutions for the additional machines that the core supports.

  • I added loading of programs from text files as well as the original UART. The code for this was derived from that of the Apple 1 core. which you might also find useful for the Rockwell core. If you ever find out how to save programs to text files, I know one user of the UK101 core who would be very happy. Lack of documentation of the framework was a constant obstacle to development of the core.

  • I added support for the Ohio Scientific machines. This entailed multiple video resolutions, as well as on-the-fly resolution switching for one of them.

  • I also added some other bits and pieces, like variable memory size, processor speeds and swappable monitor programs.

Obviously feel free to use anything you need from the code.

D.

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

Re: New computer core to be ported on DE10 : Rockwell AIM65

Unread post by jca »

I mentioned Grant site because he gives technical information on these cores but these 2 cores have been ported to MISTer so it is better to look at the MISTer source.
As an apart: this is thanks to Grant site that I own a MISTer. I started by buying the little FPGA board used in his projects, played with it, discovered the MISTer project and ended up getting a MISTer.

Post Reply