Jump to content
IGNORED

MazezaM 8ko version


Recommended Posts

Hi.

It's the very first time I code a game on Atari 8-bit computer. I have my 800 xl 40 years ago and it's time to work on it.

I begun 2 weeks ago reading book and testing the hardware. I played MazezaM on supernes and thought it'll be a good game for testing. I found hirudov web site and don't saw any atari version. I just saw an already done version here on atariage by XXL. So I apologize for this second version. But As I have finish it, I post it.

 

The main purpose of this development was to understand the hardware and watch how many data I can put in the original atari 400 8ko Ram version. Before making a more comlex game.

 

I still have free memory on the Player/Missile ram. Nearly $475 octets.

 

The game have simple sound fx when you move a crate. 42 levels with name. 100% asm.

 

Press START to begin and "r" in game to restart level.

 

mazezam01.png

mazezam02.png

mazezam_atari8bit.zip

  • Like 15
  • Thanks 2
Link to comment
Share on other sites

16 minutes ago, DjayBee said:

This is the legacy of XXL. 🤪

Maybe :) , also tried booting a SDX3.3 disk with it on and it crashes just the same.

 

Ok, figured it out as I suspected, won't run with any DOS:-

See the program segments below, will have to try it from the SIDE 3 loader, just

a pain getting it on there :(

 

 

D4:MAZEZAM.XEX

Select Output Device
Screen, Printer or Disk
Segment  1: Load:0600 End:0BF6 Size:05F7
Segment  2: Load:0C00 End:0CCC Size:00CD
Segment  3: Load:1000 End:106F Size:0070
Segment  4: Load:1BC0 End:1FE6 Size:0427
Segment  5: Load:0CCD End:0FD1 Size:0305


****** COMPLETE ******
Press Return to Continue

 

 

EDIT: put it in a SIDE3 and tried loading directly from the loader menu, still crashes, I set

the system to OSB stock memory and OS XL/XE stock memory, still crashes

Edited by TGB1718
Link to comment
Share on other sites

Posted (edited)

Yeah sure. I never use DOS nor test with it. The only part I use ingame is the Cassette/Tape Buffer at $400 for decompressing the levels.

Thanks for the test, i'll debug it to understand that.

 

Segment  1: Load:0600 End:0BF6 Size:05F7       Main Code
Segment  2: Load:0C00 End:0CCC Size:00CD      Display List
Segment  3: Load:1000 End:106F Size:0070       Character Set
Segment  4: Load:1BC0 End:1FE6 Size:0427       Data part 1
Segment  5: Load:0CCD End:0FD1 Size:0305      Data part 2

Edited by tonma
Link to comment
Share on other sites

1 hour ago, tonma said:

Yeah sure. I never use DOS nor test with it. The only part I use ingame is the Cassette/Tape Buffer at $400 for decompressing the levels.

Thanks for the test, i'll debug it to understand that.

 

Segment  1: Load:0600 End:0BF6 Size:05F7       Main Code
Segment  2: Load:0C00 End:0CCC Size:00CD      Display List
Segment  3: Load:1000 End:106F Size:0070       Character Set
Segment  4: Load:1BC0 End:1FE6 Size:0427       Data part 1
Segment  5: Load:0CCD End:0FD1 Size:0305      Data part 2

You will crash almost every DOS and even GameDOS using that memory locations. Page 6 is OK, and for "standard" DOS compatibility better don't use anything till $2000 then with blocks, that have to be loaded. 

Link to comment
Share on other sites

42 minutes ago, DjayBee said:

Does 8ko mean that your program has only 8KB or that you will use only 8KB of the machine, meaning addresses from $0000-$1FFF only?

This makes for a very big difference. ;)

Yep. I want to target the original Atari 400 with only 8ko of ram ($000-$1FFF).

I forgot to put it in the name of the post, but I explain it later "original atari 400 8ko Ram version" ;-)

  • Like 3
Link to comment
Share on other sites

12 minutes ago, tonma said:

Yep. I want to target the original Atari 400 with only 8ko of ram ($000-$1FFF).

I forgot to put it in the name of the post, but I explain it later "original atari 400 8ko Ram version" ;-)

Then you have to do it your current way and forget about using a DOS because as Wrathchild just wrote: Loading something with/from DOS requires more or less to start at $2000.

 

To make it run on real hardware you need to create a boot medium which does not need any DOS but reads raw disk sectors or tape blocks.
The Atari's OS out of the box supports nearly any starting address and can load one continguous block of data by itself. In your case this would be $0600-$1FE6.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

2 hours ago, DjayBee said:

Loading something with/from DOS requires more or less to start at $2000.

