6502, 68000 programmer but im struggling with high level syntax, Led visulazier

https://create.arduino.cc/projecthub/tcucinotta/arduino-leds-midi-keyboard-musescore-piano-tutor-9080fe

Just got Arduino to get back into programming, i wrote games back in the 80s at chip level, i am working on the project above but i have never written in high level languages so i get very confused, i am getting stuck at this step i does not make any sense to me or is it a little poorly worded step 2B has got me completely lost, i have searched for hours and i cant see this file, I miss machine code , Regards :-

first, clone the piano-tutor branch of my modified MuseScore git repository from github, i.e., open a terminal and type:

git clone GitHub - tomcucinotta/MuseScore: MuseScore is an open source and free music notation software. For support, contribution, bug reports, visit MuseScore.org. Fork and make pull requests!
cd MuseScore
git checkout piano-tutor

Arduino set-up

Install the Arduino IDE on your PC/laptop, in case you don't have it already: sudo apt-get install arduino;
From the Arduino IDE: 2.a) install the Adafruit NeoPixel library, e.g., as explained here; 2.b) open within the above checked out git repository the .ino file: miditools/PianoTutor/PianoTutor.ino;

Are you running Linux?

I have a raspberry pi 4b and a arduino uno R3 and a pc of course, i have downloaded git stuff and the arduino ide program , i think its Linux but i have never seen this language , i programmed in Hex direct to hardware and i dont get this virtual stuff, programming in my head resides in ram and address memory locations for function, i would write self modifying code and and collect input from gpio chip and pass result to video chip and sound chip etc, so i am bit lost without a op codes and memory map, and all these brackets commas and dashes and back slashes and stuff it all looks very confluated for me, I am pretty sure its LInux and many thanks for taking the time to respond to me i appreciate it very much.

Welcome to the Arduino forum. I also wrote in assembler for the 6502, A data communications Front End Processor based on the Apple II. Also wrote in 68000 assembly for Unisys high speed check reader.sorters.

So, my question is did you not create functions, libraries, etc. in assembly? "C" is the same thing, only hidden behind fancy looking syntax. You can even print the assembly code that is created from your Arduino program.
Find a book or books on C and C++. I still refer to them sometimes. If you can identify what is causing the problems, perhaps we can suggest something to help.

Good luck, it's fun!
Paul

Thanks for your reply , i think the last book i read was Rodney Zaks guide to 6502, we used to write games so all written in assembly timed to the cycle, i have no experience of high level programming at all, i would like like to get this Led project up and running and get a debbuger so i can see what memory locations are been triggerd ny the Midi signals, i want to read them and trigger other operations but i cant even type my name on the screen with all this stuff i downloaded, A screen resides in ram for me and i just switch the pixels i need in my programming enviroment or my head so i dont get any of this long winded stuff at all, I am wasting loads of time downloading different teminals and puttys and guis and its all brackets and commas and slashes and gits and stuff, where is the program running and i want to watch it on the fly, Looks like computers got faster but the programmers got slower, many thanks for your Reply, Oh i did 68008 but nobody talks about that for obvious reasons :slight_smile:

mrroosty:
Thanks for your reply , i think the last book i read was Rodney Zaks guide to 6502, we used to write games so all written in assembly timed to the cycle, i have no experience of high level programming at all, i would like like to get this Led project up and running and get a debbuger so i can see what memory locations are been triggerd ny the Midi signals, i want to read them and trigger other operations but i cant even type my name on the screen with all this stuff i downloaded, A screen resides in ram for me and i just switch the pixels i need in my programming enviroment or my head so i dont get any of this long winded stuff at all, I am wasting loads of time downloading different teminals and puttys and guis and its all brackets and commas and slashes and gits and stuff, where is the program running and i want to watch it on the fly, Looks like computers got faster but the programmers got slower, many thanks for your Reply, Oh i did 68008 but nobody talks about that for obvious reasons :slight_smile:

Paul_KD7HB:
Welcome to the Arduino forum. I also wrote in assembler for the 6502, A data communications Front End Processor based on the Apple II. Also wrote in 68000 assembly for Unisys high speed check reader.sorters.

