home.social

#ez80 — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #ez80, aggregated by home.social.

  1. I've rewritten my #Console8 logo player -also works on #AgonLight - and updated the video file for 2 reasons. 1. it was a bit long playing the whole thing, and 2. I wanted to play a higher resolution video, covering as much of the screen as possible. With a bit of video editing (cutting and cropping to make the most of the logo at the end), plus taking advantage of the VDP code for both decompression and bitmap expansion, this is what my boot sequence looks like. I've left the logo to linger a little, but that's optional and a quick change to the script.
    Source code, binary and assets are available here: github.com/sijnstra/agon-proje
    #ez80 #z80 #assemblyLanguage #8bit #retrocomputing #console

  2. I've rewritten my #Console8 logo player -also works on #AgonLight - and updated the video file for 2 reasons. 1. it was a bit long playing the whole thing, and 2. I wanted to play a higher resolution video, covering as much of the screen as possible. With a bit of video editing (cutting and cropping to make the most of the logo at the end), plus taking advantage of the VDP code for both decompression and bitmap expansion, this is what my boot sequence looks like. I've left the logo to linger a little, but that's optional and a quick change to the script.
    Source code, binary and assets are available here: github.com/sijnstra/agon-proje
    #ez80 #z80 #assemblyLanguage #8bit #retrocomputing #console

  3. I've rewritten my logo player -also works on - and updated the video file for 2 reasons. 1. it was a bit long playing the whole thing, and 2. I wanted to play a higher resolution video, covering as much of the screen as possible. With a bit of video editing (cutting and cropping to make the most of the logo at the end), plus taking advantage of the VDP code for both decompression and bitmap expansion, this is what my boot sequence looks like. I've left the logo to linger a little, but that's optional and a quick change to the script.
    Source code, binary and assets are available here: github.com/sijnstra/agon-proje

  4. I've rewritten my #Console8 logo player -also works on #AgonLight - and updated the video file for 2 reasons. 1. it was a bit long playing the whole thing, and 2. I wanted to play a higher resolution video, covering as much of the screen as possible. With a bit of video editing (cutting and cropping to make the most of the logo at the end), plus taking advantage of the VDP code for both decompression and bitmap expansion, this is what my boot sequence looks like. I've left the logo to linger a little, but that's optional and a quick change to the script.
    Source code, binary and assets are available here: github.com/sijnstra/agon-proje
    #ez80 #z80 #assemblyLanguage #8bit #retrocomputing #console

  5. I've rewritten my #Console8 logo player -also works on #AgonLight - and updated the video file for 2 reasons. 1. it was a bit long playing the whole thing, and 2. I wanted to play a higher resolution video, covering as much of the screen as possible. With a bit of video editing (cutting and cropping to make the most of the logo at the end), plus taking advantage of the VDP code for both decompression and bitmap expansion, this is what my boot sequence looks like. I've left the logo to linger a little, but that's optional and a quick change to the script.
    Source code, binary and assets are available here: github.com/sijnstra/agon-proje
    #ez80 #z80 #assemblyLanguage #8bit #retrocomputing #console

  6. RE: hachyderm.io/@itworldcup/11594

    Es musste sein.
    #Rust für komplizierte Sachen. Wenn man mit Speicher jongliert und Sicherheit will. Aber es ist auch einfach ein tolles Gefühl, so nah am System zu sein wie in #C.
    Und noch eine Sache, die für mich relevant ist: #LLVM unterstützt nur Prozessoren, deren Wortbreite eine Zweierpotenz ist. Ich schreibe gerne Programme für den #eZ80, der mit 24-bit-Wörtern einfach von modernen Sprachen nicht unterstützt wird.
    Vielleicht kann man hier ja dafür werben.
    #ticalc #swift

  7. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  8. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  9. Time for another image viewer for - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. source code and binary is at:
    github.com/sijnstra/agon-proje

  10. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  11. Time for another image viewer for #AgonLight #Console8 - this time, PCX format. There are a number of reasons why I chose to display this format on the Agon/Console8.
    * It is an already existing format
    * The format is supported by modern tools, including #GIMP
    * It uses a very simple form of compression ideal for 8 bit CPUs
    * The specific choice of 16 colours has additional benefits:
    * The 16 colours are chosen from within the available 64 colour palette
    * The 16 colours allows the image to be sent to the VDP with 2 pixels per byte, speeding up the transfer
    I've attached a sample here to show just the quality of the resolution and colour depth. #z80 source code and binary is at:
    github.com/sijnstra/agon-proje
    #retrocomputing #image #viewer #ez80

  12. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  13. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  14. I recently took advantage of some temporary discounts and acquired the by Heber. It's a focused package of the , complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software.
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  15. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  16. I recently took advantage of some temporary discounts and acquired the #Console8 by Heber. It's a #retrogame focused package of the #AgonLight, complete with some great joypads that they also make. As part of the induction into the house, I converted the logo into something a little more 8-bit, and updated my logo software. #z80 #ez80 #retrocomputing
    You can buy a Console8 here : heber.co.uk/agon-cosole8/
    You can download the updated logo software & source here: github.com/sijnstra/agon-proje

  17. Dear internet,

    Does anyone know of a cycle accurate #zilog #ez80 simulator? I'm looking for something that exposes all of the pins in the emulator as well, that is I need to be able to sample the address and data lines from other code in a cycle accurate way to test-drive some peripherals.

    I found a core written for the TI calculators, but it seems very tied to that use, and I don't know how accurate it is either. Maybe it is very good, if anyone knows please let me know!

    #retrocomputing

  18. Would it be interesting to add ez80 support to the zenas assembler?

    In my first attempt when I wrote the (still incomplete) assembler callled zxa, I had already implemented the entire Z80 instruction set, and also the Spectrum Next's-specific Z80N extensions. That didn't work too well, but at least I learnt what not to do, or how not to do it.

    I'm trying to think what would be the better way to support different variants and extensions.

    Some Z80 variants also existed in the world of MSX when various Japanese chipmakers produced their own, improved and extended versions of the Z80.

    The question to me is not so much whether ez80 and Z80N support should be implemented, but HOW as in what's a clean way to support them. Via directives?
    With pragmas or ifdefs?
    Via command line switches?

    What do you think?

    #z80 #asm #assembler #ez80

  19. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  20. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  21. I wanted to use more graphics on my and the best project that came to mind was to display .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  22. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  23. I wanted to use more graphics on my #AgonLight and the best project that came to mind was to display #Amstrad #CPC .pal/.scr images. Took a while to get there, and now it works including the same "wipe" effect that the original hardware had due to the unusual RAM layout. Planning to use this for landing pages to create the mood for any game you might load. You can see the source code + binary at github.com/sijnstra/agon-proje #z80 #ez80 #retrocomputing #retrogaming video shows loader image from Stefan Vogt's Ghosts of Blackwood Manor.

  24. Oh great, NOW this gets some attention right as I’m ripping out the custom mnemonics for standard ones :P Too much for users to mind-map on top of learning #eZ80 when I add it. I will say though that even if you don’t use #v80, the source code is the most heavily commented and described assembly you will likely ever see. If you want to know how to write a real CP/M and/or #Z80 application, look no further.

    #retrocomputing #retrodev

  25. Oh great, NOW this gets some attention right as I’m ripping out the custom mnemonics for standard ones :P Too much for users to mind-map on top of learning #eZ80 when I add it. I will say though that even if you don’t use #v80, the source code is the most heavily commented and described assembly you will likely ever see. If you want to know how to write a real CP/M and/or #Z80 application, look no further.

    #retrocomputing #retrodev

  26. Oh great, NOW this gets some attention right as I’m ripping out the custom mnemonics for standard ones :P Too much for users to mind-map on top of learning #eZ80 when I add it. I will say though that even if you don’t use #v80, the source code is the most heavily commented and described assembly you will likely ever see. If you want to know how to write a real CP/M and/or #Z80 application, look no further.

    #retrocomputing #retrodev

  27. Oh great, NOW this gets some attention right as I’m ripping out the custom mnemonics for standard ones :P Too much for users to mind-map on top of learning #eZ80 when I add it. I will say though that even if you don’t use #v80, the source code is the most heavily commented and described assembly you will likely ever see. If you want to know how to write a real CP/M and/or #Z80 application, look no further.

    #retrocomputing #retrodev

  28. Working on making my telnet for #AgonLight more sane, it's a little better than it was but still has a lot of problems. It's hard to test something when the results depend on the network traffic flow at the time, and many components out of my control. Anyway, for a first time I did manage to get some almost readable data from @Wintermute_BBS RC BBS - thanks for having this running! It feels awesome having an #ez80 talking to a #z80 on the other side of the world!

  29. Working on making my telnet for #AgonLight more sane, it's a little better than it was but still has a lot of problems. It's hard to test something when the results depend on the network traffic flow at the time, and many components out of my control. Anyway, for a first time I did manage to get some almost readable data from @Wintermute_BBS RC BBS - thanks for having this running! It feels awesome having an #ez80 talking to a #z80 on the other side of the world!

  30. No Z80? No Problem! - Earlier this year Zilog stopped production of the classic 40-pin DIP Z80 microproc... - hackaday.com/2024/09/16/no-z80 #retrocomputing #rc2014 #zilog #ez80 #z80

  31. Using the character to bitmap mapping available in the latest #AgonLight VDP firmware, I've been able to transform an ASCII #curses version of Flappy Bird into graphics. Double-buffering ensures the game plays flicker-free. Before and after images included. Source code and binary here: github.com/sijnstra/agdev-proj #retrocomputing #retrogaming #zilog #ez80

  32. Small Update:

    I got the TN-VDP working in 40 and 80 columns and just today I figured out how to get the Vsync interrupts working on my eZ80 board.
    The rev2 board will include some changes. Of course I have reversed the data bits, and I also added a diode to the INT pin to make it compatible with an open-collector type bus.

    I am very pleased with the speed so far. at 36 MHz, I can drive it with an IO cycle time of only 200ns, equating to 4.8 MHz

    #RC2014 #ez80 #tnvdp

  33. Got my Agon Light 2 computer recently and installed CP/M on it (github.com/julian-rose/Agon-CP). Great little machine, I am surprised how fast it is.
    It self-compiles #T3X 16 times faster than a 4MHz Z80 (and clock speed is "only" 5 times faster). It even runs Evazor smoothly! I have added a CP/M binary to the Evazor archive in case you want to try it.
    t3x.org/t3x/0/programs.html#ev
    #agonlight, #retrocomputing, #CPM, #eZ80

  34. Attempting a rewrite of my 8-bit multi-platform, multi-ISA, assembler's instruction parser. #v80 uses a static tree for mapping instructions into opcodes (2nd image) which is very fast and efficient but hairy to write.

    The new approach (1st image), uses an alphabetical list of instructions with a byte to state how many chars of the previous entry are re-used since alphabetically, the left-most chars repeat the most.

    There's no guarantee this will even save space (#Z80 ISA is currently 4KB, #MOS6502 is about 1.7KB) and it will likely be slower as more lines will need to be skipped vs. a char-by-char branching approach, but it may help for very large ISAs, the size of which can balloon drastically with lots of shared prefixes, something I'm worried about with adding #eZ80 support. The alternative is adding 'macro' characters for shared-prefixes, but that bloats the native code that needs to be ported between architectures.

    #asm #retrocomputing

  35. Attempting a rewrite of my 8-bit multi-platform, multi-ISA, assembler's instruction parser. #v80 uses a static tree for mapping instructions into opcodes (2nd image) which is very fast and efficient but hairy to write.

    The new approach (1st image), uses an alphabetical list of instructions with a byte to state how many chars of the previous entry are re-used since alphabetically, the left-most chars repeat the most.

    There's no guarantee this will even save space (#Z80 ISA is currently 4KB, #MOS6502 is about 1.7KB) and it will likely be slower as more lines will need to be skipped vs. a char-by-char branching approach, but it may help for very large ISAs, the size of which can balloon drastically with lots of shared prefixes, something I'm worried about with adding #eZ80 support. The alternative is adding 'macro' characters for shared-prefixes, but that bloats the native code that needs to be ported between architectures.

    #asm #retrocomputing

  36. Attempting a rewrite of my 8-bit multi-platform, multi-ISA, assembler's instruction parser. #v80 uses a static tree for mapping instructions into opcodes (2nd image) which is very fast and efficient but hairy to write.

    The new approach (1st image), uses an alphabetical list of instructions with a byte to state how many chars of the previous entry are re-used since alphabetically, the left-most chars repeat the most.

    There's no guarantee this will even save space (#Z80 ISA is currently 4KB, #MOS6502 is about 1.7KB) and it will likely be slower as more lines will need to be skipped vs. a char-by-char branching approach, but it may help for very large ISAs, the size of which can balloon drastically with lots of shared prefixes, something I'm worried about with adding #eZ80 support. The alternative is adding 'macro' characters for shared-prefixes, but that bloats the native code that needs to be ported between architectures.

    #asm #retrocomputing

  37. Attempting a rewrite of my 8-bit multi-platform, multi-ISA, assembler's instruction parser. #v80 uses a static tree for mapping instructions into opcodes (2nd image) which is very fast and efficient but hairy to write.

    The new approach (1st image), uses an alphabetical list of instructions with a byte to state how many chars of the previous entry are re-used since alphabetically, the left-most chars repeat the most.

    There's no guarantee this will even save space (#Z80 ISA is currently 4KB, #MOS6502 is about 1.7KB) and it will likely be slower as more lines will need to be skipped vs. a char-by-char branching approach, but it may help for very large ISAs, the size of which can balloon drastically with lots of shared prefixes, something I'm worried about with adding #eZ80 support. The alternative is adding 'macro' characters for shared-prefixes, but that bloats the native code that needs to be ported between architectures.

    #asm #retrocomputing

  38. Finally!
    After ~12 hours more testing and debugging, I got CP/M 3 fully booted and working.
    It took me quite a while to determine the proper wait states and timings for accessing the bank registers.
    Now it boots up without any issue and I couldn't find any errors so far.

    #CPM #CPM3 #eZ80

  39. Finally!
    After ~12 hours more testing and debugging, I got CP/M 3 fully booted and working.
    It took me quite a while to determine the proper wait states and timings for accessing the bank registers.
    Now it boots up without any issue and I couldn't find any errors so far.

    #CPM #CPM3 #eZ80

  40. Finally!
    After ~12 hours more testing and debugging, I got CP/M 3 fully booted and working.
    It took me quite a while to determine the proper wait states and timings for accessing the bank registers.
    Now it boots up without any issue and I couldn't find any errors so far.

    #CPM #CPM3 #eZ80

  41. Finally!
    After ~12 hours more testing and debugging, I got CP/M 3 fully booted and working.
    It took me quite a while to determine the proper wait states and timings for accessing the bank registers.
    Now it boots up without any issue and I couldn't find any errors so far.

    #CPM #CPM3 #eZ80

  42. Finally!
    After ~12 hours more testing and debugging, I got CP/M 3 fully booted and working.
    It took me quite a while to determine the proper wait states and timings for accessing the bank registers.
    Now it boots up without any issue and I couldn't find any errors so far.

    #CPM #CPM3 #eZ80

  43. Today I found a really annoying glitch in my circuit with the eZ80.

    I am using some inverters and an 74ACT139 to adress the 4 bank registers. What happens is:

    When the eZ80 is done writing to the register, it immediately reads the next instruction. But the decode logic takes a couple of nanoseconds to detect that and release the write signal to the register. And during those few nanoseconds, the incrementing address causes the next bank register to be written with invalid data.

    #eZ80

  44. CPMLDR working on the eZ80-CP/M board.
    Now onwards to the BIOS...

    #cpm #cpm3 #z80 #ez80