migrated to ACME assembler

commit 145d64aa6e78838ed07cefed372f0ad6a4687e97
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 20:16:57 2020 +0200

    ACME adaptation

commit 885209d7822286744ea53232ae7461472a01d5d6
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 19:57:25 2020 +0200

    ACME adaptation

commit 334d84486bc603551887e7cbeb59d329f2224cc7
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 18:29:15 2020 +0200

    ACME adaptation

commit b5966f49bcd8f0ca79cbec93819a31238924707e
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 18:09:31 2020 +0200

    ACME adaptation

commit 786536a93a5eab5e676fca99625b4eb094a554e7
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 17:24:48 2020 +0200

    ACME adaptation

commit 704c70dfb1f5d68775d6f3da220803b8a3990f56
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 15:07:12 2020 +0200

    ACME adaptation

commit 136874964c9083b375f151475310f9636871fc72
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 14:45:14 2020 +0200

    ACME adaptation

commit 8eca0d5700b72d04336e72c5cd3a68e18b85f96d
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 14:06:52 2020 +0200

    ACME adaptation

commit 11d29eb7ee318239d782f85498b6d0524624d5c4
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 13:56:45 2020 +0200

    ACME apaptation

commit c9b5e5e04cceb92c66bc027e6440bc0f7c5a499f
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 13:49:04 2020 +0200

    ACME adaptation

commit f5cc254cbc921f07863807468cb3fe26b410b409
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 20 13:01:18 2020 +0200

    ACME adaptation

commit e135a27bf9c30cc0965379c954564e06406303b1
Author: FeralChild64 <you@example.com>
Date:   Sat Sep 19 21:55:01 2020 +0200

    ACME adaptation

commit e9dfddf90d9e2795e88b7da40ae050d733faeb56
Author: FeralChild64 <you@example.com>
Date:   Sat Sep 19 21:48:47 2020 +0200

    Makefile fix

commit 07030104c65cf5e5beeacf6d629ccb9245e58657
Author: FeralChild64 <you@example.com>
Date:   Sat Sep 19 21:42:00 2020 +0200

    ACME adaptation

commit f824362ee5bcfbffca86c430b57773b2ffd65655
Author: FeralChild64 <you@example.com>
Date:   Sat Sep 19 20:14:56 2020 +0200

    ACME adaptation

commit 3a3c59007dcd4940d89b8669f34ca56b61c25fdf
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 18 21:51:45 2020 +0200

    ACME adaptation

commit 6790ef7bc88a41de2881c69b7524dd4ab8c74b5d
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 18 20:35:23 2020 +0200

    ACME adaptation

commit 38ad18b90e9ec713aa7ca49576b3388ce1733357
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 18 18:46:20 2020 +0200

    ACME adaptation

commit 541340371122a9702f7b2d9771c298223cffd0e9
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 18 16:49:46 2020 +0200

    ACME adaptation

commit 25cfd5e186459be1a260d3eb8cfff767838de370
Author: FeralChild64 <you@example.com>
Date:   Thu Sep 17 20:13:33 2020 +0200

    ACME adaptation

commit f61599444d5b1d03d8fd8e4a6a7c3b85069bedb3
Author: FeralChild64 <you@example.com>
Date:   Thu Sep 17 19:29:23 2020 +0200

    ACME adaptation

commit b290be31ec7bb2e5723607697da1bbc621c84429
Author: FeralChild64 <you@example.com>
Date:   Thu Sep 17 17:20:14 2020 +0200

    ACME adaptation

commit 877be9e856880d98fd4bcb25b42aaaacda9dc463
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 16 21:47:38 2020 +0200

    ACME adaptation

commit bb20edaf85d386e41d5c2f715b745b68fbd3362e
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 16 21:31:30 2020 +0200

    ACME adaptation

commit c5d31bd8685abce37c8e254d15aac20bd1570d9f
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 16 18:40:49 2020 +0200

    ACME adaptation

commit 29349826b38f8a89649171559dc8cf24c560aff1
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 23:35:47 2020 +0200

    ACME adaptation

commit 8bcd6a621c4b11766d0cf34f79858ba90a67248e
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 22:52:25 2020 +0200

    ACME adaptation

commit e87a69edc2ce4bfcc460c31e08dcc352a985f88d
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 22:43:27 2020 +0200

    ACME adaptation

commit f49a097bd52e96d00b866c02bda7121e4543233c
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 19:02:07 2020 +0200

    ACME adaptation

commit fa0e9214a633b8e8f867cc70925b390940dcd426
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 17:47:19 2020 +0200

    ACME adaptation

