Coder Social home page Coder Social logo

retroz's People

Contributors

formix avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

retroz's Issues

Unable to wake-up the SIO/2 chip

Hi all,

I need some help regarding my board. I'm not able to make the SIO/2 chip work. There is a chance that there is some physical issues I guess but I spent 3 months reviewing with some help from other people. For now, I would like to tackle this issues from the software angle.

First to make a quick and dirty 8k ROM, I slapped together Dr Scott M. Baker's ASM files for SIO initialization and 8k Basic. I fixed a few labels and changed SIOA_C, SIOA_D, SIOB_C and SIOB_D values to fit with my architecture (0x00, 0x01, 0x02 and 0x03 respectively). See my mashed-up file here.

I expected that to be working but it's not doing anything. To make sure its is not related to my FTDI chip, I removed the SIO/2 chip and connected TX and RX together. The RX and TX leds are flashing with each letter I'm typing and I can see the "echo" in my terminal window.

I spent maybe two hours analyzing the SIO and BASIC asm code but I must admit that I'm still lost. I did slap the two files together within my ASM source file but it is basically what another shell script from @sbelectronics did (I can't find it anymore though). The JP $0290 at the end of the first script and the .ORG $0290 at the beginig of the second comforted me that It was ok like that. Other than a few lost clock cycles, I don't think that the CTC initialization stuff has anything to do with my issue.

I'm working in Ubuntu Bash with zasm.

One strange thing is that the generated ROM file has its instructions and operands inverted. For example, If I create an ASM file containing the following code:

  .ORG $0000
  LD A, 0
  .END

I'm expecting to see 3e00 (3e = LD A; 00 => the value 00) in the resulting ROM file.

But what I see in the hexdump is this:

0000000 003e                                   
0000002

The operand and the instruction are inverted!!! I was expecting to see big-endianess for 16 bits operands but not a flipped instruction! Why are the instruction and operand inverted? Is it an issue? Any idea what might be the overall problem here?

General questions on design 2018-12-26

Hi @formix,

First of all: great job! I like the schematic and the PCB even more. It's great that u use the Z80 SIO IC and that you join the schematics for UART to USB. The way you integrate your RetroZ with possible S80 extension cards is very well done and to my opinion flawless!

However, I have some minor questions.

Schematics

1. Pull-down resistors

You don't pull down the -BusRq- pin of the CPU. Is there a special reason to keep it floating? I'm attentive to this element, since it's my major mistake on the design of the cpu board of the S80 Version 2.0 :-)

2. -Reset-

I'm a bit puzzled on the -Reset- circuit. The switch pulls it down to Gnd when pushed, and the resistor pulls it up by default. However, I don't see what IC1 is doing.

Is there a chance that your button will bounce and disturb the reset process of your RetroZ?

3. MEM_EXT

Please ignore my remark on pulling down the MEM_EXT pin in the S80 issue u've opened. You already do so (which I missed at my first reading of your schematics). Sorry for that.

4. SIO2_SEL generation

If I'm not mistaking, by using the 74xx138, you reserve all addresses of the format 111001xx (base address 0xE4). Is that correct?

5. USB

I'm I correct that you don't implement the UART to USB on your PCB?

PCB

Is there a reason why u use males for the 2x20 connector on the top side of your PCB? The S80 uses the female side of the connectors on the top side and male connectors on the bottom side.

Documentation on GitHub

I like your documentation very much. It's clear, extensive, and complete. If you ever feel the urge to document the S80 repository in the same way, please do not hesitate.

Proposal

If you like, I can put your RetroZ-SBC repository (or a copy of the final version, the files that you choose) as a third party made S80 CPU/SERIAL/MEMORY card in a subdirectory of the S80/hardware. e.g. S80/Hardware/RetroZ-SBC. This can include documentation, libraries, your name and copyright notices, ...

Once you have software for your RetroZ, I can also put versions of your software in the S80/Software directory.

I like to copy in stead of linking, since that way, I prevent having dead links in the future, and I'm sure to have a stable version to distribute to the public.

On the whole

Splendid job, respect !

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.