It is currently Mon Jul 15, 2019 11:55 am

All times are UTC - 7 hours





Post new topic Reply to topic  [ 97 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6, 7  Next
Author Message
PostPosted: Thu Aug 13, 2015 4:52 pm 
Offline
User avatar

Joined: Wed Apr 02, 2008 2:09 pm
Posts: 1288
That's already suggested in this post.

_________________
https://kasumi.itch.io/indivisible


Top
 Profile  
 
PostPosted: Thu Aug 13, 2015 5:08 pm 
Offline
Formerly Espozo
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3498
Location: Richmond, Virginia
Kasumi wrote:
I've actually considered making an interactive rom like that to explain the restrictions to pixel artists.

That kind of reminds me of a really cool Neo Geo rom, where you can alter the sprites by moving them around and shrinking them and liking them to other sprites and whatnot.

Image

You know, one thing that would be really cool is if somebody did this on the SNES, but took it a step further buy allowing you to edit vram and change video modes and everything. There'd be like a screen for editing cgram, a screen for editing vram, a screen for editing the information regarding sprites and BGs, like where sprites and BGs start in vram and the video mode used, and a screen where the actual display is, where you can move the sprites and the BGs around. I think that would be kind of cool, and it would especially be cool if you could actually save the picture in SNES mode (it just saves all the information) and save the picture in a picture file that you view on your computer. (Off course, you'd need to be able to connect it in some way.) One thing that would be a bit of a problem is if you're editing every aspect of the video hardware, there'd be no more room left for saying what any of the controls or anything, (The Neo Geo demo uses the fix layer for this) but you could always have it to where there's another menu that just displays the controls.


Top
 Profile  
 
PostPosted: Fri Aug 14, 2015 10:39 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21501
Location: NE Indiana, USA (NTSC)
Sik wrote:
tepples wrote:
And which text editor? I use gedit 2 on Xubuntu 14.04 (a Debian derivative), but gedit 3's "new face" without a menu bar scares me.

Yet this is what I have somehow (the only serious difference is that the preferences dialog is in the taskbar and not the menubar, and that's something you'd rarely touch anyway). gEdit 3.10.4 on Gnome in Classic mode.

Did it change between 3.10.4 and 3.11.92, when this screenshot was taken of the UI that people complain about? Or what is "classic mode"?

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Fri Aug 14, 2015 4:04 pm 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
tepples wrote:
Or what is "classic mode"?

Gnome 3 has a mode where it gimmicks the UI from Gnome 2. It's not an exact replica, but for the most part it's similar. I haven't checked how gEdit looks outside classic mode so take that into account.


Top
 Profile  
 
PostPosted: Sat Aug 15, 2015 9:30 am 
Offline

Joined: Wed May 19, 2010 6:12 pm
Posts: 2880
Some code examples for a SHMUP tutorial:

Moving an object:
Code:
lda x_position_lo,x
clc
adc x_velocity_lo,x
sta x_position_lo,x

lda x_position_hi,x
adc x_velocity_hi,x
sta x_position_hi,x

lda y_position_lo,x
clc
adc y_velocity_lo,x
sta y_position_lo,x

lda y_position_hi,x
adc y_velocity_hi,x
sta y_position_hi,x


Drawing a sprite
Code:
ldy oam_pointer

lda y_position_hi,x
sta oam,y

lda name,x
sta oam+1,y

lda attributes,x
sta oam+2,y

lda x_position_hi,x
sta oam+3,y

tya
clc
adc #$04
sta oam_pointer


Top
 Profile  
 
PostPosted: Sat Aug 15, 2015 11:34 am 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
I would make sure to add comments to each portion (at the side, no need to be on their own lines) to make sure it's more readable to those who aren't that well versed in 6502 assembly yet.

I like how tidy those snippets look though =P

EDIT: how it'd look with comments (I know there's some redundancy but it's needed to counter assembly being harder to read):
Code:
    lda x_position_lo,x         ; Apply horizontal speed
    clc
    adc x_velocity_lo,x
    sta x_position_lo,x

    lda x_position_hi,x
    adc x_velocity_hi,x
    sta x_position_hi,x

    lda y_position_lo,x         ; Apply vertical speed
    clc
    adc y_velocity_lo,x
    sta y_position_lo,x

    lda y_position_hi,x
    adc y_velocity_hi,x
    sta y_position_hi,x


Code:
    ldy oam_pointer             ; Where this sprite will go

    lda y_position_hi,x         ; Store the sprite properties
    sta oam,y                     ; 1st byte = vertical position
    lda name,x                    ; 2nd byte = tile to use
    sta oam+1,y                   ; 3rd byte = palette and flip
    lda attributes,x              ; 4th byte = horizontal position
    sta oam+2,y
    lda x_position_hi,x
    sta oam+3,y

    tya                         ; Calculate offset for next sprite
    clc
    adc #$04
    sta oam_pointer


Last edited by Sik on Sat Aug 15, 2015 11:38 am, edited 1 time in total.

Top
 Profile  
 
PostPosted: Sat Aug 15, 2015 11:37 am 
Offline
User avatar

Joined: Sat Feb 12, 2005 9:43 pm
Posts: 11374
Location: Rio de Janeiro - Brazil
psycopathicteen wrote:
Drawing a sprite

Are objects represented by a single sprite?


Top
 Profile  
 
PostPosted: Sat Aug 15, 2015 11:39 am 
Offline

Joined: Thu Aug 12, 2010 3:43 am
Posts: 1589
tokumaru wrote:
psycopathicteen wrote:
Drawing a sprite

Are objects represented by a single sprite?

It could be a generic AddSprite subroutine =P (although I'd add a check to ensure it won't draw too many sprites... actually thinking on it, it'd just wrap around and overwrite the earliest sprites, right?)


Top
 Profile  
 
PostPosted: Sun Aug 16, 2015 7:22 am 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
Hey, here is a thread I forgot.

*Putting "even more n00b than I actually am" glasses on.*

I just downloaded Python to install onto my Windows PC.
I've been told that there are basically 2 different versions, where one is for "legacy" support, and one is for "teh futare" or something.
(Apart from that, there are different sub versions of the two different versions. I guessed highest numbers = newest and better.)

I got both packages just in case (I mean really, how should I know?), installed them and everything went fine.
If I double click that executable named python.exe a black box pops up and disappears quickly.
So this must be a command line driven compiler/interpreter.

Next, I tried to compile a piece of code from tepples Project template.

ImportError: No module named PIL

Um. So.. okay. I guess I go to that dev forum to see if someone can help me with that. (...)
Ah, there it is. I need to download some sort of library thing.
And so I did find some stuff to download, but it now says I don't have the right version of Python (...not installed... register...blah..)
Wait.. this is some old stuff from 2009.. that can't be right.

Alright, so now I need something named Pillow. Is it related to resting your head on something?
Hmm.. there are a lot of files to choose from. I finally ended up with Pillow-2.9.0.win32-py3.4.exe and it finally looks like it works! (*)

*Taking "even more n00b than I actually am" glasses off.*

Now.. excuse my TL;DR approach of this post, but you all kind of see the problem with all this? There are a lot of things to intimidate a n00b here without guidance :D
So yeah, a tutorial on this + all the rest of the tool chain would be nice and save a lot of grief. What to get, how to get, where to get and what to do.

@tepples : you can start writing tools and setup related stuff (if not already started?) so we at least get going somewhere.

Let's start here.

(*) For the record, working with command lines, installing packages, configuring my editor, and getting libraries are not something I am not familiar with, so for me it was pretty straight forward.

_________________
I´ve got %01100011 problems but the BITs aint one.


Top
 Profile  
 
PostPosted: Sun Aug 16, 2015 7:53 am 
Online

Joined: Sun Sep 19, 2004 11:12 pm
Posts: 21501
Location: NE Indiana, USA (NTSC)
mikaelmoizt wrote:
I've been told that there are basically 2 different versions, where one is for "legacy" support, and one is for "teh futare" or something.

Right now, the scripts are designed for Python 2, which is the "legacy" version. (When I started writing them, there were serious practical problems with using Python 3 on Windows that weren't resolved until the release of Python 3.3.) But by the time I actually start the tutorial, I plan to port everything to Python 3.

Quote:
If I double click that executable named python.exe a black box pops up and disappears quickly.
So this must be a command line driven compiler/interpreter.

On your Start menu, there should be a program called IDLE. This is the Tk-based graphical front end to Python.

Quote:
Alright, so now I need something named Pillow. Is it related to resting your head on something?

Python Imaging Library changed its name to "Pillow" after a new maintainer took over. I'm not sure the "low" part stands for anything.

_________________
Pin Eight | Twitter | GitHub | Patreon


Top
 Profile  
 
PostPosted: Mon Aug 17, 2015 2:04 am 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
tepples wrote:
On your Start menu, there should be a program called IDLE. This is the Tk-based graphical front end to Python.

Ah. I see. Thanks.

I really like the help file. It contains a tutorial and covers a lot of other stuff as well. THAT part was really newbie friendly.

_________________
I´ve got %01100011 problems but the BITs aint one.


Top
 Profile  
 
PostPosted: Thu Aug 20, 2015 4:24 pm 
Offline
User avatar

Joined: Fri May 08, 2015 7:17 pm
Posts: 2531
Location: DIGDUG
I was thinking... If Nerdy Nights was written in C rather than ASM, I would have had an easier time following it. Maybe more people would get into NES programming if the tutorials were in a more common language, like C.

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


Top
 Profile  
 
PostPosted: Thu Aug 20, 2015 4:41 pm 
Offline

Joined: Sun Apr 13, 2008 11:12 am
Posts: 8472
Location: Seattle
C is not a great fit for the 6502, so you'll need to understand the 6502 a bit first, but such a guide has already been written: http://shiru.untergrund.net/articles/pr ... s_in_c.htm


Top
 Profile  
 
PostPosted: Thu Aug 20, 2015 4:43 pm 
Offline
Formerly Espozo
User avatar

Joined: Mon Sep 15, 2014 4:35 pm
Posts: 3498
Location: Richmond, Virginia
How many people even know any language before starting NES dev? I didn't know anything before attempting to work on the SNES, which I constantly heard was "too hard" for a first platform. I'd say it's just better to get used to assembly, because it's the best option in terms of performance.


Top
 Profile  
 
PostPosted: Thu Aug 20, 2015 5:04 pm 
Offline

Joined: Sat Apr 12, 2014 12:11 pm
Posts: 120
Location: Gothenburg, Sweden
dougeff wrote:
I was thinking... If Nerdy Nights was written in C rather than ASM, I would have had an easier time following it. Maybe more people would get into NES programming if the tutorials were in a more common language, like C.

Maybe that would be a good idea for some people, just to 'get a feeling'. However, I really can't think of a more basic and easy way of doing load, store, compare, subtract and add things than by using three letter mnemonics.

_________________
I´ve got %01100011 problems but the BITs aint one.


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

All times are UTC - 7 hours


Who is online

Users browsing this forum: No registered users and 6 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