It is currently Wed Nov 22, 2017 11:38 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 58 posts ]  Go to page Previous  1, 2, 3, 4  Next
Author Message
PostPosted: Mon Jul 24, 2017 1:57 pm 
Offline
User avatar

Joined: Sun Nov 09, 2008 9:18 pm
Posts: 987
Location: Pennsylvania, USA
DementedPurple wrote:
Garth wrote:
rainwarrior wrote:
I don't think I'd recommend starting with BASIC today, but really I think almost any language is OK. [...] I learned BASIC first because I happened to find those particular books that used BASIC.

Although none of the BASICs I've used were on a 6502 machine, I understand the BBC BASIC was really good, and I was impressed with Lee Davison's EhBASIC when I looked over its capabilities years ago. It looked really good considering the memory limits of the '02. I expect that if modern tools were used and more advanced knowledge of what can be done on the '02 were applied, someone could come up with a further improved BASIC. I wouldn't mind seeing BASIC make a comeback in that way. It would be more structured, possibly compiled and using labels and no line numbers, allow local environments, multiple programs in memory at once, etc..

Yeah, BASIC is my all time favorite programming language, it's a lot more simpler then any languages in the C family, that's for sure.


Perhaps you'd be interested in FreeBASIC. I was also going to provide a link for BlitzBASIC, however their site appears to be down at the moment.


Top
 Profile  
 
PostPosted: Mon Jul 24, 2017 2:10 pm 
Offline

Joined: Sun Feb 07, 2016 6:16 pm
Posts: 299
As far as just typing code goes, probably BASIC on the TSR-80 Color Computer we had. Good old times spending an hour typing code for a game listed out in a book, only to realize the code is wrong and doesn't compile. And when you're ~8 years old and know nothing about programming, your odds of actually correcting the code are pretty slim :)

First thing I wrote on my own was in QBasic, on a 286 around 1995. The first "big project" I remember making with it was an "RPG" with ASCII graphics mixed with drawn shapes in QBasic - I'm sure I still have a copy of that on a floppy disk somewhere...

Then I moved on to C/C++ with DJGPP & a FF4 "clone" on a Pentium. I also ended up making some sort of AD&D "game" in Visual Basic, and later on a Ragnarok Online (Beta 1) server emulator in VB6 (which I ended up rewriting in C)... Out of all these, only the RO emulators were actually complete to a point where they could be useful.

I think that pretty much sums up the main projects I did before I entered college, various smaller things aside. In contrast, I've probably spent an order of magnitude more time on Mesen than all of those projects put together, though.

If I had to pick favorites today though, I'd say C#, Typescript and C++ (probably in that order?)


Top
 Profile  
 
PostPosted: Mon Jul 24, 2017 3:00 pm 
Offline
User avatar

Joined: Sat Feb 16, 2013 11:52 am
Posts: 223
Connecting into the internet and searching "how to make programs" on google started me on this wonderful lifelong journey.

C++ on my own trying my best to do text based games... and failing miserably
C# with moderate success (plus it allowed decent control over terminal caret and individual character bg/text colors)
6502 Assembly (which I love)
Then comes university and I learn C very quickly and a lot of good scientific basis for everything computer programming.
A little bit of Java (which I hate not because of the language but because of OOP + Software Engineering)

It was an ok path even if there was a lot of error in between trials :P
If I were to recommend a 1st language it would be something high level first (python?) but with a reminder to learn low level stuff later. If the person asking was a turbo nerd like myself I'd just recommend C with a library like Curses to do fun stuff. Maybe even NES/6502 if he's really into old video games.

_________________
This is a block of text that can be added to posts you make. There is a 255 character limit.


Top
 Profile  
 
PostPosted: Mon Jul 24, 2017 11:14 pm 
Offline

Joined: Sun Mar 03, 2013 1:52 am
Posts: 94
Location: Texas, USA
I started with Commodore 64 BASIC. I started off typing in examples from the manual and magazines, but the projects I remember making myself were utilities and applications instead of games.

I made a menu program for my collection of games. You'd select the game name from the menu, then it'd prompt you to insert the correct disk and check for the existence of the expected file name. If the file didn't exist, it would re-prompt you to insert the correct disk. If the file did exist, then it'd load and run the game.

I made a simple family tree explorer. It would show one immediate family of parents and their children at a time. You'd highlight a person and press a key to toggle between them being a child or a parent in the view. For example, if it started with my dad and mom at the top and my siblings and me underneath, I could highlight my dad, press the button and the view would change to show his parents (my grandparents) at the top and he and his siblings (my aunts and uncles) underneath, with his name still highlighted. You'd then move the highlight and swap the view to explore further.

The most ambitious thing I made for the Commodore 64 was an 80-column RS232 communications terminal in assembly. Because the Commodore 64 only has 40 columns, I flipped between two screens of half-width characters, one page with the odd characters on the left side of each cell, the other page with the even characters on the right side of each cell. Once I got it working, I remember ultimately being dismayed with it. The letters were hard to read since they were only 3 x 7 pixels, and the screen flipping flicker made it worse. It was a lot of work for a not very useful result. However, I was pleased with the nice bell sound I programmed to play when a bell character (Ctrl+G) was used.


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 11:13 am 
Offline
User avatar