commit 1b763b91e7a03e426227129c7f22f0ce57a4c197
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 17:17:10 2020 +0200

    ACME adaptation

commit e92a4b57b232cd85eb1e71090b8a89c7c8461ebc
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 17:15:37 2020 +0200

    ACME adaptation

commit de3c693e8a7e73ea5289198946058e3240894e6a
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 14 17:10:05 2020 +0200

    ACME adaptation

commit f9bd7ae0f04e932d613be9ed5cb19af9be5d338e
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 13 14:34:44 2020 +0200

    ACME adaptation

commit 694dee52555dbfc2b1f7f452a9671ff51106c057
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 13 14:16:14 2020 +0200

    ACME adaptation

commit 0af2c55edfcd22942d9f25417eb0d35f55b71604
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 11 17:38:09 2020 +0200

    ACME adaptation

commit 2015e17334bd56a1e8a13a5abc098d9c2e7ea44f
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 11 16:46:05 2020 +0200

    ACME adaptation

commit b1e972162798d60f4483cd6cc261e856c20c2c8c
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 11 16:24:31 2020 +0200

    ACME adaptation

commit 9d027e868466901ba53bf074a79ec8cf16273021
Author: FeralChild64 <you@example.com>
Date:   Fri Sep 11 15:04:31 2020 +0200

    ACME adaptation

commit 957186deddd1aa4f3b4f1aa1f421e4239a584e57
Author: FeralChild64 <you@example.com>
Date:   Thu Sep 10 22:49:07 2020 +0200

    ACME adaptation

commit b8060f67a455cfac109f08d96b62c360d693b931
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 23:07:28 2020 +0200

    ACME adaptation

commit e54d004568f44bbfe5c070ef1d7cf3544112e497
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 22:58:20 2020 +0200

    ACME adaptation

commit f90b77f073c5a605cb31c6ee451f65c8a8aff7d8
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 22:12:09 2020 +0200

    ACME adaptation

commit b211bb4afcd9c58fe1f5c92f3007717d611cd531
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 22:01:40 2020 +0200

    ACME adaptation

commit 8d7ea343b07e9e08e5f77f3c414758a6cffd0440
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 21:38:34 2020 +0200

    ACME adaptation

commit 46413eb0d92d6400aba0ff8dfe556e61e8a44d78
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 21:07:47 2020 +0200

    ACME adaptation

commit 9f98f69ecc21f7b74a5eb89e247f5a2c6fcb655d
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 20:05:03 2020 +0200

    ACME adaptation

commit 7bb9f1cadc682c7e0a4a6796739d860d473ca110
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 19:55:12 2020 +0200

    ACME adaptation

commit 5fc115392b5bdca6b56f67ad866b1884d2d2bdf8
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 19:31:10 2020 +0200

    ACME adaptation

commit b7940fc60e568d859df9e3156f6bacc6d685b2cc
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 19:16:09 2020 +0200

    ACME adaptation

commit 56288cb97197561afa0816b29c134ec1190e8eab
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 18:48:23 2020 +0200

    ACME adaptation

commit 10401a60fc7922a53d782120ef6795d889140218
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 16:34:16 2020 +0200

    ACME adaptation

commit 8ce76e4d2b56837a691ae84b1a412a2ae32a157b
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 16:20:44 2020 +0200

    ACME adaptation

commit 33fade899fa6172ea6b5b5f6683bb61f544429fd
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 15:28:46 2020 +0200

    ACME adaptation

commit a416f04734402fcfbc57a933731376df2e0180a1
Author: FeralChild64 <you@example.com>
Date:   Wed Sep 9 12:40:03 2020 +0200

    ACME adaptation

commit f8daee005b1d29f6912723be2ac94bc5fbeb0508
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 7 23:29:54 2020 +0200

    ACME adaptation

commit 83fe6bdd0b08a44fdbfc6eefe323a4b194ccaf5b
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 7 22:23:16 2020 +0200

    ACME adaptation

commit cb1f75620b9c83000a15c9c7f7acefdfee79a979
Author: FeralChild64 <you@example.com>
Date:   Mon Sep 7 19:23:12 2020 +0200

    ACME adaptation

commit e524d517c933ae1f0aeb49764d307fadb4845025
Author: FeralChild64 <you@example.com>
Date:   Sun Sep 6 08:24:25 2020 +0200

    ACME adaptation - replaced comments

commit 2ab572c3a21f4a78a7312d0e684bc11d91d1717a
Author: FeralChild64 <you@example.com>
Date:   Sat Sep 5 17:59:10 2020 +0200

    ACME adaptation - replaced the assembler
