branches/alto2/src/emu/cpu/alto2/a2disk.c
| r26190 | r26191 | |
| 10 | 10 | #include "alto2.h" |
| 11 | 11 | |
| 12 | 12 | |
| 13 | | #define JKFF_FUNCTION 1 //!< define 1 to debug the JK flip-flops, 0 to use a lookup table |
| 13 | #define JKFF_FUNCTION 0 //!< define 1 to debug the JK flip-flops, 0 to use a lookup table |
| 14 | 14 | |
| 15 | 15 | #define GET_KADDR_SECTOR(kaddr) A2_GET16(kaddr,16, 0, 3) //!< get sector number from address register |
| 16 | 16 | #define PUT_KADDR_SECTOR(kaddr,val) A2_PUT16(kaddr,16, 0, 3,val) //!< put sector number into address register |
| r26190 | r26191 | |
| 1533 | 1533 | * the monoflop 52b external resistor and capacitor. |
| 1534 | 1534 | * |
| 1535 | 1535 | * The drive compares the cylinder number that is presented on |
| 1536 | | * it's inputs against the current cylinder, and if they don't |
| 1536 | * its inputs against the current cylinder, and if they don't |
| 1537 | 1537 | * match steps into the corresponding direction. |
| 1538 | 1538 | * |
| 1539 | 1539 | * On the falling edge of a strobe, the drive sets the log_addx_interlock |
| r26190 | r26191 | |
| 2320 | 2320 | #else |
| 2321 | 2321 | // TODO: verify current sector == requested sector and only then run the bitclk? |
| 2322 | 2322 | // HACK: no command, no bit clock |
| 2323 | | // if (debug_read_mem(0521)) |
| 2323 | if (debug_read_mem(0521)) |
| 2324 | 2324 | { |
| 2325 | 2325 | // Make the CPU execution loop call disk_bitclk |
| 2326 | 2326 | m_bitclk_time = 0; |
| r26190 | r26191 | |
| 2370 | 2370 | m_dsk.seclate = 0; |
| 2371 | 2371 | m_dsk.ok_to_run = 0; |
| 2372 | 2372 | |
| 2373 | m_dsk.kcom = 066000; |
| 2374 | |
| 2373 | 2375 | #if USE_BITCLK_TIMER |
| 2374 | 2376 | m_dsk.bitclk_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(alto2_cpu_device::disk_bitclk),this)); |
| 2375 | 2377 | #endif |