Joined: Fri Nov 12, 2004 2:49 pm
Posts: 7272
Location: Chexbres, VD, Switzerland
I started with Visual Basic and Commodore 64 BASIC almost simultaneously when I was about 12 years old. However 6502 assembly is the 1st "language" in which I did relatively "advanced" things.


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 11:28 am 
Offline
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3114
Location: Nacogdoches, Texas
65816 assembly in 2014 when I was 15 years old. :lol:


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 12:54 pm 
Online
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 1828
Location: DIGDUG
Espozo wrote:
65816 assembly in 2014 when I was 15 years old. :lol:


Probably the worst first programming language to learn.

I learned Apple Basic, 6502 ASM around 88-92. We got a IIgs, but I never learned 65816 anything.

In college they made me learn Pascal. Later I took some web design courses and learned some basic JavaScript.

After playing around with FCEUX, to cheat at games, I figured out that NES games were programmed in 6502 ASM...which I already knew. I made a few hacks, for fun.

I think I heard about Nerdy Nights somewhere, and made Purple Cape Man. Only since then did I properly learn...
C/C++
Python
C#
JavaScript/Jquery/CSS/HTML5

I was going to make a web game, but I really don't want to now.

_________________
nesdoug.com -- blog/tutorial on programming for the NES


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 1:28 pm 
Offline
User avatar

Joined: Wed Feb 13, 2008 9:10 am
Posts: 582
Location: Estonia, Rapla city (50 and 60Hz compatible :P)
My first was QBASIC when I was 15 or so. I could have started sooner but I had no idea that games were programmed or that programming existed at all until I stumbled upon a programming book about BASIC, Pascal and FORTRAN. Then I remembered there was a text editor in DOS directory on my computer that didn't let me type what I wanted and things clicked and my programming ventures started hahaha. My first real program was a number guessing game that I pretty much copied from the book while giving it my own twist.

Internet wasn't quite a thing in my life yet at that point either, but later I got some access to that and quickly discovered QuickBASIC 4.5 which allowed compilation and was generally faster, but not fast enough for a nice 2D sidescroller and then the next important name I found was called "assembly". I learned x86 assembly and finally managed to get some 2D sidescroller going, but I never managed to finish anything, drawing took a while and my young mind wasn't able to come up with all the needed things. I had made a graphics editor and some sound tools at that point.

A bit later I built a SRAM cart so I could run ROMs on my Mega Drive and then I decided to learn how to program the thing. Being proficient in BASIC I tried BasiEgaXorz but that was very limited and nowhere near the level of QBASIC even so 68K assembly was the next thing, and woooooow, that thing blew my mind, so much nicer than x86 ! It only took me couple days to learn most of it and not long before I had graphics on the screen of my TV running off my SRAM cart haha. Z80 assembly came next as I needed means to play sound without tying up the main CPU. It was much more painful than 68K which pretty much had spoiled me. x86 still felt worse though... Nowdays I also do Master System and SC-3000 / SG-1000 stuff, whole game in Z80 isn't actually all that bad.

At some point I learned SuperH-x assembly so I could do 32X stuff but didn't get super far. That CPU is weird, but only because of fixed 16bit instruction size, you're doing a whole lot of relative accessing to get something going, code and data intertwined around. Super fast thing though and not all that terrible to work with once you get used to the implications of fixed instruction size.

Then came the time to put QB45 to sleep as the programs I wanted to do grew too big for it. FreeBASIC was the next thing and that's something I use as primary thing to this day. Pmode DOS was very limited so I dropped that and went on with Windows. WinAPI was a huge PITA at first but now I'm fluent in it and it isn't super hard to get going somewhere.

At school I had to do Pascal but I didn't like the syntax one bit, C, C++ and C# were same deal, I cannot stand the syntax. VisualBASIC was more at home but I didn't do anything serious in it and haven't messed more with it to this day. I will have to do C at some point when I start writing some drivers for windows, not looking forward to that at all, I'll probably write some sort of translator to get FreeBASIC to C going because I really cannot stand C and likenesses haha. It is also why I'll never work as a programmer hahaha.

I also know AVR assembly and Texas instruments C54x and C55x DSPs. The latter two are absolutely horrible, 65x is great compared to those DSPs as far as assembly goes haha, making a NES game is lot less headache than something serious on those DSPs (but you are supposed to use C with those, and endure the absolutely terrible IDE). I don't have any desire to learn PIC, gonna stay in the AVR camp haha.

_________________
http://www.tmeeco.eu


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 3:47 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 874
Location: Sweden
I had almost no access to home computers as a kid, but I grew up playing video games, and always wanted to make my own games one day. My first programming experience was with RPG Maker 95 and 2000 for Windows back when internet started becoming a thing and we finally had a PC. RPG Maker didn't have any scripting language back then, so you programmed solely by selecting commands by clicking on buttons in a GUI. At first I was disappointed how limited it was because I couldn't do everything I wanted to, but by examining other people's RPGs I realized how powerful it really was.

