Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    emard
    @emard
    @lawrie floppy can be provided by esp32. Either as block-to-BRAM or a track-to-BRAM SPI slave. If mac floppy block size iz small like 128 bytes it well be slow, then track-to-bram is better. All this also depends on how complex is mac floppy image format, can micropython with moderate parsing get raw data out of it
    Lawrie Griffiths
    @lawrie
    @emard It may be the same format that the Apple 2 uses.
    I need to work out how the IWM works first, or possibly use the implementation from the Mister project - https://github.com/MiSTer-devel/MacPlus_MiSTer/blob/master/rtl/iwm.v
    emard
    @emard
    @lawrie if this is just a simple binary file that can be seek()'d to block/track position and BRAM filled directly from the file, this is ideal for esp32 :)
    e2kgh
    @e2kgh
    @tingox_gitlab : you have problems with ghld on tg68k, or minimig? I think/remember, that Till had a setup to simulate in ghdl, when he made Mist ...
    emard
    @emard
    @tingox_gitlab ps2 issue is easy to solve by replacing "inout" with "in" and "out" around Minimig1/Fampiga. but this one I can compile only if I brute comment out errorneos line because this code snippet is not cleanly written. I'm not sure will 68K be functional after this.
                            IF clkena_lw='1' THEN
                                    exec <= set;
                                    exec_tas <= '0';
                                    exec(subidx) <= set(presub) or set(subidx);
                                    IF setexecOPC='1' THEN
                                            exec <= set_exec OR set; -- error is here, if I comment out what will happen
                                            exec_tas <= set_exec_tas;
                                    END IF; 
                                    exec(get_2ndOPC) <= set(get_2ndOPC) OR setopcode;
                            END IF;
    emard
    @emard
    with this parts just deleted, then we have another problematic issue:
    Info: Annotating ports with timing budgets for target frequency 12.00 MHz
    ERROR: cell type 'twowaycache' is unsupported (instantiated as 'myfampiga.mysdram.mytwc')
    David Shah
    @daveshah1
    This means the 'twowaycache' module has never been included anywhere
    probably, some VHDL or verilog file was forgotten
    emard
    @emard
    hmmmm, I must check, it should be included and contain 2-way bram which may have issues with infering
    or maybe it is transition between verilog-vhdl mixing
    David Shah
    @daveshah1
    There are sometimes lower/upper case issues when mixing languages
    Torfinn Ingolfsen
    @tingox_gitlab

    @tingox_gitlab : you have problems with ghld on tg68k, or minimig? I think/remember, that Till had a setup to simulate in ghdl, when he made Mist ...

    Actually, I have too little experience with both ghdl and minimig code to be able to say which it is. Previous experience with minimig has been mostly adjusting existing projects (made by others) to a new board (with altera or xilinx fpga), but still using vendor tools (quartus / ise). Also, it is clear now that ghdl requires a different (higher) level of correctness for the vhdl code compared to vendor tools.

    emard
    @emard
    Somehow vhdl is not recognizing "twowaycache" instance, maybe it's something different what I don't see like a missing signal or so. Problem is that I have to wait very long for nearly complete compilation and routing until this error happens. If ghdl/trellis/yosys could have made it to report earlier, that would be human-friendy
    Torfinn Ingolfsen
    @tingox_gitlab
    quick question: in linux-on-litex-vexriscv, is it possible to tune / adjust the build so it fits into a ulx3s 12F board? When I simply run $ ./make.py --board ulx3s --device LFE5U-12F --buildthe design ends up being to big to fit into the fpga.
    Goran Mahovlic
    @goran-mahovlic
    maybe you can use --device LFE5U-25F
    if it is not default
    Torfinn Ingolfsen
    @tingox_gitlab

    I'm not sure that will work; I tried loading the precompiled bitstream (from https://github.com/litex-hub/linux-on-litex-vexriscv-prebuilt) but then fujprog complained

    tingo@kg-core2$ fujprog build/ulx3s/gateware/top.svf
    ULX2S / ULX3S JTAG programmer v4.6 (git 0a4cc36 built Jul 22 2020 22:13:24)
    Copyright (C) Marko Zec, EMARD, gojimmypi, kost and contributors
    Using USB cable: ULX3S FPGA 12K v3.0.8
    
    Found LFE5U-12F device, but the bitstream is for LFE5U-45F.
    
    Failed.

    unless there is a way to override fujprog checking?

    Lawrie Griffiths
    @lawrie
    @emard I have managed to coax my Mac Plus implementation (with a few temporary hacks) to get to the point where it prompts for a floppy disk. The floppy disk implementation looks complex, so I will probably use some of the code from the Mist/Mister implementation. As far as I can see, the Mister implementation downloads the whole 400kb floppy disk image into SDRAM.
    I think the Mac Plus version supports 800kb floppy disks as well as 400kb ones.
    The interface that the rom uses is the Integrated Woz Machine - http://www.brutaldeluxe.fr/documentation/iwm/apple2_IWM_Spec_Rev19_1982.pdf
    emard
    @emard
    @lawrie hm, this looks like some apple's solution to support new formats 3.5" 400/800KB with backwards compatile support of old 5.25" floppiys for apple ][ so my guess is that track and block access could be similar to apple ][ otherwise the chip would be too expensive. Still I don't get what would such compatibilty offer to users in practice as 5.25" won't fit to 3.5" drive.
    Goran Mahovlic
    @goran-mahovlic
    @tingox_gitlab you will need to use ecppack and ecpunpack to set right id, but it will work!
    not for 45F
    but 12F/25F
    but maybe some tweak is still needed to fit litex on 25F - I am not sure in that - recently I did saw some messages on twitter about it...
    Erik Piehl
    @Speccery
    I've continued to work on my icy99 core and posted a Youtube video of the current status, in case you're interested. https://youtu.be/zdST3wz00KU
    It's just a quick video, no production value here for sure. But I now support the 96x64 LCD and added disk drive support (via another TI-99/4A related project called TIPI, running a whole bunch of services on a Raspberry PI connected to the ULX3S). I have not been involved in the TIPI development, but it is a very interesting project.
    One question I do have: when I added audio support (yes, finally, using the 3.5mm output) I did a very quick and dirty implementation, just using the 4 bit resistor DAC "as is". I want to increase the resolution of the DAC. I could device my own delta-sigma conversion, but I think I saw somewhere this kind of an implementation already with 4 bit output. In my previous design I just used a 1 bit sigma-delta conversion at 100MHz.
    Erik Piehl
    @Speccery
    Oh and another thing I added was cursor key navigation with the PS/2 keyboard. Pressing F1 brings up the overlay screen, and cursor keys operate as directional keys. It's nice to have the standard way of pushing all 4 keys simultaneously, but since I have a keyboard anyway, using a single function key is much better.
    Erik Piehl
    @Speccery
    @lawrie I've been trying to test your ulx3s_ql project. I just run synthesis and loaded toplevel.bit from the ESP32. Do you have somewhere instructions how to bootstrap the QL core? Sorry I haven't read any of the source code yet. Just as I wrote this, I noticed the short document in the esp32/osd directory. Will try that out.
    Erik Piehl
    @Speccery
    And I did, with j1s.mx1 it does boot up as a QL. Very nice!
    Lawrie Griffiths
    @lawrie
    I think js.rom works now. I don't think it needs the patched js1.rom.
    Erik Piehl
    @Speccery
    Thank you. Does it support some form of software loading into the QL?
    emard
    @emard
    @Speccery wonderful TI99/4A setup! There exist similar small 240x240 color SPI LCD, similar size to SSD1331 and pin compatible, they may have pixel resolution almost enough for whole TI text screen.
    For QL yes rom should also support direct loading should be just point cursor and it should load
    I have normal ROM and Minerva and can switch between them using ESP32
    Lawrie Griffiths
    @lawrie
    @Speccery Yes, you can select an mdv file with the OSD, for example quill.mdv is in the roms directory. You can then do dir mdv1_ to look at the directory, and the microdrive has a boot file you can load and run.
    I have not implemented microdrive writing. I hope to do that sometime.
    I need better README files for my projects, as I forget how to use them.
    Your video is a good way of documenting how things work.
    Lawrie Griffiths
    @lawrie
    TiPi looks interesting.
    As @emard says, you would get more on a 240x240 st7789 display.
    My brother-in-law (Harry Moyes) has now got a Ulx3s, and he is a keen QL user, so I will probably have to get back to looking at the QL. I think he wanted floppy disk support and was thinking of implementing a QL expansion port.
    Erik Piehl
    @Speccery
    I have a small 240x240 display, 1.3" The pinout however on that one is different from the 96x64 system - of course I can still hook it up with cables. Is the one you're referring to something that has the same pinout?
    I also have a QL. Bought it on unknown condition, fixed it (it had problems with RAM) and I have now also a Gold card for it. The microdrives on it don't work, but I've now got a Gotek drive connected to the Goldcard and that works. The Goldcard has a 16MHz 68000 and 2Megs of RAM, so it makes for a nice QL. I'm still on the discovery phase for it, for example looking for ways to convert microdrive images to floppy images.
    Lawrie Griffiths
    @lawrie
    I had a QL when they came out, but have not used a real one since the mid 80s. My brother-in-law has some form of enhanced one.
    Compatible 7-pin 1.3" st7789s are cheap on ebay etc. The larger 8-pin st7789s are also usable. The 8th pin does not need to be connected.
    Erik Piehl
    @Speccery
    Ok thanks, need to order some then.