So, my question is did you not create functions, libraries, etc. in assembly? "C" is the same thing, only hidden behind fancy looking syntax. You can even print the assembly code that is created from your Arduino program.
Find a book or books on C and C++. I still refer to them sometimes. If you can identify what is causing the problems, perhaps we can suggest something to help.

Good luck, it's fun!
Paul

Paul_KD7HB:
Welcome to the Arduino forum. I also wrote in assembler for the 6502, A data communications Front End Processor based on the Apple II. Also wrote in 68000 assembly for Unisys high speed check reader.sorters.

So, my question is did you not create functions, libraries, etc. in assembly? "C" is the same thing, only hidden behind fancy looking syntax. You can even print the assembly code that is created from your Arduino program.
Find a book or books on C and C++. I still refer to them sometimes. If you can identify what is causing the problems, perhaps we can suggest something to help.

Good luck, it's fun!
Paul

mrroosty:
Thanks for your reply , i think the last book i read was Rodney Zaks guide to 6502, we used to write games so all written in assembly timed to the cycle, i have no experience of high level programming at all, i would like like to get this Led project up and running and get a debbuger so i can see what memory locations are been triggerd ny the Midi signals, i want to read them and trigger other operations but i cant even type my name on the screen with all this stuff i downloaded, A screen resides in ram for me and i just switch the pixels i need in my programming enviroment or my head so i dont get any of this long winded stuff at all, I am wasting loads of time downloading different teminals and puttys and guis and its all brackets and commas and slashes and gits and stuff, where is the program running and i want to watch it on the fly, Looks like computers got faster but the programmers got slower, many thanks for your Reply, Oh i did 68008 but nobody talks about that for obvious reasons :slight_smile:

YES I REMEMBER SOMETHING, AND SOMETHINGS HAVE NOT CHANGED !!!!!!
Hope you all see the fun in this but
Programeers always answer a question with a question and the the answer is always for something you didnt ask, !!!!!!!
Look at the posts if you dont believe me, :):):):):slight_smile:
I sort of know why i went into arcade machines now, im probably pissed off because i been up three days trying to do this and i want to cry !!!!!!!!

If you don't like high level languages, it is certainly possible to write Arduino programs (mostly) in assembly language. You just write C functions in assembly. The C++/Arduino wrapper really makes things easier, and allows you to concentrate on your application code.

I agree with that idea, only to find your footing, but asa general productivity/ output choice, you’ll love C when you get the hang of it, and the C++ extensions will make life easier as you become more proficient.

The benefits of assembler will mostly dissolve when you realise you’re running 4-16 times faster clock in a RISC CPU, so that most clock/performance benefits of low-level code will disappear.

Just tinker with really simple projects like blinking LEDs, or twiddling servos - using the standard libraries.
I was using machine / assembler and ‘C’ on 4MHz Z80s back while you were playing...

Remember, you’re now using single chip micrCONTROLLERS - with onboard peripherals, rather than microPROCESSORS like those old chips.
With your skill set, it won’t be long before you’re buying MEGA2560 and MEGA1284 chips to get the extra memory and serial ports...

Welcome to the party !

...and don't forget that "self modifying code" never was a good idea, and is a whole order of magnitude more difficult in a ROM/RAM Harvard machine.

aarg:
If you don't like high level languages, it is certainly possible to write Arduino programs (mostly) in assembly language. You just write C functions in assembly. The C++/Arduino wrapper really makes things easier, and allows you to concentrate on your application code.

lastchancename:
I agree with that idea, only to find your footing, but asa general productivity/ output choice, you’ll love C when you get the hang of it, and the C++ extensions will make life easier as you become more proficient.

The benefits of assembler will mostly dissolve when you realise you’re running 4-16 times faster clock in a RISC CPU, so that most clock/performance benefits of low-level code will disappear.

Just tinker with really simple projects like blinking LEDs, or twiddling servos - using the standard libraries.
I was using machine / assembler and ‘C’ on 4MHz Z80s back while you were playing...

