Jump to content
Asmusr

4K Short'n'Sweet game contest

Recommended Posts

 

I'm not sure what the internal resources are, but if just the VDP routines (VSBW, VMBW, ...) you would have to provide your own. They won't take up many bytes and it's the same for everybody.

 

Not quite so. As a personal retrochallenge as well as motivation, I was contemplating using only the LBLA and the MM on an unexpanded console for this contest to see if I could do it, and in that scenario every byte counts given that I have less than 1K of usable RAM for my program. Using the original hardware as it was back in the day is one of the main attractions to this hobby even though I do use emulators and expanded systems as well.

Usage of the MM does not confer any advantage, quite the contrary, so I'm not clear why you are imposing that restriction. The poll question relating to the MM was not well worded unfortunately, and I think you took the wrong conclusion from it. Would it be possible to have a 1 question poll worded something like this?

 

Mini Memory usage

  • Use of the Mini Memory module is required
  • Use of the Mini Memory module is allowed but not required
  • Use of the Mini Memory is not allowed

I think that is unambiguous and will convey the wishes of the contestants better.

 

Sorry if I'm belaboring that point, but I have an acute dislike for decisions rooted in shaky ground.

Share this post


Link to post
Share on other sites

Just to muddy the waters a bit, back in the 1980's I modified the LBLA so it resided in the memory expansion. Using it there would give you the full 4K of ram in the mini memory.

The other charming feature of the LBLA is the inability to edit your code easily. I got in the habit of inserting a few NOPs here and there so changes could be made without retyping the entire program.

I'm thinking that with a text editor and the ability to paste using Classic99 much of those editing problems would go away.

If you do these things does it still count as using the LBLA?

Share this post


Link to post
Share on other sites

Just to muddy the waters a bit, back in the 1980's I modified the LBLA so it resided in the memory expansion. Using it there would give you the full 4K of ram in the mini memory.

The other charming feature of the LBLA is the inability to edit your code easily. I got in the habit of inserting a few NOPs here and there so changes could be made without retyping the entire program.

I'm thinking that with a text editor and the ability to paste using Classic99 much of those editing problems would go away.

If you do these things does it still count as using the LBLA?

 

It wouldn't be as painful for sure, although I would still want to limit my program to under 1K.

Most likely I'll create a rough draft of the program in an editor and insert strategically placed NOPs as you suggested before typing it in using the LBLA. This should hopefully minimize the need to retype part or all of the program although I'm sure this may happen at least once :) I'm going to try not using an emulator at all.

Again, I consider this exercise as a personal challenge, and not a very rational one I might add :P My feelings are that we have been spoiled by all the fantastic modern tools available to us and I for one would like to try and see if I can match the efforts of the early pioneers using primitive tools. It's like trying to recreate the pyramids using using only the resources available to ancient Egyptians he he... There is something innately satisfying to that process, difficult as it might be, especially when brought to fruition.

Share this post


Link to post
Share on other sites

 

Not quite so. As a personal retrochallenge as well as motivation, I was contemplating using only the LBLA and the MM on an unexpanded console for this contest to see if I could do it, and in that scenario every byte counts given that I have less than 1K of usable RAM for my program. Using the original hardware as it was back in the day is one of the main attractions to this hobby even though I do use emulators and expanded systems as well.

Usage of the MM does not confer any advantage, quite the contrary, so I'm not clear why you are imposing that restriction. The poll question relating to the MM was not well worded unfortunately, and I think you took the wrong conclusion from it. Would it be possible to have a 1 question poll worded something like this?

 

Mini Memory usage

  • Use of the Mini Memory module is required
  • Use of the Mini Memory module is allowed but not required
  • Use of the Mini Memory is not allowed

I think that is unambiguous and will convey the wishes of the contestants better.

 

Sorry if I'm belaboring that point, but I have an acute dislike for decisions rooted in shaky ground.

 

I'm trying not to run this contest but let the community decide the rules. I have no problems with option 2: "Use of the Mini Memory module is allowed but not required". So unless anyone else objects I think we should go with that instead of having another poll.

  • Like 3

Share this post


Link to post
Share on other sites

 

I'm trying not to run this contest but let the community decide the rules. I have no problems with option 2: "Use of the Mini Memory module is allowed but not required". So unless anyone else objects I think we should go with that instead of having another poll.

 

Sounds good. Thanks!

Share this post


Link to post
Share on other sites

To clarify. :)

 

The 4K game can be loaded or stored anywhere in a standard TI-99/4A configuration equipped only with Mini Memory and a pair of joysticks. TI Basic is welcome. It appears that storing the 4K on cartridge is fine too.

 

I suspect the latter could obviously include ROM but also GROM. GPL programs are welcome ?

 

A combination of ROM and GROM should also be possible ? This is very much old style TI stuff. Most cartridges had this, and UberGROM and FinalGROM support this fine.

 

Sideport cartridges is old style too (Tigervision). This requires some GROM to work, and can coexist with the Mini Memory. So you could have 256 bytes of GROM, 3.75K ROM and then 4K RAM at your disposal ?

Personally I think I'll be fine with a 4K ROM cartridge and 256 bytes of Scratch-Pad, but I do want to know if we can use a Mini Memory configuration with a 4K game in ROM and with 4K RAM at ones disposal ? This is technically supported in the Mini Memory Module, with the FinalGROM and a combination of Mini Memory and sideport cartridge.

 

;)

 

 

Share this post


Link to post
Share on other sites

