Jump to content

Mike Harris

Members
  • Content Count

    532
  • Joined

  • Last visited

Posts posted by Mike Harris


  1. Well, if I am going to use up all 32k I want to give as much as I can.

     

    The maps I am producing for my first completed coleco game are so bland that all of this could be done in video mode 1.

    I personally have a sense that it would be lazy to render such bland graphics using 32k when there are games like Pitfall 1 and 2 that have so much in them.

     

    Also by developing this system of mapping it will be future proof for my second project.

     

    I will also hint that what I am doing are ports that have never been done on a Colecovsion and I hope you guys will be presently surprised.

    • Like 1

  2. Just an update.
    I figured out the mirror effect which I could literally slap myself of how easy it was.

     

    I changed from rendering an entire screen of 768 to printing one pattern at a time which save on blank area.

    Then I print out the first 16 places but at the same time printing another character on the other side but backwards as in...

    31 - whatever column I am at.

    Do that 24 times and you have a screen.

     

    To further reduce I have changed my data so now I can render an entire 768 pattern screen using only 48 bytes of the same block pattern for my maze.

    It wasn't hard to figure out considering you only need 2 bytes plus mirrored to fill a single row or 4 byes non mirrored.

     

    So now I am absolutely sure that all of this and much more will be able to fit on a real cartridge.

     

    I also received my second ADAM today which I picked up for a couple hundred.

    Both DD drives have been sitting and as I feared the rubber on both counter wheels are deteriorated and they are jammed with goo.

     

    So I will fix them later with a trip to Walmart for some hot wheel cars.


  3. I think it was something you said earlier and now I get it.

    I am creating a Coleco ROM as in Read Only.

     

    Once the data is created I can't write to that data in the real world so it can't be modified.

     

    So, unless I come up with another way to create a map then I need to go to the next step which would be use the Coleco Ram area.

    Copy the first line of data, mirror it then send it to the display.

    Repeat 24 times per room.


  4. My original intent was something as follows.

     

    take an 8 byte string of numbers such as

    db 016,016,016,016,000,000,000,000

    and mirror them so I end up with a 16 byte mirrored string of numbers.

    db 016,016,016,016,000,000,000,000,000,000,000,000,016,016,016,016

     

    Which seems to be easier said than done.

     

    I wanted to be able to mirror my mazes and save space to fit in a 32k cart for a real colecovision

     

    But to do so would be to parse my data set then print them one by one in reverse order or put them all in a buffer then send that to the screen.


  5. I should have paid more attention in my pointer class back when I was taking C++.

    I think one of my problems is that I am not loading data into the memory space where TEMPADD was defined.

     

    if it is currently 000 for the first byte I am trying to replace the 000 with say 34.

     

    I have tried everything I can learn about Assembly.

    such as &TEMPADD and (TEMPADD)

    Which I was shooting blindly in the dark.

    When I looked HL after TEMPADD was declared it gave the address.

    So I guess I have to point to the TEMPADD address and THEN poke the byte to that location?

     

    Then increment my pointer to the next byte location which would be TEMPADD+1

     

    I thought LDIR did all of that and was basically a copy command.

     

    DE info to be copied

    HL area to be copied to

    BC how many byes to be copied

    LDIR to execute


  6. SO using DE then duplicating all the data in LEVEL to the address at HL would work?

    Or do I have to reserve space such as

     

    LD HL, LEVEL
    LD DE, TEMPADD
    LD BC, 08
    LDIR

     

     

    Level:

    db 016,016,016,016,016,016,016,016

    TEMPAD:

    db 000,000,000,000,000,000,000,000

     

    You would think this was a simple process just to load all of the data from LEVEL into TEMADD so you have identical data sets.


  7. Can someone explain why this is not logically sound?

    TEMPADD: EQU 08

     

    LD HL, LEVEL
    LD DL, TEMPADD
    LD BC, 08
    LDIR

     

     

    Level:

    db 016,016,016,016,016,016,016,016

     

    When it gets compiles that data does not transfer from LEVEL to TEMPADD

     

    Just random garbage.

     

    All I am trying to do is transfer one set of data into a temporary address and I have even tried LDDR with same result.

     

    Being as I can't find a suitable TNIAsm replacement I have no idea if it is a bug in .45 because there is a v1

    or if it is my syntax I had much the same result with JNZ using TNIAsm.

     

    So if anyone has a drag and drop TNI replacement???


  8. Major strides today.

    Finally figured out how to create 256 separate characters (patterns) and apply the 2 colors per pattern or 1 color per line of the 8 lines of the pattern.

     

    Heck, I could draw pictures and put them to screen or scramble them up this is so cool.

    So now I have 15 colored blocks for my mazes, 0-9 another color while A-Z even another.

    I am so proud of my work.

    Now, if I could just figure out to change the border color in Mode 2. Easy in Mode 0 which was to change bit 7 I believe and write it.

    • Like 2

  9. I should just start a developer blog...

     

    I wrote a routine today that will take any table at any length that can be put with a 16 bit register and mirror it so I only have to create patterns for one half of the screen.

    Mostly done with a for loop but now I have to code it in z80.

     

    Will keep everyone posted.

    • Like 1

  10. I don't accept new projects, sorry. Try CollectorVision.

     

    Thanks, not looking for a publisher.

    Was asking the legality of making $$ off of old roms being the port is yours.

    You can even change the name from Puss in Boots to Cat in Shoes which seems to be the thing these days.

     

    Like I say, this first one is a freebie for the community and my learning rom.

    Later I will think about charging.

    I come from the old school where Infocom was king and if I release a title it will be professional that comes with collectibles.

    • Like 1

  11. I remember when I decompiled Coleco Omega Race back around 198???

    I was just a beginner back then and I discovered that they only had three data patterns for the ship and they were North, North East and East.
    Everything else was mirrored to those 3.

    If I am wrong then someone please correct me because I only found the 3 patterns at the time.

    • Like 1

  12. Just finished 7 maze (room) designs, tested them to screen. Everything displays, everything aligns side by side.

    I have over 20 more to do.

     

    Now...
    I have to use some compression techniques to reduce rom size.

    I can compile it and it will work in an emulator but I a want this to work on a real colecovision.

     

    So I am thinking of mirroring the data because all my mazes are mirrored like

     

    db *0,0,1,0,0,1,0,0 0,0,1,0,0,1,0,0

     

    As a quick representation.

     

    I need to take the first 8 numbers, my case 16 of the 32 pattern positions per row and reverse them THEN put them to screen.

    Also, there is a lot of dead space.

    Not all of the screen needs to be filled and my original idea of placing one character on screen at a time is looking better at this point.

    This is not like I am putting a picaso to screen, it is just a maze.

     

    I am just blown away at the instantaneous display when I call that pattern to screen.


  13. Development is coming along.

    I really want to share what I am doing but when it is done I will release it to the community as my first project.

    Gather feedback and then my next project maybe I will sell.

     

    From your experience if I port something from the Amiga like they did with Rick Dangerous, how does that play out if you want to make a few $$ of a port.


  14. Dude, you are AMAZING.

    I was putting things to screen one 8 bit character at a time like we did back in basic days.
    I knew that wasn't the way to do it either.

    Truth be told I have been hung up over a simple JP NZ statement that I could just not get to work no matter what up until I went to bed.

    Sometimes you need a break from staring at the screen for 20 minutes drooling and it's not porn.

    I have no idea where my syntax is off or it is a bug in TniAsm v.45 and I don't have 1.0.
    That's been the go to compiler only because I just drag and drop, rom is created and then I just load up the rom in any emulator handy.
    It really cuts testing time down to milliseconds but...

    Anyway, time to test out your lessons sensei.


  15. I have an involved question which HAS to be taught in a class because I can't figure it out.

    I have seen this in Amiga source code and I know it is possible but let me give you a quick example.


    For giggles say this was my map data at the end of my code.

     

     

    Screen1:

    DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    DB 0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
    DB 0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
    DB 0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
    DB 0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
    DB 0,0,0,1,1,1,1,1,1,1,0,0,0,0,0
    DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
    DB 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0

    Is there a way to put that data to the screen at one time and at any color in assembly.

     

    Such as

    LD,HL,Screen1

    LD, A, Color5

    CALL FILLVRAM

     

     

    Of course this is not to scale which would be 32x24 8 bit patterns.

    I remember being able to save an image with paint master and be able to instantly send it to the screen with a few pokes in smartbasic.
    I figured it out using The Hackers Guide to ADAM but that was a long time ago.

     

    In this project I am working on I wanted to create a map like above and put it to the screen but the only way I can do it at the moment is one character at a time.
    It does work but it also is not professional.

     

    How can I build a colorful maze one 8 bit character in some loop at a time.
    Using Mode 2 has also given me problems with the earlier border example as well.

    Maybe I should go back to Mode 1


  16. Changed to your example and actually saved 1 byte.

    I was wondering why I had to move A to C when I could have just loaded c with the color directly.

     

    As far as compiling I have really great results just dragging and dropping my .asm file on tniasm,exe and it creates a rom ready to go within less than a second.


  17. Thanks for the help.

    I did some research with my guide I bought back in 1984 which is the same thick book at Sac News.

     

    This is what ultimately worked for anyone who wants to know.

     

    LD A,$0A ; Border Color
    LD C,A ; Copy A into register C
    LD B,$07 ; B with register 7
    Call $1FD9 ;Write to the Register

     

    As I use these routines I am going to write them all down after I prove them to work then share them.
    Unless there is a book with these already out there.
    Sort of like a list of pokes and peeks back in the day that you would get out of a magazine.


  18. I have Gorf and Tunnel Runner for the Atari 2600.
    In the box and shrink wrapped when I bought them back in 1991.

     

    I am more or less just trying to get an idea for what they are worth to a collector.

     

    I am more into Coleco, Atari 5200 and Intellivision more than anything else.
    What's with the 5200 anyway, I thought it was a neat system and once you get used to the controllers everything played great.


  19. I am impressed that there is so much interest in a product that can be easily emulated on your phone or better yet in 4K my 80" TV.

     

    Seriously, get yourself a 3D printer and a raspberry PI then create your own version of a table top.
    Why pay a kickstarter for something that will make other people rich.

     

    Look what happened with the Oculus Rift for Christ sake.

×
×
  • Create New...