Author Topic: Newbie programming Q's  (Read 17851 times)

wire_hall_medic

  • Rogueliker
  • ***
  • Posts: 160
  • Karma: +0/-0
    • View Profile
Re: Newbie programming Q's
« Reply #15 on: July 05, 2012, 05:39:35 AM »
I did a little assembly programming in the course of pursuing my electronics degree.  I promise, higher level languages are worth learning.  I'm a fan of Java, my self; it's super well documented, and super portable.  But if you're dead set on assembly, may God grant you the strength to vanquish your (digital) enemies.

guest509

  • Guest
Re: Newbie programming Q's
« Reply #16 on: July 13, 2012, 09:53:42 AM »
  Lol. Seriously.

  One of my baby cousins asked me about writing an operating system. I sent them the source code of an old rogue game (I think v4, who knows). I told them if they could figure out how to compile it and send me back an EXE I could run on Windows Vista then they would be the type of person that could find success in the field of assembly.

  They wrote this back to me...

  "Well maybe I'll just go into teaching and law like you?" Imagine my lols. HUGE LOLS!

yam655

  • Rogueliker
  • ***
  • Posts: 59
  • Karma: +0/-0
    • View Profile
Re: Newbie programming Q's
« Reply #17 on: July 13, 2012, 07:14:36 PM »
My big issue with programming in Microsoft Assembly for a subset of architectures that Microsoft supports is...

You're programming for a subset of architectures that even Microsoft supports. Windows 8 moves beyond x86 (32 bit) / amd64 (compatible with x86 -- also called x86_64) / ia64 (not compatible with x86). It brings in ARM support.

So... right now, you have assembly that works with a single operating system and two of the architectures that operating system actually supports.

I'll repeat what others have said. Have you looked at C? It was designed because coding the same thing over-and-over in different assembly languages is boring. You can think of it as an assembly macro-language. The famous "++" operator exists simply because there's an assembly code to perform this, and -- without any fancy optimization -- you could get slightly smaller code.

If you write Windows C code you automatically work on all Windows processors. x86, amd64, ia64, arm, with a little planning you should be able to get something that works on Windows phones. (Are any of those still using SuperH or has everything moved to Arm?)

Secondly, if you really have a thing for assembly programming, (1) get a copy of FreeDOS, (2) install it to a freely available virtual machine, (3) write assembly code specifically for the VM. You can then share your code as a virtual machine. (A virtual machine that could use a floppy disk image. I didn't say it would need to be large.)

Why start with FreeDOS? You want to write a Roguelike game and not an operating system. FreeDOS gives you a compatible filesystem and some other handy functions.

Cheers,
Steven Black