Beiträge von McGyver

    Sorry indeed no apple but Commodore Pet 🥴 My German is less than nothing so sorry if I misplaced thread 😌 just in case Admin could put it in better suited place.

    I’ll try change keyboard input like was done in Apex 0.2 (first page) or 0,5 (mentioned later in text) manual instead MTU keyboard, maybe that will work with tty.

    Bitte melde dich an, um diesen Link zu sehen.

    Previously discussed topics.

    Hello and Welcome to new thread about recreating MTU CODOS operating system for AIM65, SYM-1, KIM-1, MTU-130/140 made by MTU in 1980’s.

    The only available software archive consists of few manuals and few MTU-130 Disks with CODOS in version 2.

    First was Apex 65 as alpha system, second one was called CODOS and last one CODOS 2 which was configured especially for MTU-130 computer mainly based on 6502 processor but in very clever way they was able to extend system memory twice using indirect adressing.

    For now maybe half of system disk is disassembled and commented. First little modified version (downgrade I should say) starts on fully expanded Kim-1 with Visable memory and Disk controller.

    There was probably CODOS version which runs on Apple II.

    Hope we’ll make it work again and maybe something more :)

    Part of progress could be found here:

    Bitte melde dich an, um diesen Link zu sehen.

    Maybe someone good in assembly programming could help us to make it shine again :)


    MTU-130 and CODOS could be actually tested on Mame :) which is nice help with understanding that system.

    Good idea with new thread!

    I tested small routine which should read key from tty and put it in to buffer and also updates cursor pointer but that doesn’t work to good ;) as there’s no way to emulate that part too good on pc testing is quite slow ;) and debugging too.

    There’s two buffers and they doesn’t clear from previous data just update new one and some pointer to end or how many bytes are waiting.

    For now only Enter key works 😂

    Software keyboard driver is quite complex and hard to figure out which point triggers key press recognition and how it outputs it.
    in manual they say getkey outputs ascii character in A, but it looks like is doing much more in between that. Characters are put into buffer and on screen as well and many 6522 related things happens.

    For now I’ll try to use kim tty getch routine as keyboard input as it’s still in memory ready to use and feed that into getch codos routine or redirect that to kim routine, not sure yet how it ends but should work. That way system should be operative enough for tests and more bug fixes, especially that display needs more work and maybe little change in memory map to make it clean.

    Bitte melde dich an, um diesen Link zu sehen.
    First test version updated :)

    Font table will be created and used at $2000, Boot rom should be load and start at $2100 and will be overwriten after start, Visable memory at $4000 - 8k should be enough. K-1013 user ram $C000, system $E000.

    Actually just make that HFE file from img and should be good for test run on Gotek...

    DON'T TESTED YET ON REAL KIM so don't really know what to expect :) If I didn't mess something in boot rom that should at least show some activity on disk/screen.

    For sure they use similar display routines but only font table was left intact as is in k-1008 manual. Basic video output is coded in iodriver and more graphics related things are in graphdriver simmilar to that graphics package. So fot sure they use evolved versions of that routines, but not same ones.

    For keyboard they used 6530-003 on Kim-1.

    Bootstrap rom is located on end of system ram from k-1013 so last 256 bytes of it :) and only matters where we put that system ram.

    I think they made at least few versions of installation disks for kim/sym/aim.

    First alpha of system was Apex65 for Aim, than it evolved into CODOS 1.0 still beta and add kim and sym support.

    Than MTU-130 and Codos 2.0. Distribution disk should include support for something more than mtu-130 but doesn’t seem so.
    As we can make memory map today as we want and quite low cost the easiest way will be make kim similar to mtu-130 without banking instead keeping memory map like for kim-1 codos.

    Bitte melde dich an, um diesen Link zu sehen.

    I put here modified disk for now just adapted for k-1008 proper character display and moved font table from bank 1 into bank 0. To test it on kim I have to disable bank change for visable memory and move it somewhere safe :)

    For now I tested a little modified disk image under mame. For now system starts up to Date asking prompt so it's still working. I moved font table from end of "visable memory" to standard memory - that worked fine without any problems. Second thing... I modified few variables so output screen size is more close to K-1008 or at least will display characters properly. I still couldn't get rid of that addional 20 bytes for each line easly so that give some empty spaces or lines. I'll fight with that later. Most important display output should be good enough for some tests. I have to update pointers to font table - Done and working - now at test adress $2000 but could be placed somewhere else 672 bytes needed.

    Last thing to do is move VM from bank 1 to bank 0 to some "unused" adress which I made previously so that should work too - probably I use $4000 for test purposes. But could be anywhere on unused ram space but for now 8k needed even I'll use half of that.

    Still experimenting on Mame with CODOS.

    On top is mame actual display, system is stable and running. On bottom Kim-1 K-1008 with direct copy of first part of mame display memory seen on upper window. It needs some row reduction to fit smaller screen and little line cutout (lines are quite easy to change), but it displays properly on older visable memory at least font is properly displayed. I don’t want to add anything to original code which results in changes in memory addresses of routines or jumps but I want change proper system internal parameters (Which could only be identified by disassembly and some experiments). I want to make little modified floppy image and test run it on real kim soon. For now priority was to make display work properly and I’m quite close to make that work :) second will be some input keyboard or something.

    No PC or anything else I could connect it to 😌

    But after some fight it started working :)

    4 from 20 DSDD Floppies worked fine. Rated for 48tpi so maybe that’s problem. I should look for more proper one to test.

    At least test under cp/m with format and copy system works so drive seems to be fine, but media is suspected.

    I ended up with stock jumper setup excluding RDY instead DC and on 50->34 connection board Motor ON.

    Maybe tomorrow I run diagnostic on one working floppies to check is it fine.

    First test with BX off. DS1 and Motor always ON on connection board. And for now nothing spectacular... just $03 so some seek error code. I play a little more with settings I think.

    After powerup heads go to base position, motor starts after inserting disk, so at least some signs of life.

    Update. After setting jumper from DC to RDY, seek command started working, but it goes beyond last track up to center of disk and tries to go futher, so still something not right, but little better.

    When I set 1MB jumper to on... this time looks much better somehow, but seek sometimes go beyond last track. Format passed with $10 code. Hard to tell what exact should be set eather.