Developing in linux?

Are you new to 6502, NES, or even programming in general? Post any of your questions here. Remember - the only dumb question is the question that remains unasked.

Moderator: Moderators

Post Reply
lazerbeat
Posts: 64
Joined: Tue Jul 09, 2013 7:13 am

Developing in linux?

Post by lazerbeat » Thu Apr 17, 2014 3:08 am

I know this is a bit of a newbie question but I was wondering what everyone was using for developing in linux? The getting started sticky / wiki have some information but it seems a little on the old side. I was wondering specifically about the text editors, compilers, tile editors are popular and what emulators people are using for testing?

Is it possible to dev just in linux without too much hassle or is it a case of just run windows in VM?

thanks everyone!
Last edited by lazerbeat on Fri Apr 18, 2014 5:17 pm, edited 1 time in total.

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Devloping in linux?

Post by tepples » Thu Apr 17, 2014 6:17 am

My retro development laptop runs Xubuntu 12.04 LTS.
  • "Compiler": cc65 minus cc65
  • Tile editor: GIMP, using self-made Python 2 programs to turn PNG into CHR inside the makefile. These programs come with my project template.
  • Source code editor: Gedit works for me

User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Re: Devloping in linux?

Post by cpow » Thu Apr 17, 2014 8:15 am

Shameless plug: NESICIDE works in Linux. :beer:

lidnariq
Posts: 9510
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Devloping in linux?

Post by lidnariq » Thu Apr 17, 2014 9:27 am

  • text editor: Emacs, with this in my config file:

    Code: Select all

    (defun asm-mode-parameters ()
            (setq tab-width 20)
            (set 'tab-stop-list '())
    )
    (add-hook 'asm-mode-hook 'asm-mode-parameters)
  • assembler: cc65/ca65 and/or xa65 depending.
  • tile editors: I mostly use my own pgm2chr and chr2pgm programs with mtpaint and gimp, but I like using the command line and pipes. (You might want to read the rest of that thread, too). Occasionally shiru's nesst in wine.
  • emulators: nestopia and fceux natively. fceux (for the debugger), no$nes, and nintendulator in wine. I should probably add MESS to the list, since etabeta's been working on improving accuracy and it already has a debugger.
Is it possible to dev just in linux without too much hassle or is it a case of just run windows in VM?
Definitely don't need a VM, wine is up to the task for everything except a weird bug with configuring the keyboard in nintendulator. That can be worked around by using a VM (or random windows machine) to configure the keyboard, and then exporting/importing the registry keys.

User avatar
cpow
NESICIDE developer
Posts: 1097
Joined: Mon Oct 13, 2008 7:55 pm
Location: Minneapolis, MN
Contact:

Re: Devloping in linux?

Post by cpow » Thu Apr 17, 2014 9:31 am

lidnariq wrote:nesst in wine
Hmmmm...maybe the next candidate for my MFC HLE.

EDIT: Nevermind...not MFC!

tepples
Posts: 22019
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Re: Devloping in linux?

Post by tepples » Thu Apr 17, 2014 2:48 pm

lidnariq wrote:wine is up to the task for everything except a weird bug with configuring the keyboard in nintendulator. That can be worked around by using a VM
You'd still need to buy a copy of Windows to run in the VM.
(or random windows machine) to configure the keyboard
You'll have to watch carefully to make sure that 1. the keyboard on the Windows PC that you borrow is from the same country as the keyboard on your Linux PC (QWERTY vs. QWERTZ vs. AZERTY), and 2. if your Linux PC is a laptop, you don't end up assigning something to a key that's missing on your laptop.

lidnariq
Posts: 9510
Joined: Sun Apr 13, 2008 11:12 am
Location: Seattle

Re: Devloping in linux?

Post by lidnariq » Thu Apr 17, 2014 3:22 pm

You'll have to watch carefully to make sure that 1. the keyboard on the Windows PC that you borrow is from the same country as the keyboard on your Linux PC (QWERTY vs. QWERTZ vs. AZERTY), and 2. if your Linux PC is a laptop, you don't end up assigning something to a key that's missing on your laptop.
Ok, ok, fine.

The Nintendulator registry entries for input configuration are the keys HKEY_LOCAL_USER/Software/Nintendulator/TYPEPortPLAYERD.
TYPE is one of (nothing = normal NES controllers), "FS" (=four score), or "Exp" (=famicom expansion port); PLAYER is 1, 2, 3, 4 or (nothing = famicom expansion port).
The values are 128 bytes, structured as 32 little-endian four-byte numbers. They are, in order, the entries in Nintendulator's input dialog. (i.e. for a controller, a b select start up down left right)
The numbers appear to just be DirectX scancodes, so keyboard layout probably doesn't matter. It's not too hard to get someone to dump a list of scancodes. Yes, this violates the abstraction, but, hey, it works for me.

Post Reply