This commit is contained in:
FeralChild64 committed 2020-09-20 20:22:36 +02:00
1 parent bfc8291e41
commit c8d255130c
685 files changed
+15835 -16296

No files matched your search

+99 -109
View File
@@ -1,18 +1,18 @@
// #LAYOUT# STD * #TAKE
// #LAYOUT# M65 KERNAL_1 #TAKE
// #LAYOUT# * * #IGNORE
;; #LAYOUT# STD * #TAKE
;; #LAYOUT# M65 KERNAL_1 #TAKE
;; #LAYOUT# * * #IGNORE
//
// Common routines for tape support
//
;
; Common routines for tape support
;
#if CONFIG_TAPE_NORMAL || CONFIG_TAPE_TURBO
!ifdef HAS_TAPE {
//
// Loading terminated by user
//
;
; Loading terminated by user
;
tape_break_error:
@@ -22,31 +22,30 @@ tape_break_error:
jmp kernalerror_ROUTINE_TERMINATED
//
// Ask user to press PLAY on tape deck,
// Unless user cancelled loading, blank screen and start motor
//
;
; Ask user to press PLAY on tape deck,
; Unless user cancelled loading, blank screen and start motor
;
tape_ask_play:
#if !CONFIG_TAPE_NO_KEY_SENSE
!ifndef CONFIG_TAPE_NO_KEY_SENSE {
// First check whether the button is already pressed
; First check whether the button is already pressed
lda CPU_R6510
and #$10
beq tape_wait_play_done
}
#endif
// Display message
; Display message
ldx #__MSG_KERNAL_PRESS_PLAY
jsr print_kernal_message
// FALLTROUGH
; FALLTROUGH
#if !CONFIG_TAPE_NO_KEY_SENSE
!ifndef CONFIG_TAPE_NO_KEY_SENSE {
tape_wait_play_loop:
@@ -54,122 +53,118 @@ tape_wait_play_loop:
bcs tape_break_error
lda CPU_R6510
and #$10 // check for pressed button
and #$10 ; check for pressed button
bne tape_wait_play_loop
// FALLTROUGH
; FALLTROUGH
#else
} else {
// The ROM is configured for tape adapter without the key sense - but it is still
// possible, that regular Datasette or Tapuino is connected
; The ROM is configured for tape adapter without the key sense - but it is still
; possible, that regular Datasette or Tapuino is connected
lda CPU_R6510
and #$10
beq tape_wait_first_pulse // branch if button reported pressed, most likely really no key sense
beq tape_wait_first_pulse ; branch if button reported pressed, most likely really no key sense
// We have key sense - perform regular waiting
!:
; We have key sense - perform regular waiting
@1:
jsr STOP
bcs tape_break_error
lda CPU_R6510
and #$10
beq !-
beq @1
tape_wait_first_pulse:
// We have no key sense - so just turn the motor on and wait for the first pulse
; We have no key sense - so just turn the motor on and wait for the first pulse
jsr tape_motor_on
!:
@2:
jsr STOP
bcs tape_break_error
lda #$10
bit CIA1_ICR // $DC0D
bne !-
!:
bit CIA1_ICR ; $DC0D
bne @2
@3:
jsr STOP
bcs tape_break_error
lda #$10
bit CIA1_ICR // $DC0D
beq !-
bit CIA1_ICR ; $DC0D
beq @3
}
#endif
// FALLTROUGH
; FALLTROUGH
tape_wait_play_done:
lda #$01
sta CAS1 // set the interlock
sta CAS1 ; set the interlock
#if CONFIG_TAPE_HEAD_ALIGN
!ifdef CONFIG_TAPE_HEAD_ALIGN {
rts
tape_prepare_reading:
#endif // CONFIG_TAPE_HEAD_ALIGN
} ; CONFIG_TAPE_HEAD_ALIGN
#if CONFIG_MB_MEGA_65
!ifdef CONFIG_MB_M65 {
// Display confirmation
; Display confirmation
ldx #__MSG_KERNAL_OK_SEARCHING
jsr print_kernal_message
}
#endif
// Prepare for reading
; Prepare for reading
jsr print_return
jmp tape_screen_off_motor_on
//
// Handle file header - display it, decide whether load the file or not, etc.
//
;
; Handle file header - display it, decide whether load the file or not, etc.
;
tape_handle_header:
#if !CONFIG_TAPE_NO_MOTOR_CONTROL
!ifndef CONFIG_TAPE_NO_MOTOR_CONTROL {
jsr tape_screen_on_motor_off
}
#endif
// Print FOUND + file name
; Print FOUND + file name
ldx #__MSG_KERNAL_FOUND
jsr print_kernal_message
ldy #$05
!:
@4:
lda (TAPE1), y
jsr JCHROUT
iny
cpy #$15
bne !-
bne @4
#if !CONFIG_TAPE_NO_MOTOR_CONTROL
!ifndef CONFIG_TAPE_NO_MOTOR_CONTROL {
// Header, wait for user decision
; Header, wait for user decision
jsr tape_header_get_decision
bcs tape_break_error
}
#endif
// Check if file name matches
; Check if file name matches
jsr tape_match_filename
bcs tape_handle_header_skip
// Setup STAL and EAL
; Setup STAL and EAL
ldy #$01
lda (TAPE1), y
@@ -187,12 +182,12 @@ tape_handle_header:
lda (TAPE1), y
sta EAL+1
// Handle the secondary address, 0 means loading to location from MEMUSS
; Handle the secondary address, 0 means loading to location from MEMUSS
lda SA
bne !+
bne @5
// EAL = EAL - STAL
; EAL = EAL - STAL
sec
lda EAL+0
@@ -202,14 +197,14 @@ tape_handle_header:
sbc STAL+1
sta EAL+1
// STAL = MEMUSS
; STAL = MEMUSS
lda MEMUSS+0
sta STAL+0
lda MEMUSS+1
sta STAL+1
// EAL = EAL + STAL
; EAL = EAL + STAL
clc
lda EAL+0
@@ -218,36 +213,34 @@ tape_handle_header:
lda EAL+1
adc STAL+1
sta EAL+1
!:
// Setup MEMUSS (see Mapping the C64, page 36)
@5:
; Setup MEMUSS (see Mapping the C64, page 36)
jsr lvs_STAL_to_MEMUSS
#if ROM_LAYOUT_M65
!ifdef CONFIG_MB_M65 {
// Switch to legacy mode if needed
; Switch to legacy mode if needed
jsr m65_load_autoswitch_tape
}
#endif
// Print LOADING and start address
; Print LOADING and start address
jsr lvs_display_loading_verifying
// FALLTROUGH
; FALLTROUGH
#if !CONFIG_TAPE_NO_MOTOR_CONTROL
!ifndef CONFIG_TAPE_NO_MOTOR_CONTROL {
tape_handle_header_displayed:
// Load the file
; Load the file
jsr tape_screen_off_motor_on
// FALLTROUGH
#endif
; FALLTROUGH
}
tape_return_ok:
@@ -256,12 +249,12 @@ tape_return_ok:
tape_handle_header_skip:
// Skip this file
; Skip this file
jsr print_return
jsr tape_screen_off_motor_on
// FALLTROUGH
; FALLTROUGH
tape_return_not_ok:
@@ -269,24 +262,24 @@ tape_return_not_ok:
rts
//
// Check whether file name matches the pattern
//
;
; Check whether file name matches the pattern
;
tape_match_filename:
lda FNLEN
beq tape_return_ok // no pattern to match
beq tape_return_ok ; no pattern to match
ldy #$00
tape_match_loop:
lda #$20 // default byte, for padding
lda #$20 ; default byte, for padding
cpy FNLEN
bcs !+ // end of pattern
lda (FNADDR), y // byte from pattern
!:
bcs @6 ; end of pattern
lda (FNADDR), y ; byte from pattern
@6:
cmp #KEY_ASTERISK
beq tape_return_ok
@@ -311,31 +304,31 @@ tape_match_loop:
rts
#if !CONFIG_TAPE_NO_MOTOR_CONTROL
!ifndef CONFIG_TAPE_NO_MOTOR_CONTROL {
//
// Get user decision whether to load the file or not
//
;
; Get user decision whether to load the file or not
;
tape_header_get_decision:
ldy #$00
!:
@7:
jsr udtim_keyboard
lda STKEY
bpl tape_header_wait_stop // STOP pressed
bpl tape_header_wait_stop ; STOP pressed
and #$10
beq tape_header_wait_space // SPACE pressed
beq tape_header_wait_space ; SPACE pressed
ldx #$80
jsr wait_x_bars // sets .X to 0
jsr wait_x_bars ; sets .X to 0
dex
jsr wait_x_bars
dey
bne !-
bne @7
// FALLTROUGH - timeout
; FALLTROUGH - timeout
tape_header_wait_space:
@@ -346,13 +339,12 @@ tape_header_wait_stop:
sec
rts
#endif
}
//
// Report that file loading succeeded (or not)
//
;
; Report that file loading succeeded (or not)
;
tape_load_success:
@@ -364,6 +356,4 @@ tape_load_error:
jsr tape_screen_on_motor_off
jmp lvs_load_verify_error
#endif
}