Jump to content
IGNORED

New Programmer Questions


Roy

Recommended Posts

I think I should mention something that I haven't see mentioned yet.

 

Every byte of the DL and DLL and graphics takes a memory read cycle. The MARIA has two scan line buffers, one for the line just built, and another for the line being built. Every scan line, the MARIA displays the previous scan line and builds the new one.

 

It builds the new one by reading bytes from memory, DL, DLL, graphics data, then putting the result in the scan line buffer. The 6502 is halted during this process. If there are any cycles left on the scan line, the 6502 gets to do stuff. If there is more data to display when the scan line finishes, tough luck. The current scan line is then swapped out to start building the next one.

 

What this means is that it is possible to specify DLLs that can not be displayed on real hardware, but can be displayed on some (maybe many) emulators. It is a good idea to have some way to run code on real hardware, especially when you are developing the display kernel code that builds DLLs.

Link to comment
Share on other sites

Thanks everyone, I'll definitely do my best!

 

@Bruce: Yeah, that's something that's been haunting me since the start, hence the limitations I set.(save for the background, but I think it would be really boring without one! ;) ) I'll definitely try to push as close to the limit as I can in future games. CPUWIZ's cart is a god send, every revision is tested!

Link to comment
Share on other sites

  • 2 weeks later...

Small update:

 

I don't have any ROM to post at the moment, since there's not much to show since last time, but there have been many under the hood additions. Mostly I had to double the display list capacity to accommodate for player and enemy bullets. Testing a firing routine for the player glitched parts of the screen. I have a bit more room if I need to increase capacity again. Most of the framework for both enemy and player bullets are in place, but I'm working through problems related to managing so many bullets. I have a few more goodies to show off, but that'll have to wait till next time. I don't want to spoil too many things, so some things will be disabled until final release! :D

 

Though I still have one huge problem! I have zero knowledge on how sound engines work. Composing is no issue. I can take a tracker and make something that almost resembles music, but programming a feature rich sound engine for a game... :( I currently have Ms Pacman's sound engine hacked into my program, but it can't use pokey and feels very constrained. Any help or suggestions on this front would be appreciated.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Going to upload the current build. I have not had as much time as I would like here lately, been trying to snag a new job!

 

This build has working player bullets, framework for the menu taking shape, changed the wall graphics (how's it look?), added a new enemy type, and a bunch of boring under the hood changes.

 

One thing I cannot decide on is how I am going to color everything. I want to keep a contrast between the background, enemies, and bullets because you gotta see what's about to kill you right? Anyone want to throw in suggestions? The bullets in this build do not collide with anything. (This is going to be a chore checking so many things.)

 

Begin the game by pressing a fire button on the main screen and holding both buttons will rapidly reset the game. I was debating between holding the fire botton for rapid fire or having a "pump" based system, but remembered most 7800 controllers are not quite suited for long sessions of rapid button mashing. :P Rapid fire it is!

SHMUP 7800.bin

SHMUP 7800.a78

Edited by Roy
  • Like 3
Link to comment
Share on other sites

As stated...

https://www.youtube.com/watch?v=A-bKF_z6XVk

Please note that the 'boss' engine effects are much smoother, consistent, and rapid than seen in the video. The lost frame(s) is a unfortunate side effect of the capture.

This build has working player bullets, framework for the menu taking shape, changed the wall graphics (how's it look?)


Fantastic!

  • Like 2
Link to comment
Share on other sites

Thanks Trebor for the videos and for the kind words everyone. After I get collisions working, I'll add in some effects that should really make this project "pop".

 

Also have a question: I would like to be able to modify my palette data, but every time I write to the palette registers, it corrupts my game. For example if I wanted to flash the background color from black to whatever color. I think I read somewhere I should do so during a DLI, but when I did it messed up. Anyone have some examples how this should be done?

Link to comment
Share on other sites

You can write to the P#C# palette registers at any time, though if you're repeatedly changing the register during visible screen drawing you may be able to see the color change transition line on objects using that color.

 

Not sure what the problem is... keep in mind they're write-only registers. If the problem isn't that, maybe post the code.

Link to comment
Share on other sites

You didn't do something like this, right?

 

inc BACKGRND

 

That won't fly, but you can create cool background patterns (for debugging), with the right delay(s), something like this is cheap and easy...

 

lda #$7f

sta CTRL ; turn off DMA etc.

loop:

inc temp

lda temp

sta BACKGRND

nop

nop

nop

jmp loop ; forever ->

 

I use that kind of loop as a debug aid all the time, when I am working on code that is supposed to aid in debugging. LOL

Link to comment
Share on other sites

Neat! I'll be sure to play around with that code, see what happens. :P

 

Edit because I don't want to bump this thread yet:

 

I have taken some time from this project to learn some modern programming. (C#, etc...) Once I do this, I'll be able to make myself some better tools and have a stronger grasp at programming in general. I still frequent this site and have every intention to finish it! This may push back my timeframe I wanted, but I really need to do this and go to school while I'm at it. I'll keep checking in and provide any updates I make!

Edited by Roy
Link to comment
Share on other sites

  • 2 months later...
  • 4 weeks later...

Neat! I'll be sure to play around with that code, see what happens. :P

 

Edit because I don't want to bump this thread yet:

 

I have taken some time from this project to learn some modern programming. (C#, etc...) Once I do this, I'll be able to make myself some better tools and have a stronger grasp at programming in general. I still frequent this site and have every intention to finish it! This may push back my timeframe I wanted, but I really need to do this and go to school while I'm at it. I'll keep checking in and provide any updates I make!

 

It is almost September.

Link to comment
Share on other sites

Yeah, progress is still slow. Lately I have been trying to fix a bug that scrambles my screen once and a while. Like I said previously, my timeframe is getting pushed back due to current issues at home and school. I'm also in the middle of learning C programming, since knowing only assembly sort of limits what I can work with!

You guys will see this completed, don't worry! :)​​

Ninja edit:
OK, lemme catch you guys up real quick. Recently I fixed all my graphics issues, everything displays as it should. I also have the menu in place, but only start game works properly. I have also added a introduction cutscene thing showing the ship launching. For now, I have completely stripped out the collision since it was not working as it should. This Sunday after I tweak a few routines, I'll post another ROM. You won't see too much more compared to last time, since most changes are under the hood. More to come later!

 

Second ninja edit:

Ok, the ROM is attached. Tested and works on real hardware and MESS. Again, not bumping due to lack of content. I'm having issues with writing to the pokey chip in my sound engine that I'm working on, so that's ripped out along with a broken collision routine. :P In this, you can see that I'm playing with the idea of background pieces moving when you bank left and right. Biggest addition is the intro sequence. The final version will be extended and sped up(and slightly changed to remove flickering in the center background piece) and I'll draw some more text. (Probably like GET READY! or something.) Last thing changed is the title. In the end, I want this to be a more light-hearted shooter with a festival-like theme. Still undecided on the title though. If you see this before my next thread bump, thanks for the interest! I hope to have this done as soon as possible.

Bullet Festival.a78

Edited by Roy
  • Like 4
Link to comment
Share on other sites

  • 3 weeks later...
  • 11 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...