home.social

Search

262 results for “bread80”

  1. I've now added some photos to the repository (link in previous toot). Not the best quality but there's now something to look at.

    Here's a couple of those for the Decoder PCB. There are more in the repository itself.

    #Datapoint #Datapoint2200

  2. I've now added some photos to the repository (link in previous toot). Not the best quality but there's now something to look at.

    Here's a couple of those for the Decoder PCB. There are more in the repository itself.

    #Datapoint #Datapoint2200

  3. I've now added some photos to the repository (link in previous toot). Not the best quality but there's now something to look at.

    Here's a couple of those for the Decoder PCB. There are more in the repository itself.

    #Datapoint #Datapoint2200

  4. 2200: I have the memory cards designed and assembled but no memory chips. My plan is to add a 'backpack' board using modern parts.

    Each card uses 32x 512 bit shift memory chips. The best modern option is probably 512 bit FIFOs and tie the outputs back to the inputs to recirculate data.

    You can get 9-bit or 18-bit wide chips but every bit is read and written together. So you need a multiplexer on each bit to select new data or recirculate.

    🧵

  5. #Datapoint 2200: I have the memory cards designed and assembled but no memory chips. My plan is to add a 'backpack' board using modern parts.

    Each card uses 32x 512 bit shift memory chips. The best modern option is probably 512 bit FIFOs and tie the outputs back to the inputs to recirculate data.

    You can get 9-bit or 18-bit wide chips but every bit is read and written together. So you need a multiplexer on each bit to select new data or recirculate.

    🧵

  6. #Datapoint 2200: I have the memory cards designed and assembled but no memory chips. My plan is to add a 'backpack' board using modern parts.

    Each card uses 32x 512 bit shift memory chips. The best modern option is probably 512 bit FIFOs and tie the outputs back to the inputs to recirculate data.

    You can get 9-bit or 18-bit wide chips but every bit is read and written together. So you need a multiplexer on each bit to select new data or recirculate.

    🧵

  7. #Datapoint 2200: I have the memory cards designed and assembled but no memory chips. My plan is to add a 'backpack' board using modern parts.

    Each card uses 32x 512 bit shift memory chips. The best modern option is probably 512 bit FIFOs and tie the outputs back to the inputs to recirculate data.

    You can get 9-bit or 18-bit wide chips but every bit is read and written together. So you need a multiplexer on each bit to select new data or recirculate.

    🧵

  8. #Datapoint 2200: I have the memory cards designed and assembled but no memory chips. My plan is to add a 'backpack' board using modern parts.

    Each card uses 32x 512 bit shift memory chips. The best modern option is probably 512 bit FIFOs and tie the outputs back to the inputs to recirculate data.

    You can get 9-bit or 18-bit wide chips but every bit is read and written together. So you need a multiplexer on each bit to select new data or recirculate.

    🧵

  9. What's the main challenge in assembling old code on a modern(ish) assembler? The old assemblers only consider the first few letters of a mnemonic significant. The 8008 has an INC opcode. My assembler has an INCLUDE directive.

    (The old code doesn't use INCLUDE, but I need to import symbols from other files. The easy way is to write public symbols to a file in suitable format for an INCLUDE).

  10. What's the main challenge in assembling old code on a modern(ish) assembler? The old assemblers only consider the first few letters of a mnemonic significant. The 8008 has an INC opcode. My assembler has an INCLUDE directive.

    (The old code doesn't use INCLUDE, but I need to import symbols from other files. The easy way is to write public symbols to a file in suitable format for an INCLUDE).

    #Datapoint #Datapoint2200 #I8008 #Intel8008

  11. What's the main challenge in assembling old code on a modern(ish) assembler? The old assemblers only consider the first few letters of a mnemonic significant. The 8008 has an INC opcode. My assembler has an INCLUDE directive.

    (The old code doesn't use INCLUDE, but I need to import symbols from other files. The easy way is to write public symbols to a file in suitable format for an INCLUDE).

    #Datapoint #Datapoint2200 #I8008 #Intel8008

  12. What's the main challenge in assembling old code on a modern(ish) assembler? The old assemblers only consider the first few letters of a mnemonic significant. The 8008 has an INC opcode. My assembler has an INCLUDE directive.

    (The old code doesn't use INCLUDE, but I need to import symbols from other files. The easy way is to write public symbols to a file in suitable format for an INCLUDE).

    #Datapoint #Datapoint2200 #I8008 #Intel8008

  13. I wrote a Z80 assembler a few years ago. Thankfully I subclassed out the Z80 specific stuff. I've been updating it for Datapoint mnemonics and syntax.

    I've also typed in the operating system listing from the Programmers Manual (46 pages. Nothing to a child of the 80s).

    I'm now working through the files to get them to assemble. Currently there's a circular reference to resolve (comment out on first build), a couple of directives to add and an opcode which doesn't officially exist.

  14. I wrote a Z80 assembler a few years ago. Thankfully I subclassed out the Z80 specific stuff. I've been updating it for Datapoint mnemonics and syntax.

    I've also typed in the #Datapoint operating system listing from the Programmers Manual (46 pages. Nothing to a child of the 80s).

    I'm now working through the files to get them to assemble. Currently there's a circular reference to resolve (comment out on first build), a couple of directives to add and an opcode which doesn't officially exist.

  15. I wrote a Z80 assembler a few years ago. Thankfully I subclassed out the Z80 specific stuff. I've been updating it for Datapoint mnemonics and syntax.

    I've also typed in the #Datapoint operating system listing from the Programmers Manual (46 pages. Nothing to a child of the 80s).

    I'm now working through the files to get them to assemble. Currently there's a circular reference to resolve (comment out on first build), a couple of directives to add and an opcode which doesn't officially exist.

  16. I wrote a Z80 assembler a few years ago. Thankfully I subclassed out the Z80 specific stuff. I've been updating it for Datapoint mnemonics and syntax.

    I've also typed in the #Datapoint operating system listing from the Programmers Manual (46 pages. Nothing to a child of the 80s).

    I'm now working through the files to get them to assemble. Currently there's a circular reference to resolve (comment out on first build), a couple of directives to add and an opcode which doesn't officially exist.

  17. I wrote a Z80 assembler a few years ago. Thankfully I subclassed out the Z80 specific stuff. I've been updating it for Datapoint mnemonics and syntax.

    I've also typed in the #Datapoint operating system listing from the Programmers Manual (46 pages. Nothing to a child of the 80s).

    I'm now working through the files to get them to assemble. Currently there's a circular reference to resolve (comment out on first build), a couple of directives to add and an opcode which doesn't officially exist.

  18. Now to get memory writes working in the Datapoint simulator. There's a /MEMORY_WRITE_READY input which needs to be driven. The circuit for this is on the keyboard decoder PCB.

    Unconnected to the rest of that board, except for a POR output. Not the first bit of circuit I've found spilled onto a different board.

    The circuit drives the /MEM_WRITE_READY line while the hardware bootloader reads data from tape. I can just glue it high for now.

  19. Now to get memory writes working in the Datapoint simulator. There's a /MEMORY_WRITE_READY input which needs to be driven. The circuit for this is on the keyboard decoder PCB.

    Unconnected to the rest of that board, except for a POR output. Not the first bit of circuit I've found spilled onto a different board.

    The circuit drives the /MEM_WRITE_READY line while the hardware bootloader reads data from tape. I can just glue it high for now.

    #Datapoint #Datapoint2200

  20. Now to get memory writes working in the Datapoint simulator. There's a /MEMORY_WRITE_READY input which needs to be driven. The circuit for this is on the keyboard decoder PCB.

    Unconnected to the rest of that board, except for a POR output. Not the first bit of circuit I've found spilled onto a different board.

    The circuit drives the /MEM_WRITE_READY line while the hardware bootloader reads data from tape. I can just glue it high for now.

    #Datapoint #Datapoint2200

  21. Now to get memory writes working in the Datapoint simulator. There's a /MEMORY_WRITE_READY input which needs to be driven. The circuit for this is on the keyboard decoder PCB.

    Unconnected to the rest of that board, except for a POR output. Not the first bit of circuit I've found spilled onto a different board.

    The circuit drives the /MEM_WRITE_READY line while the hardware bootloader reads data from tape. I can just glue it high for now.

    #Datapoint #Datapoint2200

  22. Now to get memory writes working in the Datapoint simulator. There's a /MEMORY_WRITE_READY input which needs to be driven. The circuit for this is on the keyboard decoder PCB.

    Unconnected to the rest of that board, except for a POR output. Not the first bit of circuit I've found spilled onto a different board.

    The circuit drives the /MEM_WRITE_READY line while the hardware bootloader reads data from tape. I can just glue it high for now.

    #Datapoint #Datapoint2200

  23. 'Clear the carry tiggle'.

    I think they meant to say 'toggle', although twice suggests it may be intentional.

    The documentation usually refers to 'flip-flops' as opposed to 'flags', or 'toggles'.

  24. 'Clear the carry tiggle'.

    I think they meant to say 'toggle', although twice suggests it may be intentional.

    The documentation usually refers to 'flip-flops' as opposed to 'flags', or 'toggles'.

    #Datapoint #Datapoint2200

  25. 'Clear the carry tiggle'.

    I think they meant to say 'toggle', although twice suggests it may be intentional.

    The documentation usually refers to 'flip-flops' as opposed to 'flags', or 'toggles'.

    #Datapoint #Datapoint2200

  26. 'Clear the carry tiggle'.

    I think they meant to say 'toggle', although twice suggests it may be intentional.

    The documentation usually refers to 'flip-flops' as opposed to 'flags', or 'toggles'.

    #Datapoint #Datapoint2200

  27. 'Clear the carry tiggle'.

    I think they meant to say 'toggle', although twice suggests it may be intentional.

    The documentation usually refers to 'flip-flops' as opposed to 'flags', or 'toggles'.

    #Datapoint #Datapoint2200

  28. Moving on to the shift and shift lock keys. If a top row number is pressed the logic board can just flip a single bit to convert to the relevant symbol. For the symbols in the same ASCII block (&30 to $3f) : and ; can be treated the same, but for < to ? the bit needs to be flipped in shift is not active. There are similar issues for symbols after Z and z.

    1/n

    #Datapoint2200 #keyboard

  29. ...except that I only just noticed the signal names for the lower letters and numbers are swapped. Or maybe the names just have their bit ordering reversed?

    And after some tweaking of the software timings for the scanner I have every multiplexed key working correctly.

    The secret to doing this in software seems to be to continuously scan, then sleep briefly once a keypress have been registered. The hardware debounce is too quick for the usual 50/60Hz scan.

    #Datapoint2200

  30. I wired up a connector so I can use a Pico + breadboard to test the keyboard. At the moment I only have the wires driving and reading the multiplexers connected.

    #Datapoint2200