Personally I think I'll be fine with a 4K ROM cartridge and 256 bytes of Scratch-Pad, but I do want to know if we can use a Mini Memory configuration with a 4K game in ROM and with 4K RAM at ones disposal ? This is technically supported in the Mini Memory Module, with the FinalGROM and a combination of Mini Memory and sideport cartridge.

 

No I don't believe we allow both 4K RAM and 4K ROM. I haven't thought about GROM/GPL before, but I guess any combination of ROM/RAM/GROM is fine as long as it doesn't exceed 4K. In addition to that you can use scratch-pad.

  • Like 1

Share this post


Link to post
Share on other sites

No I don't believe we allow both 4K RAM and 4K ROM. I haven't thought about GROM/GPL before, but I guess any combination of ROM/RAM/GROM is fine as long as it doesn't exceed 4K. In addition to that you can use scratch-pad.

 

Ok. Fine. :)

 

A trick of sorts, is to load the 4K game into the 4K RAM of the Mini Memory - using cassette or an image. Easy Bug has Save, Load and Execute. Then the trick is to load what you need from RAM to VRAM, and then that RAM is free for whatever you need (data gymnastics, screen buffer, recursive stack stuff etc.). I'm not asking, since this must be allowed. Another trick is to scroll character pixels in RAM (where they are in the first place) before copying / dumping / blitter to VRAM.

 

;)

Edited by sometimes99er
  • Like 1

Share this post


Link to post
Share on other sites

 

Ok. Fine. :)

 

A trick of sorts, is to load the 4K game into the 4K RAM of the Mini Memory - using cassette or an image. Easy Bug has Save, Load and Execute. Then the trick is to load what you need from RAM to VRAM, and then that RAM is free for whatever you need (data gymnastics, screen buffer, recursive stack stuff etc.). I'm not asking, since this must be allowed. Another trick is to scroll character pixels in RAM (where they are in the first place) before copying / dumping / blitter to VRAM.

 

;)

 

Hah! Never thought of these tricks! They might come in handy! :)

  • Like 1

Share this post


Link to post
Share on other sites

 

Ok. Fine. :)

 

A trick of sorts, is to load the 4K game into the 4K RAM of the Mini Memory - using cassette or an image. Easy Bug has Save, Load and Execute. Then the trick is to load what you need from RAM to VRAM, and then that RAM is free for whatever you need (data gymnastics, screen buffer, recursive stack stuff etc.). I'm not asking, since this must be allowed. Another trick is to scroll character pixels in RAM (where they are in the first place) before copying / dumping / blitter to VRAM.

 

;)

 

Absolutely. Mandatory in some concepts! (Not mine, what I'm trying to do is pretty simple ;) ).

  • Like 1

Share this post


Link to post
Share on other sites

This looks like fun. I am an XB / XB Compiled only person, But I'd like to try each game/entry and maybe rate them if allowed.

 

After this compo, I'd like to see and open contest.

I know I cannot compete with the stuff others are putting out, but it would be fun to try! ( hopefully motivating too? )

 

Sometimes I have a bad motivator like that red R2 droid....

  • Like 3

Share this post


Link to post
Share on other sites

Thank you!!! That worked perfectly! That said, I just realized that Classic99 does not support tapes, so saving any programs will not be possible. Rats... Is there a way to have Classic99 retain its memory state after shutdown, at least for the MM module? Doubt it but it's worth asking :)

Share this post


Link to post
Share on other sites

(I somewhat feel an urge to mention that MAME supports it all, from tape to LBLA and saving.)

 

I did not know that. I'm several versions behind on MAME, so I'll need to update....

Share this post


Link to post
Share on other sites

Thanks Michael :)

There is a solution to the Classic99 tape issue though, and that is to just paste my code straight from an editor into the LBLA. Works just fine as long as only a single space or a label precede the opcode and operand. This will likely be a better solution than saving to tape because with the latter you lose all the code text and are only left with the assembled instructions when the program is reloaded, thus making editing and debugging that much more difficult.

Now it's a decision I need to make whether I really want to go the painful but authentic way of using the MM module or cheat by copying and pasting code straight into it :P

Share this post


Link to post
Share on other sites

Just assemble into option 3 using editor assembler and load using the mini memory loader or with CALL LOAD.

 

It's still authentic and legitimate!

Share this post


Link to post
Share on other sites

Just assemble into option 3 using editor assembler and load using the mini memory loader or with CALL LOAD.

 

It's still authentic and legitimate!

 

Theoretically you're right because the E/A module and the MM were coexistent at the time.

Share this post


Link to post
Share on other sites

Yes the MM module definitely loads #3's from disk. Done it hundreds of times. REF and DEF tags are also supported. It's very nice!

  • Like 1

Share this post


Link to post
Share on other sites

Yes the MM module definitely loads #3's from disk. Done it hundreds of times. REF and DEF tags are also supported. It's very nice!

 

I just have to be careful to use the references for the MM utilities and not the ones in the EA module :)

Share this post


Link to post
Share on other sites

Classic99 actually includes the Line-by-Line assembler (and LINES) in DSK1 (MM_LBLA.OBJ and MM_LINES.OBJ). They can be loaded with LOAD AND RUN. Instructions for loading and starting are on page 51 of the manual.

 

Classic99 also does a save state of the MiniMemory RAM and should restart with the correct data. I can't check right now though I saw the file on my disk. ;) Let me know if that's not working.

 

Can't help you with the CS1 save at the moment. ;)

Share this post


Link to post
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.

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