My Garden

My Garden

aaron-baugher

subscribers

We've gone from rainy season to desert season. Things are drying out fast, so I've had to start watering. It looks like that will continue for the next few days, especially new plants I set out a couple days ago when rain was in the forecast and didn't happen. Not harvesting much right now: a few peas, and some green beans are just about ready. Turnips, potatoes, and tomatoes shouldn't be far off.

The flower in the thumbnail, that I keep saying I don't know what it is, seems to be some kind of tiger lily, though it doesn't have the spots most of them have.

Rain continues to be the story of this year's garden. There was water standing in spots when I shot this, and it's pouring again now as I upload it a couple days later. Things are still growing, though. Someday the rain will stop for a while, and it'll be time to do a whole lot of weeding and start setting out warm-weather plants like squash and sweet potatoes and planting late garden.

I talk a bit about how if/then/else decision-making translates from high-level languages to assembly, what is different about it and the usual instructions involved, with a small example.

One of the drive wheels on my self-propelled Lawnboy mower wore out. A new wheel comes as a unit with the gear pressed into it and costs about $40-50, so I thought I'd try making one myself. It's made of circles of scrap plywood, cut with a sabre saw, and three 3-1/2" 1/4" bolts with flat washers, lock washers, and nuts. Total cost $2.07. It seems to work pretty well, so I'm hoping as long as I keep the mower stored in the garage out of the weather, it'll last a while.

Sorry about the poor audio at the beginning. It does get better.

It's been a rainy spring, with some plants growing slowly and others never showing up at all, so I've been replanting some things. A couple very hard rains packed down the soil after plantings, which can make it hard for seedlings to break through the surface. There are plenty of plants growing inside to be moved out later this month, though, so there won't be any problem filling up the plots. Been eating lots of asparagus and strawberries.

Got about half the garden space planted before the latest big rain. Some of the early stuff seems to have drowned or failed to germinate because it was still too cold, especially the sweet corn, so that will have to be replanted. But the early potatoes are doing well, and there should be more early crops up soon. Harvested almost 8 pounds of asparagus so far and a few radishes.

Added a routine to create a dialog box for talking to neighbors in the game.

Added a routine to copy 64-byte blocks from bank 1 to bank 0, so we can take full advantage of the second bank of RAM for file space. Also bug hunting, as a previously tested routine turned out to be clobbering a location unexpectedly.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

This is a montage of several short videos taken from late March to April as I get started on the garden for this year. Includes a very quick explanation of how to make bean tepees, so if you want more details on that, please ask in the comments.

No programming in this one, just deciding on the graphics system for the Farm game. Along the way I explained the different text modes on the VIC-II a bit: standard, multicolor, and extended background. But in the end I decided to use the 80-column screen, so we'll get to use the routines we wrote recently for that.

Added a routine to load a file, and then started on padding the message data. I noticed when watching this that the loadfile routine doesn't get the first two bytes of the file, because the file is a PRG so it expects the first two bytes to be the load address. Have to fix that next time, and then finish up the message padding.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

Finished part 3 and 4 of the computation loop. Next step will be to write the part to load in a file and do the message padding.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

A short one this time, as we fix the bugs in the dot-plotting routine from last time. Now we can setup graphics mode on the 80-column screen and set and clear bits using x/y coordinates. We're finished with it for now, and will come back to these routines for programs that want to do 80-column graphics.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

I took a couple of extra days to kick around idea on prepping the message schedule, because I got stuck on that one, trying to abstract too much. It finally hit me to create four simple copy routines rather than one overly abstract one, and then that part came together. It should be easier from here on out, and next time we should get into loading in a file and padding it.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

I've had a couple requests to explain my programming environment, so here it is. I use keyboard-driven tools and have things setup to let me switch around between tools as quickly as possible, so it's probably not always easy to follow. Please ask if you have any questions. I don't claim this is the optimum setup for anyone else; this is just what works for me.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

