I've started on the conversion to native 40 column mode. Memory configuration was the first thing I had to tackle. I was able to carve up the data structures that are currently being held in VBXE memory and banked into $4000-9FFF, to fit in the extended banking window of $4000-7FFF instead. I was able to keep all monsters and items, and keep the total size of the map the same as in the VBXE version, although with a slightly different horizontal and vertical size (88x66 in the 40-column versio
So I couldn't leave well enough alone, and decided to add some features to the base Moria game. Of course you can still play the classic Moria without these additions. The Tavern (building 7): The local townsfolk often gather in the Tavern, at any time of the day. The Tavern's name and atmosphere are randomly generated each game, and will be the same throughout that game. This doesn't have any effect on the game itself other than add color. Inside the Tavern, you can (currently) Buy a Drin
Atari Moria v55 beta2: - added joystick control (joystick is only read if at least two vblanks have passed, which seems to provide the right feel.) Joystick button can be used for most any key prompts. Joystick button and direction digs a tunnel. - fixed a few bugs, many are probably still there (report them if you see any!) - added a pause at startup to get better randomization. - added creating items to wizard mode (you'll need the source, or some of the information on Moria websites to do
Atari Moria 5.5 Beta1.
Atarimax 8Mb cartridge image (old style banking)
Uses RAM under the OS.
All gameplay features of Moria v5.5 have now been ported, including monster memory. As you continue to play the game, you learn more about the monsters you are fighting and that memory is cumulative over multiple games/characters. You can recall those details when looking ('x' examine surroundings) and when the identify a character command is used ('/').
Please report an
Released Atari Moria 5.5 alpha3 for testing... please let me know any bugs.
Atarimax 8mbit cartridge image, old style banking, cartridge type 42
Uses RAM under the OS (XL/XE only)
Moria is almost 100% ported over... only the look command and maybe monster memory recall (currently I'm not planning on implementing it due to how much memory it needs, but I may change my mind.) Dungeon generation is on average 2-3 seconds due to swapping out the 32-bit random number generato
After adding the functions to write saved game and highscores, which have to sit in main memory, I'm officially out of memory.
I will have to disable the OS and use the memory under the OS to complete porting the game. The good news is that I believe there will be enough memory and that it is possible to port the (almost; minus recall monster memories) complete Moria to the Atari with VBXE and Maxflash cart.
Attached is the last version that works without using memory under the OS. So
And kobolds, slimes and snakes.
Got the basic Moria monster code running on the 8-bit. Monsters can move and attack you, and you can attack back and kill them gaining experience (and levels). You might want to wear your armor and wield your weapons and avoid Battle Scarred Veterans on the town level.
Besides the monsters, these functions added since last beta/demo:
? - brings up the help screens
M - Map has been rewritten and fixed
W - Where am I (map feature)
P - Peruse books (y
I've taken a small break from porting and started doing a bit of optimizing, mainly by using lookup tables when writing into VBXE memory, and for lookups of the Cave structure, which eliminates the multiplication. Game play is bearable at standard Atari speeds now. There's still a few other places I'd like to optimize, but for now, back to porting.
I've also found and fixed a few other bugs:
- created custom cgetc, as the cc65 version was writing into the screen (I'm not using the Atari s
Here's a the second Atari 8-bit Moria demo. Like all the others, this cartridge image is an Atarimax 8mbit cartridge, old style 127 bank cartridge. Try it in Altirra with Warp Speed to speed up the cave generation (no optimization of this was been attempted yet!) Requires VBXE!
In this demo, you can create your character, and walk around the Town and Dungeons. "rogue-like" commands are being used. It's possible to pick up, wear, equip and drop items. Although there are no monsters yet,
I've been working hard on porting the dungeon code, and have four 8k banks ported over so far, which is the main dungeon, character move, light routines and some miscellaneous dungeon routines (go_up_stairs, go_down_stairs, etc...) I should have another demo soon that will let you walk around Moria on the Atari 8-bit. I also have fixed a few more bugs and have done some basic optimization by creating some lookup tables. There's still quite a bit of optimization to be done of course.
I've completed porting the store code and inventory code, so all actions can be done in the stores now. I have attached a demo of the progress so far. It's an Atarimax 8Mb cart like usual, old style bank 127 and requires VBXE. Run it in Altirra with Warp Speed on as it is un-optimized still.
You can roll your character and then you will be presented with a choice 1 for Town, 2 for random dungeon. Pressing 1 will show you the generated town, and then will proceed to show you the inventori
I've been continuing work on porting this, and have sell haggling done and quite a bit of the inventory code too. I was thinking tonight about the possibility of a non-VBXE port. I'm using VBXE for the 80 column display and the ability to bank in lots of memory. It's possible, if I can get the port done, that I could create a non-VBXE port using an Atarimax 8Mb cartridge, and at least a 256k memory expansion. I would have to drop some of the items probably (there are actually quite a few tha
Another small update, purchase works in the stores now. Load this in Altirra as a AtariMax 8Mb flashcart (old bank127 startup version).
It will run through the player creation code, generate and draw the town, and then drop you straight into the store display, starting with the first store (6 stores in total). ESC goes to the next store, 'b' browses the next page of items if there are more, and 'p' will let you haggle to purchase an item.
Once you press ESC on the last store, the code
About a year ago was the last time I touched the source of Moria, and at that time there was a nasty bug in some of the store code that I thought was causing the store items to be corrupted. After familiarizing myself again with the banking spaghetti that is my port to the Atari, I found the problem is only in the store_display code. A couple of debugging sessions later, I narrowed it down to the object description code. Moria builds the object descriptions sort of "on the fly" displaying the
Has it really been a year since I updated this Blog? Wow.
I've been continuing to port Moria over to the Atari 8-bit, equipped with VBXE and an Atarimax 8-Mbit (1024K) cartridge. I've just gotten all the bugs out of the store_maint procedure, which runs during the generation of the town. This populates all the stores with items, and also rotates the items periodically. It was quite a hassle to get ported over properly, since all the data being used is in overlapping banks of RAM that is
The code to generate caves is now ported over, and appears to be working. I had to track down some nasty bug in the normalized random number code (not the original, but changes I had made to be more "cc65" friendly). It's a bit slow, but overall not too bad. The first goal is to port the code "as-is" and then make any improvements that might be made. There's also a bug where items will get placed in the "rock" and not in open spaces... need to figure that out still.
Attached is an Atarim
A couple of screencaps to show some progress... there's still a few bugs to track down in the cave_gen code, but it's starting to look promising.
Edit: added some color just to see what it would look like. alloc_monster is now working too.
Milestone 1 reached! All Init and Create Character code is complete and (presumed) working. The attachment is still an Atarimax 1Mbit flashcart and requires VBXE. Check it out in Altirra.
Left to do:
1. Make this into an 8Mbit cart-easy to do with cc65 linker config.
2. Port Generate cave code
3. Port Dungeon code
4. Write new character save/restore code
I should be able to add music playing in the VBI, and possibly joystick control once I get the main code ported to
I installed a VBXE board in one of my Atari 8-bit computers recently, and I was batting around ideas of what to do with it. One of the ideas I had involved the 80 column text support. There are many text based games for other 80-column machines, and my favorite from years past was Moria. It's written in C, and since the Atari 8-bit has a great 8-bit cross compiler in cc65, I thought it might be possible. One issue is the fact that the data and code of Moria will not remotely fit into 64k, wh