Most NES development setups assume you are on windows, so heres a handy guide on working with macOS.
Basic Development Software
This is stuff any developer using macOS should already have up and running - a way to compile code (xcode CLI tools), a package manager for command line applications (homebrew), a package manager for gui applications (homebrew cask), and a virtual machine to develop in (VirtualBox). This only will need to be setup once on each machine and will help a lot for future stuff.
Install Xcode CLI tools if they haven’t been already
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version || xcode-select --install
Install homebrew if it isn’t there
brew --version || ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
Make sure homembrew is happy, by following all the instructions printed out by
Install homebrew cask to manage gui applications, since homebrew only knows commandline applications
brew tap phinze/homebrew-cask && brew install brew-cask
Now install VirtualBox - we will be developing and burning in Windows XP because thats where are the good tools are. It is also 100% necessary for burning on EEPROMs, which is the kind of chips NES cartridges use. This install will ask for your password to set permissions.
brew cask install virtualbox
Phew! we now have the basic tools any macOS developer would want on their machine, time for the NES specific stuff!
Download a copy of IE8-XP virtual image from Modern IE. This is a free, legal, 30-day trial of windows XP 32-bit, which is the most compatable for the ROM burner we are going to use.
The GQ-4x is a great piece of harwdare - it is small, usb powered, and compatable with VirtualBox on macOS, windows XP and windows 7. It’s really worth the $90 asking price - there are cheaper tools (~$45) but they seem to be unreliable, some require external power or a serial port and are not compatable with more modern OS’ (win7+) like the GQ is. If you do end up getting a different programmer up and running well please let me know so I can add instructions here!