Honestly, this one's pretty light on coding, so unless you're determined to watch every minute, it might be one to skip. I started on what I think will be the hardest part of the algorithm, preparing the message schedule, which operates on a sliding window of memory locations, so I spent most of this one thinking about and discarding different ideas for doing that. Next time I'll have that nailed down so we can get back to the easier parts and make better progress.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

Demostrated how attributes -- color, flash, underline, etc. -- work on in the VDC 8563 text display. Then shifted to the VDC's graphics bitmap and started writing routines to clear/fill the bitmap display and plot points on it. Stopped with a couple bugs in the code that we'll fix first thing next time.

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

It's too muddy to get in the garden for real yet, but I thought I'd move these marshmallow herb plants now that the ground was thawed. We planted them in this little flower bed a couple years ago, not realizing how big they'd get, and they kind of crowd everything out. The digging was harder than I expected, because they grew down into a pretty thick layer of rock, so I couldn't bring them up with a nice dirtball. That probably won't hurt anything, since herbs, especially perennials, tend to be pretty tough.

Once I had this one dug up, it started falling apart into several different plants, so it was already dividing itself. I planted five of them along a concrete wall where I've been wanting to put some cover. I have a feeling the remaining roots will come up again, so I may have to put plastic or something down for a while to snuff them out.

Also planted a few peas and radishes right behind these a couple days previously, just pressing them into the mud, but it's too soon for them to be up. I saw some chickens loafing there the next day, so they may have gobbled up the seeds already.

Continuing on the SHA-256 program, we create more low-level routines for copying chunks of data in different ways, and the remaining low-level SHA functions.

If you would like to contribute to support these videos, please see my Patreon at https://patreon.com/aaronbaugher . Thank you!

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

The chickens are enjoying the warmer weather, now that the ground is thawed and they can scratch for worms again.

Started writing routines to drive the 80-column display, starting with the most basic ones to write to the registers, and then building on those. The routines here are all for the text screen, and next time we'll start on bitmap graphics. I expect to use these for the Farm game, but they will make up a library that many programs could use.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

Here's a whiteboard tutorial on programming the 80-column screen on the Commodore 128. It's very different from the 40-column VIC display, since you have no direct access to 80-column screen memory and have to program it indirectly by reading and writing to the VDC's registers, which requires a handshaking process through a pair of registers at $D600 and $D601 in the C128's I/O block.

There will be another video soon demonstrating how to use the little routines here to do actual work.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

I'm starting two new programs, and this should be the shorter one (the other will be a game, first video coming soon). I thought it'd be interesting to see how well an 8-bit machine could handle work designed for 32-bit (or more) processors. So far so good; the low-level functions went faster than I expected, but next time we'll get into the harder stuff. See the "part 0" video (#24) for details on what SHA-256 is all about; this one dives straight into the programming.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

Memory management (banking) in the C128 is unlike the C64 or other 8-bit Commodores, since it uses the MMU to switch blocks of ROM and RAM in and out of service. This can seem kind of complicated at first, but it's essential to taking full advantage of the resources that the C128 provides, so I thought I'd do a whiteboard tutorial on how banking works and how to do it in assembly.

Looks like I still need to work on lighting. I added a lamp, but there are still some shadows. I hope that doesn't make it too hard to read my handwriting.

You can find related resources and a link to the code repository for the series here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

Finished the Worm game! Added the score display and the choice to play again or exit to a Ready prompt, and made it auto-boot from a disk image. Created and fixed bugs along the way, as usual.

It now functions pretty much identically to the BSD version. It could be dressed up with more features, like sound or more colors, so if anyone wants to fork the source code from the repository and do that kind of thing, please feel free. I'm going to move on to a more elaborate game and some other projects. Suggestions are welcome as always.

You can find related resources and a link to the code repository here: https://aaron.baugher.biz/pages/6502-assembly-language-programming/

SHOW MORE

Created 1 year, 11 months ago.

101 videos

CategoryVlogging

Videos from my garden and related topics, showing the progress throughout the year.