this is not entirely true - you can create a substitute for DOS, e.g. xBootDOS in the first version had a MEMLO of $700 (the sector buffer was under $600) I think that with a bit of will you can fit xBootDOS below $600.

 

2 hours ago, tonma said:

I want to target the original Atari 400 with only 8ko of ram ($000-$1FFF).


I have solution: Boot Loaders with ZX0 decompression on the fly and work with memlo for less than $600 (I have an analogous loader with ZX0 decompressor on the fly for a tape recorder and it takes 2 records)
If you are interested in such a solution, I will dig out the old project.

 

 

====

I like the idea of writing a game for Atari with 8KB RAM more and more

Edited by xxl
  • Like 1
  • Thanks 2
Link to comment
Share on other sites

First of all congratulations 🎉, it is a great achievement to make such a nice game using few resources and in assembly language. 🤩

 

Secondly tell us more what assembler you used, support program, etc... also interesting series that in the future you publish the source code on github for example to encourage people to develop. 😉

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Two tips:

1. Consider starting the game not only by pressing the START key, but also by pressing a joystick button.

2. After some time, the ATRACT mode is activated, even though one is actively playing the game. Consider resetting the ATRACT register after each detected joystick input.

 

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
23 hours ago, xxl said:

I have solution: Boot Loaders with ZX0 decompression on the fly and work with memlo for less than $600 (I have an analogous loader with ZX0 decompressor on the fly for a tape recorder and it takes 2 records)

If you are interested in such a solution, I will dig out the old project.

 

It's interesting. But don't dig for now. I don't have tape anymore to test.

The main problem here for the dos as I understand, is that we need dos to run drivers of sd reader via sio. For computer with 16ko at least, I can change my addresses above $2000 and make an xex for it.

And if we can use sd card on 400 with 8ko ram + dos, do we have enough space ?

 

23 hours ago, xxl said:

I like the idea of writing a game for Atari with 8KB RAM more and more

Yep. It's always fun to code with limits. I rewrote lot of my code again and again to reduce with more clever. But i can certainly reduce it a lot more.

Edited by tonma
Link to comment
Share on other sites

2 minutes ago, tonma said:

And if we can use sc card on 400 with 8ko ram + dos, do we have enough space ?

No, DOS will take too much memory in an 8K system, your code just will not fit.

 

 

The only solution(s) for an 8K machine is a boot disk like I posted as it doesn't require any DOS or

a Cassette boot using the same method :)

 

  • Thanks 1
Link to comment
Share on other sites

4 minutes ago, tonma said:

And if we can use sc card on 400 with 8ko ram + dos, do we have enough space ?

Don't rule out using an 8K ROM, any self-modifying code and DATA / SCREEN RAM can be located in low memory but most code will happily run from ROM.

 

The vast majority of users these days will have a device that can run a ROM image

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

17 hours ago, ascrnet said:

First of all congratulations 🎉, it is a great achievement to make such a nice game using few resources and in assembly language. 🤩

 

Secondly tell us more what assembler you used, support program, etc... also interesting series that in the future you publish the source code on github for example to encourage people to develop. 😉

Thanks.

I use Mads with a simple notepad for the code and the grafix. I'll certainly make my own tool for converting gfx later.

For the Github, it's a good idea but I need to change all comments in english and clean a little 😅. There's a lot of tests inside, note sure it's a good code for learning.

  • Thanks 1
Link to comment
Share on other sites

41 minutes ago, TGB1718 said:

As I couldn't find a way to load and run this program, I converted it into a boot disk (attached)

using BUG/65 The program runs fine this way 

Thanks. I'll look for this tools for a next version.

Link to comment
Share on other sites

24 minutes ago, baktra said:

Two tips:

1. Consider starting the game not only by pressing the START key, but also by pressing a joystick button.

2. After some time, the ATRACT mode is activated, even though one is actively playing the game. Consider resetting the ATRACT register after each detected joystick input.

 

Thanks, I'll add that. Totaly forgot about Atract.

  • Thanks 1
Link to comment
Share on other sites

also, most SD card readers don't need the menu selection system and can't set images without it, The ones without displays of any kind might require the menu but it's up to them to find a solution. Once he image is selected, the machine won't be using any of that menu memory anyway.

  • Like 1
Link to comment
Share on other sites

1 hour ago, tonma said:

Thanks. I'll look for this tools for a next version.

You don't need an external tool to generate a boot disk image.

 

A little bit of magic with MADS' assembler directives can generate an ATR diskimage directly from the assembly process.

If you like, I can support you there.

  • Like 2
Link to comment
Share on other sites

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...