Remember, you’re now using single chip micrCONTROLLERS - with onboard peripherals, rather than microPROCESSORS like those old chips.
With your skill set, it won’t be long before you’re buying MEGA2560 and MEGA1284 chips to get the extra memory and serial ports...

Welcome to the party !

TheMemberFormerlyKnownAsAWOL:
...and don't forget that "self modifying code" never was a good idea, and is a whole order of magnitude more difficult in a ROM/RAM Harvard machine.

Thank you all very much for responding to my post it is very much appreciated and will take onboard the advice you all have given me, If anybody give me a hint on the problem i have with installing the code into the arduino i think i would feel am making some progress after 2 days of trying, i am quitter and sulker and i will blame it all Zx Spectrum users because thats what we used to do, Regards Oh and Amstrad to

What is "the problem i have with installing the code into the arduino" ?

TheMemberFormerlyKnownAsAWOL:
...and don't forget that "self modifying code" never was a good idea, and is a whole order of magnitude more difficult in a ROM/RAM Harvard machine.

Wow what is a Ram Rom Harvard Machine, i cant remeber why we did self modifying code, i think it might be lack of memory, i certainly remember having to know the instruction cycle timing lengths to change the raster on the fly and stuff, oh and the massive amount of instruction time when the raster returned to the top of the screen, Vertical Blank. software scrolling and mannual sprites its coming back to me a little.

TheMemberFormerlyKnownAsAWOL:
What is "the problem i have with installing the code into the arduino" ?

i am trying to build the vizualizer from my first post and i dont understand this wording, i can not see any .ino file in the depositery, im sort half guessing i have to create it somehow but i never done cut and paste programming so im a bit £$$%ed, i have a lot of terminals and stuff installed but i just dont get the concept, its so alien to me i dont see it as programming its more like word proccesing to something thats not there if that makes sense, its like speaking French why is a pen female and ruler male and car shemale no of them have toilet parts how can it be ??????

Install the Arduino IDE on your PC/laptop, in case you don't have it already: sudo apt-get install arduino;
From the Arduino IDE: 2.a) install the Adafruit NeoPixel library, e.g., as explained here; 2.b) open within the above checked out git repository the .ino file: miditools/PianoTutor/PianoTutor.ino;

this is the bit dont laugh at me, i will sulk and i will blame BBC Electron users for my troubles

What is "the problem i have with installing the code into the arduino" ?

That’s the critical question...
It sounds like you might be making your journey a lot harder than it needs to be !

If you can find a nearby buddy with some experience to work with for a couple of afternoons, I suspect all the current obstacles will melt away, then you can find hew ones !

It’s a lot easier now than it was back in the 70s and 80s, but there are a LOT more variables !

Have fun.

Love your post really do, programmers have not changed in the last 35 years, so the answer to my question is "I know and you dont", i feel like a real user now, classic :slight_smile: :slight_smile: :slight_smile:

mrroosty:
Install the Arduino IDE on your PC/laptop, in case you don't have it already: sudo apt-get install arduino;
From the Arduino IDE: 2.a) install the Adafruit NeoPixel library, e.g., as explained here; 2.b) open within the above checked out git repository the .ino file: miditools/PianoTutor/PianoTutor.ino;

Which of those bits are the problem? Do you have the IDE installed?

Thanks wildbill i have arduino ide 1.8.13 installed and running right now and microcontroller plugged in via the usb port, and im just having a look around it all, there does not seem to be much to see, just some brackets and stuff on a tab labelled sketch jan14a squiggle, im going to look on you tube as well, see if i can find somebody with a tuorial who isnt to boring or has awful background music, i had forgotten how programmers can bang on for ages without really saying anything useful or interesting and i dont mean any of the people here, i am finding this thread a lot of fun, regards

There are a bunch of example sketches that come with the IDE. They should be useful for giving you a better idea of how C++ is used with Arduino.

mrroosty:
i had forgotten how programmers can bang on for ages without really saying anything useful or interesting

Oh, the irony.

The IDE itself has a tab labelled "File".
Click on that and scroll down to "Examples".
Start at "01.Basics".