cardiograph-computer/2023-08-21--dev-notes.md

3.3 KiB

Dev notes - 2023-08-21

Goals for today

  • graphic design

    • graphics: 80 col card template
    • see below
  • printing

    • print: paper tape template
    • print: colour coding forms
    • print: 80 col card template
  • see code/design commentary below...

  • (consider python (microbit) version of simulator)

    • maybe ask for e's input

Memory map re-think

CPU start-up

When starting up, the CPU executes a JMP $FF.

Put differently: it starts executing instructions at the address contained in $FF.

Cardiograph memory map

00-19 - display (5x5)
1A    - pointer to display memory
1B    - keypad: value of latest key pressed
1C    - reserved for future use (bank switching flag)
1D-FE - free

References re: where do CPU instruction pointers start, and how are they set?

Imported notes from earlier

2023-08-18 cardiograph loose thoughts

  • use binary encoded punch cards for cardiog progs in machine code
  • try making a microbit based emulator
    • (microbit + hex keypad)
      • (machine code monitor like VIP…)
    • (+ tape input??)
  • a4 template with full size 80 col card
  • snake
  • [/] add simulator todo: pass asm line thru to cpu to print when debugging
    • asm: create a second array that stores every line with code (nor blank or comment only lines) + its line number
    • cpu: accept an optional debugging array, print line # and statement
  • readme:
    • readme: rename (or split up?) mem map / peripherals section
    • ? readme: put 2 keypad charts side by side (they would fit on my phone)
  • [/] see paper notes on mem map

2023-08-19

[/] reconsider ISA order in light of supercat comment here - Why didn't the 6503 have increment/decrement opcodes for A?

2023-07-17 - cardiograph - worksheet for hand-assembling code… + other docs

  • docs/graphics: machine code quick ref (ops + short explanations + mnems)
  • docs/graphics: assembly quick ref (as above, plus assembler-specific syntax like constants)
  • docs/graphics: worksheet for hand-assembling