Jump to content

Mike Harris

Members
  • Content Count

    532
  • Joined

  • Last visited

Posts posted by Mike Harris


  1. When I wrote that piece I was using CPM.

    I haven't booted into SmartBasic in maybe 20 years other than trying it on an emulator.
    Seriously there is 100% no reason as in it is nothing more than Basic while CPM is an actual Operating system that allowed me to play Zork.

     

     

    BTW...CPM 3?? source code has been released if anyone wants to tackle the update to ADAM.


  2. Refined my routine to 2 bytes per map data with mirror.

     

    Great routine to reverse any 8 bit number.

     

    Got the idea from the original OS7 Reverse Sprite Routine listed in my ADAM Technical Reference Manual I bought back in 84.

     

    MIRROR:
    LD b,8 ; All 8 bits
    LD l,a ; Byte to be reverse
    REVERSE_ME:
    RL l
    RRA
    DJNZ REVERSE_ME
    RET ; return from call


  3. BTW, the reason why they didn't use the standard ADAMNet connector internally was because of the +12v for the drive motors.
    Does the Disk Drive use an external power supply not connected to the ADAMNet???

    I even asked the dude why they didn't use the DDDrive connector and he said he didn't want to rely on a 35 year old power supply.

    Well, hate to tell you but the Digital Data Drive do, they still work and I promise you that those motors draw more power than that SD Card emulator.

    You want to lower the cost then have an internal connector so you save on an adamnet cable and power supply.

    There are so many ways to improve this product but as far as I am concerned, right now I just need a way to transfer my game that I am working on to a real ADAM to test.

    BTW, I don't want to sound like I am knocking a solid product but lets hope there is a version 2 down the road that fills in the gaps.


  4. As an experiment to prove OR disprove my theory I am going to disconnect one of my internal DDP dives and connect it to an external power supply I have coming in the mail and then connect it to the external ADAMNET on the side.

    I bet you it will work.

    If I screw up my machine then oh well.

    I am also ordering the SD card drive emulator after Christmas.

     

    Look, I have nothing better to do with my life since I retired so I might as well screw with this thing.
    I'm already working on a game so this is just icing.

    • Like 2

  5. I looked at the connectors on the schematics and they are very limited.
    You have Adamnet, Ground + 5 +12 for motors and filter for logic
    -5 -12 ect...going off memory.

    They are just Adamnet connectors.

    The Digital Data Packs are no different than disk drives and only the bios inside the drives themselves has their limitations.
    They are tapes that think they are disk drives.

    If you read the System manuals they even say that each peripheral has an independent cpu, 6801 I believe, that is on the Adamnet.
    The keyboard has one, the printer has one, all the drives have one.
    Whatever drive you boot from becomes drive A or 1 and then the next one on the net becomes B, 2 and so on.

    The ADAM is an amazing machine for it's time and I have zero clue why no one has expanded the thing way beyond it's designation.
    It has plenty of address lines, a place for the modem, memory and that slot number 1 was used for an alternate or expanded Rom in Europe to change the fonts.

    Slow by today's standards but I bet I could connect it to my WIFI and control the lights in the house if I seriously wanted to.

    Hell, the Roller Controller is nothing but an upside down mouse when mice were unheard of on a home computer back in 1984.

    • Like 1

  6. OK, hate to say I stayed up last night but I did.

    I had to write my new map routine and I can say I am done with it.
    4 bytes per row at 24 rows

     

    Here is a sample code that reads the bits

    BIT_DRAW:
    PUSH DE
    PUSH BC
    LD DE, BLOCK
    LD C, A
    BIT 0,C
    JR Z, RD_BIT_1
    CALL DO_IT
    RD_BIT_1:
    INC HL
    BIT 1,C
    JR Z, RD_BIT_2
    CALL DO_IT
    RD_BIT_2:
    INC HL
    BIT 2,C
    JR Z, RD_BIT_3
    CALL DO_IT
    RD_BIT_3:
    INC HL
    BIT 3,C
    JR Z, RD_BIT_4
    CALL DO_IT
    RD_BIT_4:
    INC HL
    BIT 4,C
    JR Z, RD_BIT_5
    CALL DO_IT
    RD_BIT_5:
    INC HL
    BIT 5,C
    JR Z, RD_BIT_6
    CALL DO_IT
    RD_BIT_6:
    INC HL
    BIT 6,C
    JR Z, RD_BIT_7
    CALL DO_IT
    RD_BIT_7:
    INC HL
    BIT 7,C
    JR Z, END_THIS
    CALL DO_IT
    END_THIS:
    INC HL
    POP BC
    POP DE
    RET

     

    It took me a couple of hours and I had to write it into long form then I shortened it into a loop.

    You may say why but I went from of 12k down to 4 just by saving map data.
    My character is already moving and I have all my sprite data.
    So, I am estimating this will be either an 8 or 12k before more optimizations.


  7. Adding two more cents that come from experience and dealing with a REAL Coleco/ADAM with REAL Cartridges that I bought way back in 84ish. I am old BTW.

     

    To put on your radar.

     

    Smurf Rescue, not talking about the undress Smurfette but talking about moving back and forth between screens can reset your system failure.

    It has reset my coleco with garbage on the screen and with the ADAM it reset and made my printer go wild.

    MR. Do's Castle, not necessarily a bug but may have more to do with not enough bytes for the score.
    When my hands weren't doing other teenage things I was pretty good and the whole game scrambled when I scored too high, maybe when it should have turned over.

    Destructor had a habit of freezing and crashing and that was one of my favorite games.

     

    Black Jack and Poker on occasion would give me two of the same cards.

     

    All of these games I am talking about are all North America, non CBS, non European.

     

    A lot of these titles, all of my games as a matter of fact, I still have on DDP that I ripped from original Carts using Assembly Language and Smart Basic.
    I may have Floppies but have no idea what is stored because although I kept the software and some other goodies I pitched my ADAM and Disk drives in the trash when I went into the military.
    Now that I am back in the scene "quote" "quote" I picked up two ADAM'S, one broken DD Drives and One Never used and never will be.


  8. I personally think that a drop in replacement for the DD Drive would have been the way to go with built in flash memory that connects to any PC USB port.

    Drag and drop all disk and ddp images.

     

    And when I say drop in replacement that it would use the internal connectors of the DD drive as well.

    Cost effective?
    I know I would pay $200 for that device if the bugs were worked out and the damn screens back light stayed on.
    Maybe even a little more.

    It beats Ebay gouging for limited original disk drives.


  9. I have often wondered why someone with a 3D Printer or other modern tools just do not created the Coleco Prototypes for history sake.

    Sure they are copies but would be able to work with modern internals.

    Put the spinner back on the Coleco Joystick or a stick with blue buttons.

    Personally I like the Coleco with the white face plate.

    This is not like we were 40 years ago.

    Hell, someone can actually make the original SGM and install the micro string drives which were nothing but a looping 8 track if you ask me.


  10. Speaking of.

    What is on the market now that I can use to replace my DD and/or Disk Drives so I can easily transfer my work to a real machine for testing.

    All the usual outlets seem to be shut down and EBAY is the last resort which gouges the crap out of everything nostalgia.

    Until I pick something up I am stuck troubleshooting on an emulator.

     

    I mean seriously, they are making new stuff for the C64 and MSX that would blow your mind 30 years ago.

    I often wondered why there was never an ADAMNET hard drive/IDE interface designed by some 13 year old Chinese kid.


  11. When is the CV Programing guide for Assembly Language going to come out?

    It's more efficient and in some cases better in accessing low level systems.

     

    I know you geniuses that have been doing this for the last 20 years have routines you have collected over the years.

    Pass them on before you expire....Keep the legacy alive.


  12. My next project I will post screenshots and/or video.

    I am keeping a log of sorts on my progress but I want you guys to be impressed with my first work without expectations.

    To my knowledge this port has never been done and it is 100% my own data. Aside from the few pushes from you guys when I get stuck on syntax and some BIOS function.

     

    I have the original source code but that only goes as far as the look of the sprites and backgrounds so I can be accurate. All the logic is all mine.

     

    This is also not some MSX port where it is a close match to the VDP.
    This is an Atari Cartridge and most of my issues now are scale in nature because the Coleco was a higher resolution.

     

    I am not saying this is easy but it is not difficult either.

    I taught myself some z80 routines many moons ago on the ADAM when it first came out in 83? 84?

    Then I graduated to the Amiga and tried my hand at 68000 and Lattice C.
    I ended up playing games more than programing but I am no stranger to computer logic.

    If anything, I regret not doing this back in the early days and maybe I would have made some cabbage instead of going into the military.

     

    Audience will come with reputation.

    What I am looking forward to is my name on an official Coleco Cartridge which will end up on the internet for all time.
    As long as there is an internet I will be remembered.


  13. Awesome night...
    I should have slept but amazing breakthroughs

     

    Deciphered the color tables and added new routines to change the color of any pattern in VRAM with just a quick command.

     

    LD DE, BLUE_PAT
    CALL ROOM_COLOR

     

    LD DE, WHITE_PAT ect....

     

    Where the room color routine writes directly to the patterns color address.

     

    I can define any two colors or one solid color for building walls.

    So I draw my map, building or what not in Black then color it with one command that writes whatever 8 byte color to all three color addresses.

     

    I can even cycle the colors to have flashing Atari like graphics.
    Neat huh.


  14. Have my first sprite animations and now having to size up all 11 sprites to be proportional to each other and the rooms.

     

    I have a long way to go but it's coming along.

     

    I am thinking if there is more room once the game is completed I may tack on bonus features that extend the original game that I am porting this from but for right now that is the back burner.


  15. Thank you a lot.
    I already created a new mirror routine that will not take up ram which I found out is a measly 1k so instead it mirrors at the time of printing to the screen.

    However, your help is extremely useful because I now know how to use RAM when I need it for my next game which I will be necessary.

     

    I also came up with a new routine, not implemented yet, that breaks down a screen to between 4 and 8 bytes per row.

    So that comes to 96 bytes per screen mirrored or 192 just by using bits instead of bytes.
    This is screen mapping and does not include patterns or color data.


  16. Have my Character Sprite running around in at least 4 directions.
    Now trying to figure out how to read directly the pattern in VRAM into IX and IY so I can check if it can where a wall is.

    My approach in the loop is poll joystick, check (IX) (IY) pattern number If yes, move sprite, if no do not increment.

     

    When you create walls do you tend to check the pattern or the color?

     

    Does it even matter?


  17. Working on the maps now.

     

    I have already solved the MAP Compression and have gone from 26k to 11.4 in rom size with all map space accounted for.

     

    Now I have to figure out how to swap colors so I don't have to make two of each sets of each room.

     

    I also for the life of me can not change the border color in Mode 2.

     

    I have always just changed bit 7 in mode 1 which is the background color in mode 2.

     

    Does any of this have to do with the external VDP?

×
×
  • Create New...