My first real programming was with C++ in high school. My experience in RPG Maker made things much easier because I had already started to understand how you are supposed to think. I also learned some Ruby (because RPG Maker XP used Ruby as a scripting language) and Quick BASIC at one point.

Since I suck at math I didn't do programming in university though, and went with Japanese instead (which was another childhood dream of mine). I did take a few university courses to improve my C++ though, and some in electronics.

Then one day I decided that I wanted to make NES games. I wanted to start make the kind of games I grew up with and I thought I rather start with my first gaming system. I did the exercises in Nerdy Nights in my spare time and didn't understand half of it. I went back to it many times though and eventually I got comfortable enough with 6502 and the NES hardware. It was still hard to make a game though because I didn't know anything about game programming.

Since then I have also learned some Family BASIC, Z80, Hu6280, 65816, PIC and JavaScript.
I think that learning these more primitive microprocessors has really improved my understanding of C++ and how computers works in general. And I like the importance of 6502 and Z80 in computer history as well. Also it's fun to brag to my friends majoring in computer science that I "know" a few assembly languages. Of course I'm much more of a newbie than they are, I just have more knowledge of more or less obsolete hardware. lol


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 4:27 pm 
Offline

Joined: Wed Nov 30, 2016 4:45 pm
Posts: 93
Location: Southern California
dougeff wrote:
Espozo wrote:
65816 assembly in 2014 when I was 15 years old. :lol:


Probably the worst first programming language to learn.

I learned Apple Basic, 6502 ASM around 88-92. We got a IIgs, but I never learned 65816 anything.

Outside of the TI-58c programmable calculator, 6502 assembly was one of my first languages (concurrent with Fortran IV). Later I was able to use the 65c02 and its improvements over the NMOS '02 gave me a greater sense of freedom. Later I got into the 65816 which I actually found easier than the '02 because its wider registers and added instructions and addressing modes removed the limits. It was so nimble at things the '02 was either clumsy at or incapable of. But if it seems daunting, you can use it exactly as a 6502 to start, and then start using the extra capabilities little by little.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 5:11 pm 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 874
Location: Sweden
Yeah well if you already know 6502, both 65C02 and 65816 will be very easy to learn, but starting with 65816 would probably be a bit harder simply because there is more stuff to learn (unless you treat it as a 6502 of course). Starting with Super NES hardware as your first programming experience sounds like a very steep learning curve though.


Top
 Profile  
 
PostPosted: Thu Jul 27, 2017 6:58 pm 
Offline
User avatar

Joined: Fri Feb 27, 2009 2:35 pm
Posts: 214
Location: Fort Wayne, Indiana
Pokun wrote:
Starting with Super NES hardware as your first programming experience sounds like a very steep learning curve though.

If you're doing everything yourself, sure. My first experience writing any 65xx code at all was making custom blocks and sprites in Super Mario World, which made it much easier.


Top
 Profile  
 
PostPosted: Fri Jul 28, 2017 8:18 am 
Offline
User avatar

Joined: Thu Jul 06, 2017 3:37 pm
Posts: 11
Are there any language that are easier to pick up after learning a specific language? Like generally speaking or game creating.


Top
 Profile  
 
PostPosted: Fri Jul 28, 2017 8:43 am 
Offline

Joined: Tue May 28, 2013 5:49 am
Posts: 874
Location: Sweden
Well learning C/C++ should get you familiar with a common syntax and other things that is common in most high level languages, but won't help too much in assembly (except fundamental programming logic like memory, flow control etc). Learning an assembly language should make it much easier to learn other assembly languages although different microprocessors can be quite different and have very different syntaxes, which may make it take time to get used to a new architecture.

I think generally the more programming (any kind) you know, the easier it is to learn other languages.


Top
 Profile  
 
PostPosted: Fri Jul 28, 2017 10:13 am 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2365
Garth wrote:
dougeff wrote:
Espozo wrote:
65816 assembly in 2014 when I was 15 years old. :lol:


Probably the worst first programming language to learn.

I learned Apple Basic, 6502 ASM around 88-92. We got a IIgs, but I never learned 65816 anything.

Outside of the TI-58c programmable calculator, 6502 assembly was one of my first languages (concurrent with Fortran IV). Later I was able to use the 65c02 and its improvements over the NMOS '02 gave me a greater sense of freedom. Later I got into the 65816 which I actually found easier than the '02 because its wider registers and added instructions and addressing modes removed the limits. It was so nimble at things the '02 was either clumsy at or incapable of. But if it seems daunting, you can use it exactly as a 6502 to start, and then start using the extra capabilities little by little.


I think long addressing might be somewhat confusing to beginners because certain instructions/addressing mode are missing like lda $xxxxxx,y. You pretty much have to use the bank register as the bank byte for Y, and use long addressing for stuff you'd normally use absolute addressing for.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 58 posts ]  Go to page Previous  1, 2, 3, 4  Next

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group