reorder notes to reflect todo

This commit is contained in:
Brad Grantham 2018-08-02 16:25:22 -07:00
parent 332dca17de
commit 984c2abad6

100
notes
View File

@ -1,59 +1,32 @@
per-scanline modes cleanup:
Actual Apple II TEXT/GR and HGR video address patterns are in Understanding the Apple II use board::sync() to batch up and send display writes, audio updates, and display mode changes
Not for DHGR or 80-col but they're probably just same address twice alternating banks separate out APPLE2Einterface from board
tracking clock and reporting video memory contents pass just mode flags in vector presized to, let's say, 16?
clock translate in lambda before passing to APPLE2Einterface
one tick of ~1MHz clock maps to one tick of address counter templatize Board?
so is 7 HGR bits or one GR/TEXT horizontal cell deglobalize where possible
"most 6502 cycles are 978 nS long [14 14mhz clocks], but every 65th cycle is 1117 nS long [16 14mhz clocks]." lower and underscores throughout
source clock is 14.31818MHz audio popping
unsigned long would overflow after 20 minutes Mockingboard
Could modulo byteclock by 14318180 at iterate() and not overflow DHGR
as long as it doesn't take longer than 20 minutes between calls to APPLE2Einterface::iterate than 20 minutes...) colors bleed incorrectly
Could have clk be in 14MHz ticks. probably could convert color on CPU to make it slightly easier
unsigned long long will last 40853 years (could be slow on embedded systems) Run this software then purge fake6502:
Keep track of phase at clk delta time, and add 14 usually but 16 every 65th ProDOS
Then wall clock is just always ticks / 14318180.0 LodeRunner
phase_hpe initially 0 ChopLifter
add_cpu_cycles(elapsed_cpu) { Digitizer
clock_cpu += elapsed_cpu Plasmania
clock_14mhz = elapsed_cpu * 14 + (elapsed_cpu + phase_hpe) / 65 * 16 Christmas Carols
phase_hpe = (phase_hpe + elapsed_cpu) % 65 Data Capture //e
} Contiki no network
clock_14mhz is 14mhz ticks Idiom Translator
clock_cpu is CPU clocks, averaging 1.023MHz Pascal - Brad's Disk
phase_hpe is clock_cpu within horizontal line ...?
Current CPU clk (in 1MHz CPU cycles) is used for
which audio sample (at libAO sample rate) in the audio waveform we should fill
OK - should work with higher fixed rate
mark after how many cycles the open apple key should be raised
OK - should work with higher fixed rate
mark paddle timer
OK - should work with higher fixed rate
incrementing CPU instruction cycles
OK - call add_cpu_cycles()
address generator
every line is 65 bytes, there are 262 lines, so there are 17030 bytes per field
honor softswitches
convert clock_cpu to address
blanking and offscreen addressing during HIRES MIXED
160 through 191 and 224 through 261
TEXT addressing at 160, HPE' + 1 through at 192, HPE'
argh
read empty memory address on bus no longer fails but instead
generate address, get byte from RAM and return it
recording softswitch mode changes
store vector of switch or mode change and byteclock
instead of setting before APPLE2Einterface::iterate, pass into iterate
honoring softswitch change in APPLE2Einterface
initialize scanline mode array to text
receive vector of tuple of byteclock and modes
fill scanline mode array from passed in vector
draw framebuffer by scanline
final release: final release:
help screen help screen?
gamepad calibration screen (for desktop GLFW anyway) gamepad calibration screen (for desktop GLFW anyway)?
need to handle asynchronous gamepad arrival (a la HTML5) need to handle asynchronous gamepad arrival (a la HTML5)
screenshots for README.md screenshots for README.md
link to emscripten version link to emscripten version
@ -76,25 +49,6 @@ emscripten:
GLFW - gamepad using HTML5 gamepad interface GLFW - gamepad using HTML5 gamepad interface
note that it doesn't show up until initially used note that it doesn't show up until initially used
cleanup:
deglobalize where possible
lower and underscores throughout
exceptions?
tableize 6502?
Run this software, purge fake6502:
ProDOS
LodeRunner
ChopLifter
Digitizer
Plasmania
Christmas Carols
Data Capture //e
Contiki no network
Idiom Translator
Pascal - Brad's Disk
...?
apple2e -diskII diskII.c600.c67f.bin ~/Downloads/LodeRunner.dsk none apple2e.rom < /dev/null apple2e -diskII diskII.c600.c67f.bin ~/Downloads/LodeRunner.dsk none apple2e.rom < /dev/null
Actual ROM files that are in our Apple IIe, and run Brad's sound digitizer: Actual ROM files that are in our Apple IIe, and run Brad's sound digitizer: