home.social

Search

263 results for “bread80”

  1. That’s the surface mount soldering finished on the #d2200 memory card. When I say finished, I’ve verified that every LEDs are the same way around. I’ve not checked they’re the correct way around. I think I’ll do some testing before moving onto the through holes. #datapoint #TTLComputer

  2. Todays #RP2350B school of hard knocks learning experience:

    The RP2350B has 48 GPIOs but a PIO can only address a contiguous block of 32 GPIOs. You can set the base pin on the PIO to either pin 0 (default) or pin 16.

    With pin 16 as base GPIO numbers are relative to the base ... unless they aren't. So the call to pio_gpio_init uses global numbering whilst the calls to sm_config use the based numbering.

    #Pico

  3. That looks like a good start to the weekend.

    On another project using an RP2350B I couldn't get the USB terminal to connect. I've no idea if it was the hardware or a config issue. But this is working off the bat, so config is good, hardware is good and soldering is good :)

    #Pico #RP2350B

  4. @bread80 Totally understand that. I think a lot of us feel the same about the early work of our projects.

    But don't be scared to break it. I've spent far too long avoiding doing things in projects because I'm worried about breaking them - these end up being some of the best learning experiences.

    Take a backup. Branch it. Play with it.

    #UnsolicitedOpinion

  5. Here's screenshot and a section of the listing. As mention there are no user defined characters so just random data. I gave user friendly names for the functions that do firmware calls and they work really nicely (Quiche can 'import' assembly routines with just a function header - no wrapper routine required). I added comments where I had to make workarounds for bugs or missing features which I'll patch as the compiler improves.

    #quichelang

  6. I decided to give the compiler a work out by converting an old BASIC game listing - BOMBER from ACU issue 2. Translating BASIC to structured code is ‘interesting’.

    Sound and user defined characters would require records and array literals to do without major bodges. Everything else converted fine.

    A few bugs did show up. Nothing maker, although they should have been caught in self tests.

    #quichelang #compiler

  7. After a busy week I'm getting a chance to destress with #Quiche

    Still with the CP/M and emulator API I'm adding support to the inbuilt functions. Write char is now working so write() and writeln() function as expected.

    #quichelang #pascal #compiler #z80

  8. Adding the keyboard input routines to the emulator took a bit more work. Mostly trying to find the correct routines in #FreePascal (KeyPressed and ReadKey). (Read and Readln are both buffered - they read a line and only return when the user hits enter).

    #quiche #quichelang #compiler #z80

  9. I want the command line compiler to be able to generate interactive console apps which can run in it's built in emulator.

    The first step is to be able to hook the emulator to create 'breakpoints'. Here it's hooking the CP/M BDOS address, reading register values from the emulator, and overwriting the opcode (read by the emulator) with a RETurn.

    Opting for a CP/M style API will give me some CP/M support already in the compiler.

    #quiche #quichelang #compiler #z80

  10. I'm nearly finished with sub-range types in the #quiche compiler. Most of the work has been around range checking when assigning to a sub-range, and hundreds of tests against edge cases. The only tests now failing are a couple to do with function arguments and return values.

    Range checks work when passing a literal or a variable, but this test shows a fail when passing the result of a expression.

    #quichelang #z80 #pascal #compiler

  11. Sub-ranges feel like quite an obscure feature of a language. But in Pascal they're an essential part of arrays
    array ['a'..'z'] of Integer
    So I'm filling out their implementation before I continue with arrays. The next step is the assignment validation when range checking is on.

    #quiche #quichelang #pascal #compiler #z80 #delphi

  12. Before I got sidetracked into the type system I was working to get the command line compiler fully up and running.

    The sticking point was command line arguments. I tried using #FreePascal's built in parser but it didn't have the flexibility I needed. I've now written something which does and I can now set the platform and deployment options.

    #quiche #quichelang #compiler #pascal #z80

    1/n

  13. Todays school of hard knocks learning experience:

    The RP2350B has 48 GPIOs but a PIO can only address a contiguous block of 32 GPIOs. You can set the base pin on the PIO to either pin 0 (default) or pin 16.

    With pin 16 as base GPIO numbers are relative to the base ... unless they aren't. So the call to pio_gpio_init uses global numbering whilst the calls to sm_config use the based numbering.

  14. Todays #RP2350B school of hard knocks learning experience:

    The RP2350B has 48 GPIOs but a PIO can only address a contiguous block of 32 GPIOs. You can set the base pin on the PIO to either pin 0 (default) or pin 16.

    With pin 16 as base GPIO numbers are relative to the base ... unless they aren't. So the call to pio_gpio_init uses global numbering whilst the calls to sm_config use the based numbering.

    #Pico

  15. Todays #RP2350B school of hard knocks learning experience:

    The RP2350B has 48 GPIOs but a PIO can only address a contiguous block of 32 GPIOs. You can set the base pin on the PIO to either pin 0 (default) or pin 16.

    With pin 16 as base GPIO numbers are relative to the base ... unless they aren't. So the call to pio_gpio_init uses global numbering whilst the calls to sm_config use the based numbering.

    #Pico

  16. Todays #RP2350B school of hard knocks learning experience:

    The RP2350B has 48 GPIOs but a PIO can only address a contiguous block of 32 GPIOs. You can set the base pin on the PIO to either pin 0 (default) or pin 16.

    With pin 16 as base GPIO numbers are relative to the base ... unless they aren't. So the call to pio_gpio_init uses global numbering whilst the calls to sm_config use the based numbering.

    #Pico

  17. That looks like a good start to the weekend.

    On another project using an RP2350B I couldn't get the USB terminal to connect. I've no idea if it was the hardware or a config issue. But this is working off the bat, so config is good, hardware is good and soldering is good :)

  18. That looks like a good start to the weekend.

    On another project using an RP2350B I couldn't get the USB terminal to connect. I've no idea if it was the hardware or a config issue. But this is working off the bat, so config is good, hardware is good and soldering is good :)

    #Pico #RP2350B

  19. That looks like a good start to the weekend.

    On another project using an RP2350B I couldn't get the USB terminal to connect. I've no idea if it was the hardware or a config issue. But this is working off the bat, so config is good, hardware is good and soldering is good :)

    #Pico #RP2350B

  20. That looks like a good start to the weekend.

    On another project using an RP2350B I couldn't get the USB terminal to connect. I've no idea if it was the hardware or a config issue. But this is working off the bat, so config is good, hardware is good and soldering is good :)

    #Pico #RP2350B

  21. And I only just found this. I didn’t realise the Flan name actually made it into production.

    This means it’s a revision 4 board, from the first production run. The run with bugs in the video chip and ROM.

  22. And I only just found this. I didn’t realise the Flan name actually made it into production.

    This means it’s a revision 4 board, from the first production run. The run with bugs in the video chip and ROM.

    #Enterprise64 #Enterprise128

  23. And I only just found this. I didn’t realise the Flan name actually made it into production.

    This means it’s a revision 4 board, from the first production run. The run with bugs in the video chip and ROM.

    #Enterprise64 #Enterprise128

  24. And I only just found this. I didn’t realise the Flan name actually made it into production.

    This means it’s a revision 4 board, from the first production run. The run with bugs in the video chip and ROM.

    #Enterprise64 #Enterprise128

  25. The Enterprise keyboard layout is coming along nicely. The photos show a printout of the design under the matrix.

    I had to redo the horizontal positioning when I realised they used the same size matrix for both dimensions and the keys are 19mm x 19mm. The error was only 1mm across the width of the board but that’s plenty enough to cause problems.

    The function keys and joystick are the only things which aren’t on the matrix.

  26. The Enterprise keyboard layout is coming along nicely. The photos show a printout of the design under the matrix.

    I had to redo the horizontal positioning when I realised they used the same size matrix for both dimensions and the keys are 19mm x 19mm. The error was only 1mm across the width of the board but that’s plenty enough to cause problems.

    The function keys and joystick are the only things which aren’t on the matrix.

    #Enterprise64 #Enterprise128

  27. The Enterprise keyboard layout is coming along nicely. The photos show a printout of the design under the matrix.

    I had to redo the horizontal positioning when I realised they used the same size matrix for both dimensions and the keys are 19mm x 19mm. The error was only 1mm across the width of the board but that’s plenty enough to cause problems.

    The function keys and joystick are the only things which aren’t on the matrix.

    #Enterprise64 #Enterprise128

  28. The Enterprise keyboard layout is coming along nicely. The photos show a printout of the design under the matrix.

    I had to redo the horizontal positioning when I realised they used the same size matrix for both dimensions and the keys are 19mm x 19mm. The error was only 1mm across the width of the board but that’s plenty enough to cause problems.

    The function keys and joystick are the only things which aren’t on the matrix.

    #Enterprise64 #Enterprise128

  29. I want to see if I can make my keyboard a bit less ‘squidgy’. I’ve bought a selection of the thinnest tactile switches I can find to experiment with. The switches here run from 0.8mm to 2.5mm.