some related thoughts, although not directly about how to make your own programmer------
What Ritesh has in mind is similar to how I got started in 1985. I had a 6502 class in 1982 but did not try to make anything myself until '85. You can see "Ol' #1"
here. I splurged and bought one or two 8Kx8 SRAMs (2764) for it, when they were $40 each at Jameco. This was just before the Japanese started dumping and made the price come way down. Few people had a computer of
any kind at home in those days, and EPROM programmers were hundreds of dollars, back when a dollar was a lot more money than it is today. For the previous year, I had been making $7 per hour and on that I paid the apartment rent, the groceries and bills, the expenses for two cars, and put my wife through her last year of college. We were frugal and incurred no debt.
When a person is just starting out, their programs will be small. I wrote programs with pencil and paper, still flowcharted, assembled by hand, and wrote out the machine code on papers to keep in a ring binder, 256 bytes per sheet, on a 16x16 grid. I put in sets of 3 NOPs here and there so if I had to insert some more code I would not have to relocate so much since that was a pain to do by hand. I made my EPROM programmer which used DIP switches. I did not realize yet that DIP switches are not durable enough to handle very many switching cycles, but fortunately my friend who made a lot more money but had no expenses had an
HP-71 and had made his own programmer controlled by the 71, and he offered to help. I couldn't justify the money for a UV eraser either, so I left the EPROMs out in the sun for a week. That wasn't too big a deal, because it took so long to debug and patch my code and then schedule a time with my friend who lived several miles away anyway. Thumbwheel switches were expensive, but I should have used those for my own programmer instead of DIP switches. They would have made it a lot more practical. Taking it a step further like Ritesh is doing to make the address auto-incrementing after initializing it would have been even better.
In any case, I would not discourage the beginner from starting at such low levels to get a good feel for the real basics. It seems that too often they're spoiled from the beginning with all the luxuries, and then have problems later on because they never learned the basics. The greater tools are the way to go
after learning what the tools' jobs are and what they have to do behind the scenes.
I got the computer going. It wasn't useful but it did work and I learned a lot which I later applied at my next job where we actually had a 40-pound portable PC with an 8" green monitor and two 5.25" floppy-disc drives and, IIRC, 64K of RAM (the only PC in the little company), and a stand-alone assembler we paid $500 for. I don't remember the price of the PC, but the assembler was $250. I think the PC ran DOS 2.0. By then I had learned the HP-71's OS, and learning DOS (even in all the later versions) was a huge let-down, as it was very decrepit compared to the HP-71's system which even had plug-and-play ten years before they started talking about it for PCs.
I have had many frustrations with PCs over the decades though, with things like hard-discs failures and finding that various things are no longer supported when I'd have a problem; so having backup methods of doing everything (hardware too, not just software) does appeal to me. That doesn't mean we have to go back to programming (E)EPROMs by hand for when things
really go bad, but I
would like to have full control of the entire computer and not be dependent on PCs in the fast-moving consumer market, which is why I have been interested when users here like Samuel Falvo have brought up feasible-sounding proposals of making our own 6502 (or '816, etc.) PC, totally open-sourced in every way, and hobbyist-friendly meaning it does not
depend on USB and other things whose internals are not hobbyist-friendly. I know this means we won't have things like streaming video, but that's ok. Sometimes I have thought it would be good to have multiple layers of backup, going down to rather low levels. Every time I finish a project I do make sure I have a paper copy of every single part of it. I think I'm about to buy a used standalone (E)EPROM programmer with RS-232 so it can also be hosted if necessary from a home-made computer without USB, ISA, proprietary software, etc.-- or maybe I should just make one.