Let's Make EdVenture #6: Now with More Graphics! -- Coding a Roguelike in Atari 8-bit Assembly

  Рет қаралды 2,673

Mission: Ed Possible

Mission: Ed Possible

Күн бұрын

Пікірлер: 32
@brandonphilander661
@brandonphilander661 3 жыл бұрын
Thank you for continuing this series.
@mala_raman
@mala_raman 3 жыл бұрын
Great episode! Refactoring into different files and procedures sure helps!
@MissionEdPossible
@MissionEdPossible 3 жыл бұрын
Thanks!
@Pec3t
@Pec3t 2 жыл бұрын
Are you sure this code: loop mva gfx,x charset,x mva gfx+8,x charset+8,x mva gfx+16,x charset+16,x mva gfx+32,x charset+32,x inx cpx #128 bne loop will load all 128 characters? There is 128 characters, each character is 8 bytes. It gives us 128*8 bytes =1024 bytes. The biggest number in loop is 32+128 = 160
@MissionEdPossible
@MissionEdPossible 2 жыл бұрын
Good catch - check out the next video where I remove this function and just load it in directly :)
@takingbytes1265
@takingbytes1265 3 жыл бұрын
I'm not a programmer by trade. I came to it through digital electronics, which is also a hobby of mine. The most impressive assembly code I wrote for the Atari was a port of 8-Bit Show And Tell's Dataram challenge ("VIC-20 Super Expander: Programming Challenge" episode). I'm excited to watch your videos because they help me understand program structure. Thanks again!!
@MissionEdPossible
@MissionEdPossible 3 жыл бұрын
And I've been a programmer my whole life and I'm working on learning more about digital electronics.... :) Glad you like the series!
@fatmanslim6591
@fatmanslim6591 2 жыл бұрын
Stuck with antic4 and been having a blast doing UDGs. Another week or two and I might be brave enough to share my test screen but for now it's on to episode 7
@MissionEdPossible
@MissionEdPossible 2 жыл бұрын
Would love to see what you've come up with! I gotta ask -- UDG's? :)
@fatmanslim6591
@fatmanslim6591 2 жыл бұрын
@@MissionEdPossible User Defined Graphics, that's what we used to call custom character sets back in the day. Not sure if it was a platform or region specific term but they were always my favourite part of programming my 800XL. Someone mentioned graph-paper and all those happy memories came flooding back 😀
@fatmanslim6591
@fatmanslim6591 2 жыл бұрын
@@MissionEdPossible got a couple of screen shots of my test graphics, what's the best way to share them?
@edwinjacobellis4852
@edwinjacobellis4852 Жыл бұрын
This is so good
@MissionEdPossible
@MissionEdPossible Жыл бұрын
Thanks so much!
@IntoTheVerticalBlank
@IntoTheVerticalBlank 3 жыл бұрын
ED! More awesomeness!
@philtoa334
@philtoa334 2 жыл бұрын
🤩Beautiful ! Thanks
@MissionEdPossible
@MissionEdPossible 2 жыл бұрын
Thank you! Cheers!
@takingbytes1265
@takingbytes1265 3 жыл бұрын
I sat down with my Atari XL and worked on getting this to run. Those include libraries on the Mac65 Toolkit disk are useful for streamlining things! Unfortunately, I did all the art with graph paper, colored markers and transcribing the data. Does anybody know a good editor too use? I have AtariArtist, with Touch Tablet, but no knowledge of how to convert the image.
@MissionEdPossible
@MissionEdPossible 2 жыл бұрын
This one just came out, but I haven't messed with it yet. swspred-atari.sourceforge.io/ - If you're trying to do it on the actual hardware, I remember using the Character Editor from Datasoft at one point.
@fatmanslim6591
@fatmanslim6591 2 жыл бұрын
Ah yes, graph paper, happy memories 😀 My tool of choice so far has been the modern day equivalent - Excel
@TaBaR999
@TaBaR999 3 жыл бұрын
wonderful channel. Been using the Atari since 1983(not all the time). no rush or anything but will you be finishing this series?
@MissionEdPossible
@MissionEdPossible 2 жыл бұрын
Thanks! Yes, I will be finishing the series -- it takes me a while to do each video though - I will be hopefully speeding things up soon!
@brianwild4640
@brianwild4640 3 жыл бұрын
hi Ed thanks for the great videos I have a problem with the python make_tile.py I get this error Traceback (most recent call last): File "tile_maker.py", line 1, in import png ModuleNotFoundError: No module named 'png' do you have any idea please I am windows 7 python version 3.8.9 (last version to work on windows 7)
@MissionEdPossible
@MissionEdPossible 3 жыл бұрын
Yes, you need to install the "pypng" library -- run "pip install pypng" - that should get you working.
@brianwild4640
@brianwild4640 3 жыл бұрын
@@MissionEdPossible yes I did that Ed Lol I did it wrong I was hearing you say piping in the video not pypng 😂
@redleader7988
@redleader7988 3 жыл бұрын
These tutorials work in Altirra, but I am unable to get them to run on my 800XL. Is there something that I am forgetting to do?
@redleader7988
@redleader7988 3 жыл бұрын
I found out why. With MADS, you need something like run StartOfProgram somewhere in the assembly code. You need to add a run command pointing to a label at the start of the program, or it will not run on real hardware.
@MissionEdPossible
@MissionEdPossible 3 жыл бұрын
Interesting -- good to know for when I actually try it on real hardware. Surprised that it works in Altirra but not on the real hardware. Thanks for the update!
@redleader7988
@redleader7988 3 жыл бұрын
@@MissionEdPossible I was surprised as well. Maybe it has something to do with my SIO2PC/APE setup that makes the run command necessary, but now the OBX files execute on my 800XL if in include the run command.
@mmm43kir
@mmm43kir 3 жыл бұрын
плохо что не на русском.
@MissionEdPossible
@MissionEdPossible 3 жыл бұрын
Извините, я не говорю по-русски!
@lanemou
@lanemou 3 ай бұрын
Nice I noticed that we can perform 16-bit math on addresses and modified the loop into: *loop* *mva map,y screen,y* *mva map+$f0,y screen+$f0,y* *iny* *cpy #$f0* *bne loop* *rts* I think we could reduce the bytes used to make the map by half if we store tile IDs instead of chars, since each tile is 2 chars we just have to use the index of the first char / 2. Honestly, it was easier to think about how to do it than actually doing it; I'm not sure why my code works, but that's fine😆 *.proc display_map* *ldx #$00* *ldy #$00* *loop* *; copy the first 6 lines* *tya* *asl ; I found that this is called lshift and it basically multiply by 2* *tax* *lda map,y* *asl* *sta screen,x* *adc #$01* *sta screen+$01,x* *; copy the next 3 lines* *lda map+60,y* *asl* *sta screen+120,x* *adc #$01* *sta screen+121,x* *; copy the last 3 lines* *lda map+$78,y* *asl* *sta screen+$f0,x* *adc #$01* *sta screen+$f1,x* *iny* *cpy #$78* *bne loop* *rts*
@MissionEdPossible
@MissionEdPossible Ай бұрын
Thanks for your comment! Post a link to your project!
Steam Engine Simulator is Almost Done (for real this time)
27:37
AngeTheGreat
Рет қаралды 106 М.
БОЙКАЛАР| bayGUYS | 27 шығарылым
28:49
bayGUYS
Рет қаралды 1,1 МЛН
AI Is Making You An Illiterate Programmer
27:22
ThePrimeTime
Рет қаралды 263 М.
Let's Make EdVenture #23: Now with less bugs and more colors!
1:43:28
Mission: Ed Possible
Рет қаралды 723
Reverse Engineering Game Code from the Neutral Zone
40:59
Retro Game Mechanics Explained
Рет қаралды 722 М.
Coding Adventure: Portals
16:06
Sebastian Lague
Рет қаралды 1,3 МЛН
An Engineering Fairy Tale: Cascade Failure at the Super Kamiokande
22:21
Alexander the ok
Рет қаралды 719 М.
Retro MS-DOS Coding - Recreating the Iconic Award BIOS Screen
18:16
NCOT Technology
Рет қаралды 121 М.
БОЙКАЛАР| bayGUYS | 27 шығарылым
28:49
bayGUYS
Рет қаралды 1,1 МЛН